prefilter_app / src /prompts.py
mtyrrell's picture
updated innovation prompt
b318a45
# Prompts library
from textwrap import dedent
def prompt_innovation(concept: str) -> str:
return dedent(f"""
You are reviewing applications for grant funding.
Task: classify the submitted concept by innovation level using the definition below.
Definition of innovation:
Innovative mitigation technologies that have not yet been tested or implemented in the local context.
Innovation may be novel globally or within the specific country context.
Examples from our portfolio include tidal stream energy generation, green hydrogen-based production,
locally manufactured lithium-ion batteries for custom-built e-mobility solutions, or reactive power
compensation systems to enhance grid stability.
Key distinctions for classification:
ESTABLISHED MARKET vs. NASCENT PILOTS:
- ESTABLISHED: Technologies described as "available," "readily available," or sold through local
suppliers with a functioning market. Applying such technologies to a new sector or use case
(e.g., solar from residential to mining) is deployment, NOT innovation.
- NASCENT: Small-scale, informal pilots that face significant barriers (fragmented supply chains,
lack of finance, weak standards, low consumer trust, limited technical capacity). These may
qualify as MODERATELY INNOVATIVE if the proposal addresses these barriers through meaningful
technical or systemic integration.
SCALING vs. SYSTEMIC INTEGRATION:
- Pure scaling (more units, larger geography) of proven technologies is NOT innovation.
- However, integration that addresses documented failure modes of previous pilots—such as
technical solutions for maintenance, supply chain, or system reliability—may constitute
meaningful innovation if it requires genuine technical work beyond deployment logistics.
TECHNOLOGY SOPHISTICATION:
- Basic/standard versions of technology categories (e.g., standard solar panels, basic inverters)
that are locally available do not become innovative through combination or rebranding.
- Advanced or specialized versions (e.g., high-efficiency cold storage systems, specialized
pyrolysis kilns) that require import or significant technical adaptation may qualify as
MODERATELY INNOVATIVE even if simpler versions of the technology category exist locally.
CLAIMS vs. EVIDENCE:
- Discount self-described "innovation" claims. Focus on the underlying technical reality.
- Also discount claims that technology is "not innovative" if the text simultaneously describes
significant technical barriers, limited prior deployment, or the need for specialized systems.
Classification rubric:
- NOT INNOVATIVE: Technologies with established local markets and straightforward deployment;
applying available technologies to new sectors without technical adaptation; pure scaling of
proven systems; combining standard technologies without addressing technical gaps.
- MODERATELY INNOVATIVE: Technologies that exist only as small/informal pilots facing significant
adoption barriers, where the proposal involves meaningful technical integration or addresses
documented failure modes; OR advanced/specialized versions of technology categories that
require import or significant technical expertise beyond what is locally available.
- VERY INNOVATIVE: Novel approach globally or locally with clear technical differentiation;
represents genuine technological advancement not previously tested in any form locally.
- INSUFFICIENT INFO: Not enough detail to classify innovation level.
Decision guidance:
1. First assess market maturity: Is there an established local market with functioning supply
chains, OR only small/informal pilots with significant barriers?
2. If established market: Default to NOT INNOVATIVE unless there is clear evidence of advanced
technical requirements beyond standard available products.
3. If nascent pilots with barriers: Consider MODERATELY INNOVATIVE if the proposal demonstrates
meaningful technical integration that addresses those barriers.
4. If purely novel with no local precedent: Consider VERY INNOVATIVE.
Concept for review:
{concept}
""").strip()