From 827b1961cc8327166d387795da547b5f54a690d2 Mon Sep 17 00:00:00 2001 From: Raymond Weitekamp Date: Wed, 13 May 2026 17:00:58 -0400 Subject: [PATCH 1/4] Squashed 'skills/open-prose/examples/grant-radar/' content from commit 1dea93c git-subtree-dir: skills/open-prose/examples/grant-radar git-subtree-split: 1dea93ce7bb73bdc9076a77a1cd7ba9b33b436be --- MIRROR.md | 35 ++ README.md | 204 +++++++++ fixtures/cypris.brief.txt | 36 ++ fixtures/enact-lab.brief.txt | 35 ++ fixtures/polyspectra.brief.txt | 33 ++ sample-outputs/README.md | 66 +++ sample-outputs/cypris/01-startup_brief.md | 18 + .../cypris/02-research_assignment.md | 44 ++ sample-outputs/cypris/03-research_packet.md | 398 +++++++++++++++++ .../cypris/04-ranked_recommendations.md | 71 ++++ .../cypris/05-top_pick_explanations.md | 277 ++++++++++++ sample-outputs/cypris/06-markdown_report.md | 133 ++++++ sample-outputs/enact-lab/01-startup_brief.md | 34 ++ .../enact-lab/02-research_assignment.md | 42 ++ .../enact-lab/03-research_packet.md | 398 +++++++++++++++++ .../enact-lab/04-ranked_recommendations.md | 76 ++++ .../enact-lab/05-top_pick_explanations.md | 277 ++++++++++++ .../enact-lab/06-markdown_report.md | 136 ++++++ .../polyspectra/01-startup_brief.md | 33 ++ .../polyspectra/02-research_assignment.md | 43 ++ .../polyspectra/03-research_packet.md | 400 ++++++++++++++++++ .../polyspectra/04-ranked_recommendations.md | 66 +++ .../polyspectra/05-top_pick_explanations.md | 218 ++++++++++ .../polyspectra/06-markdown_report.md | 115 +++++ src/explain-top-picks.prose.md | 59 +++ src/format-report.prose.md | 74 ++++ src/grant-radar.prose.md | 215 ++++++++++ src/rank-opportunities.prose.md | 94 ++++ src/resolve-assignment.prose.md | 64 +++ src/run-research.prose.md | 70 +++ 30 files changed, 3764 insertions(+) create mode 100644 MIRROR.md create mode 100644 README.md create mode 100644 fixtures/cypris.brief.txt create mode 100644 fixtures/enact-lab.brief.txt create mode 100644 fixtures/polyspectra.brief.txt create mode 100644 sample-outputs/README.md create mode 100644 sample-outputs/cypris/01-startup_brief.md create mode 100644 sample-outputs/cypris/02-research_assignment.md create mode 100644 sample-outputs/cypris/03-research_packet.md create mode 100644 sample-outputs/cypris/04-ranked_recommendations.md create mode 100644 sample-outputs/cypris/05-top_pick_explanations.md create mode 100644 sample-outputs/cypris/06-markdown_report.md create mode 100644 sample-outputs/enact-lab/01-startup_brief.md create mode 100644 sample-outputs/enact-lab/02-research_assignment.md create mode 100644 sample-outputs/enact-lab/03-research_packet.md create mode 100644 sample-outputs/enact-lab/04-ranked_recommendations.md create mode 100644 sample-outputs/enact-lab/05-top_pick_explanations.md create mode 100644 sample-outputs/enact-lab/06-markdown_report.md create mode 100644 sample-outputs/polyspectra/01-startup_brief.md create mode 100644 sample-outputs/polyspectra/02-research_assignment.md create mode 100644 sample-outputs/polyspectra/03-research_packet.md create mode 100644 sample-outputs/polyspectra/04-ranked_recommendations.md create mode 100644 sample-outputs/polyspectra/05-top_pick_explanations.md create mode 100644 sample-outputs/polyspectra/06-markdown_report.md create mode 100644 src/explain-top-picks.prose.md create mode 100644 src/format-report.prose.md create mode 100644 src/grant-radar.prose.md create mode 100644 src/rank-opportunities.prose.md create mode 100644 src/resolve-assignment.prose.md create mode 100644 src/run-research.prose.md diff --git a/MIRROR.md b/MIRROR.md new file mode 100644 index 00000000..38825c31 --- /dev/null +++ b/MIRROR.md @@ -0,0 +1,35 @@ +# Mirror Notes + +Canonical source: +https://github.com/openprose/grant-finder/tree/main/examples/openprose + +Public mirror: +https://github.com/openprose/prose/tree/main/skills/open-prose/examples/grant-radar + +This directory is mirrored into `openprose/prose` with `git subtree` from the +`openprose/grant-finder` `examples-mirror` branch. Edit the canonical source in +`openprose/grant-finder/examples/openprose/`, then refresh the split branch and +open a downstream pull request in `openprose/prose`. + +Keep files in this directory portable: + +- Use relative links only for files that live inside this directory. +- Use canonical `https://github.com/openprose/grant-finder/...` links for + schemas, CLI source, host-harness skills, ADRs, or other files outside this + directory. +- Write run commands from this example directory, not from a repository root. + +Maintainer refresh from `openprose/grant-finder`: + +```bash +git branch -D examples-mirror 2>/dev/null +git subtree split --prefix=examples/openprose -b examples-mirror +safe-push origin examples-mirror --force-with-lease +``` + +Downstream refresh in `openprose/prose`: + +```bash +git subtree pull --prefix=skills/open-prose/examples/grant-radar \ + https://github.com/openprose/grant-finder examples-mirror --squash +``` diff --git a/README.md b/README.md new file mode 100644 index 00000000..d62c91a1 --- /dev/null +++ b/README.md @@ -0,0 +1,204 @@ +# Grant Radar — OpenProse example + +Type a paragraph describing your research lab, startup, or technical project; +get back a ranked markdown report of matching non-dilutive funding +opportunities, with sources cited. + +**No API keys.** Runs on free public data via the `grant-finder` CLI. The +only LLM cost is whatever your own Prose VM agent uses to translate the brief +and format the report. + +## Try it + +The example ships with a real sample brief — for polySpectra, an industrial +3D printing materials company — at `fixtures/polyspectra.brief.txt`: + +Open this example directory first. In `openprose/grant-finder`, that is: + +```bash +cd examples/openprose +``` + +In the `openprose/prose` mirror, that is: + +```bash +cd skills/open-prose/examples/grant-radar +``` + +Then run: + +```bash +prose run src/grant-radar.prose.md \ + --startup_brief "$(cat fixtures/polyspectra.brief.txt)" +``` + +Or pass your own brief. The input flag is still named `startup_brief` for +compatibility with the first example, but the text can describe a research lab, +PI-led team, nonprofit research group, or technical project. The ENACT fixture +in this repo is an academic psychiatry lab at Yale: + +```bash +prose run src/grant-radar.prose.md \ + --startup_brief "A U.S. research lab, nonprofit research group, startup, or technical team working on . + Looking for non-dilutive R&D funding to . + Focus areas: ." +``` + +Want Claude Code or Codex to install and run this for you? Use the +copy-paste prompt in +[`docs/run-with-coding-agent.md`](https://github.com/openprose/grant-finder/blob/main/docs/run-with-coding-agent.md). + +You get back five bindings: + +- `research_assignment` — schema-valid JSON, reusable for follow-up runs +- `research_packet` — the deterministic CLI output (candidate grants, evidence, + coverage) +- `ranked_recommendations` — agent-reviewed recommendations and rejected weak + candidates +- `top_pick_explanations` — per-selected-recommendation evidence and provenance +- `markdown_report` — human-readable summary for the founder, PI, operator, or + project lead, formatted as markdown + +## What it does + +``` +startup_brief (paragraph about a lab, startup, or project) + │ + ▼ +resolve-assignment ← brief → schema-valid Research Assignment JSON + │ + ▼ +run-research ← `grant-finder research --assignment -` (subprocess) + │ + ▼ +rank-opportunities ← agent reviews candidates against assignment constraints + │ + ▼ +explain-top-picks ← `grant-finder explain ` for selected grants + │ + ▼ +format-report ← assignment + packet + ranking + explanations → markdown + │ + ▼ +research_packet + ranked_recommendations + top_pick_explanations + markdown_report +``` + +## Prerequisites + +Two-step install — both are required for this example to wire cleanly. The +`grant-finder` CLI and host-harness skill live in the +[`openprose/grant-finder`](https://github.com/openprose/grant-finder) repo even +when you are reading this mirrored example inside `openprose/prose`. The skill +install step is intentionally update-safe because a stale installed skill can +make an agent follow old instructions. + +```bash +# 1. Clone or update the grant-finder source, then build the CLI. +GF_SRC="${GF_SRC:-$HOME/src/grant-finder}" +mkdir -p "$(dirname "$GF_SRC")" +if [ -d "$GF_SRC/.git" ]; then + git -C "$GF_SRC" pull --ff-only +else + git clone https://github.com/openprose/grant-finder.git "$GF_SRC" +fi +cd "$GF_SRC" +mkdir -p "$HOME/.local/bin" +(cd cli/grant-finder && go build -o "$HOME/.local/bin/grant-finder" ./cmd/grant-finder) +"$HOME/.local/bin/grant-finder" version + +# 2. Install or refresh the host-harness skill for your agent harness. +install_skill_link() { + skills_dir="$1" + target="$skills_dir/grant-finder" + mkdir -p "$skills_dir" + if [ -e "$target" ] && [ ! -L "$target" ]; then + echo "Existing non-symlink skill path: $target" + echo "Leaving it untouched. Move it yourself if you want this repo's skill." + return 1 + fi + ln -sfn "$PWD/skills/grant-finder" "$target" +} + +install_skill_link "$HOME/.claude/skills" # Claude Code +install_skill_link "$HOME/.codex/skills" # Codex +install_skill_link "$HOME/.agents/skills" # Gemini / other harnesses +``` + +The skill is wired into the OpenProse system via `### Skills: - grant-finder`. +Forme refuses to wire the system if the skill is not installed (fail-closed +via `skill_unresolved`) — so missing the skill produces a clear error at +wiring time, not a half-run failure in the middle of `run-research`. + +Optional: `usearch` on `PATH` enables faster semantic retrieval; without it, +the CLI falls back to SQLite FTS5 automatically. + +### Sandbox invocation + +`prose run` uses the codex-sdk harness by default, which sandboxes the +spawned agent to read-only `$HOME` and blocks outbound network. The CLI +needs both: it writes a SQLite ledger at `~/.local/share/grant-finder/` +and fetches from Grants.gov, the Federal Register, configured RSS feeds, and +configured public source pages. Pick one of the invocations below depending on +your prose version. + +**Granular (recommended once your prose CLI supports the env passthrough):** + +```bash +PROSE_CODEX_SANDBOX_MODE=workspace-write \ +PROSE_CODEX_APPROVAL_POLICY=never \ +PROSE_CODEX_ADD_DIR=$HOME/.local/share/grant-finder \ +PROSE_CODEX_NETWORK=true \ +GRANT_FINDER_BIN=$HOME/.local/bin/grant-finder \ +prose run src/grant-radar.prose.md \ + --startup_brief "$(cat fixtures/polyspectra.brief.txt)" +``` + +**Fallback (works on any prose version, including 0.13.1):** + +```bash +PROSE_CODEX_SANDBOX_MODE=danger-full-access \ +PROSE_CODEX_APPROVAL_POLICY=never \ +GRANT_FINDER_BIN=$HOME/.local/bin/grant-finder \ +prose run src/grant-radar.prose.md \ + --startup_brief "$(cat fixtures/polyspectra.brief.txt)" +``` + +The granular form is strictly less broad — it grants only the specific +filesystem path and outbound network access this system declares in its +`### Environment` block. The system file documents the full permission +shape (filesystem.write, network.outbound, exec); Forme does not yet +enforce that schema, but the documentation is forward-compatible. + +## Environment + +- `GRANT_FINDER_BIN` — optional override for the `grant-finder` executable + path. Defaults to whatever resolves on `PATH`. +- `GRANT_FINDER_DB` — optional persistent SQLite ledger path. Sharing the + ledger across runs makes subsequent research packets faster and surfaces + changes between runs. + +## How it's structured + +The example demonstrates the OSS-as-give-away pattern: the OSS path is the +whole thing, self-runnable. The `grant-finder` CLI does the deterministic +work (ledger, dedupe, FTS5/usearch retrieval, source-lane coverage); the +OpenProse system handles the agent-side translation between human brief and +structured assignment, reviews candidate fit, and formats the report at the +end. LLM work is bounded to `resolve-assignment`, `rank-opportunities`, and +`format-report`. The CLI remains deterministic and never calls an LLM. + +For the architectural rationale (and the load-bearing constraints behind each +service's `### Shape.prohibited` list) see +[`openprose/grant-finder/AGENTS.md`](https://github.com/openprose/grant-finder/blob/main/AGENTS.md). + +## Hosted version + +The OpenProse team operates a hosted version of this exact flow under the +name *Grant Radar*. The hosted service handles source freshness, ingestion +scheduling, monitoring, and reliability so founders, researchers, and operators +never have to look at the substrate. The OSS version in this repo is the same +idea — just operated by you instead of us. See . + +## License + +Same as the upstream `openprose/grant-finder` repository: MIT. diff --git a/fixtures/cypris.brief.txt b/fixtures/cypris.brief.txt new file mode 100644 index 00000000..e18cb3cc --- /dev/null +++ b/fixtures/cypris.brief.txt @@ -0,0 +1,36 @@ +Cypris Materials is a US small business developing structural color coatings — +paints and inks that generate color through self-assembled polymer +nanostructures instead of pigments, dyes, metals, or PCBs. Our platform +produces tunable, sustainable colorants as drop-in formulations for industrial +printing, automotive, cosmetics, and general coatings markets. We sell to +formulators and brand owners, not directly to consumers. + +We are a small business looking for non-dilutive R&D funding to: + +- advance scalable green-chemistry manufacturing of our structural-color + polymers +- broaden formulations into water-based and UV-curable paint/ink systems +- support qualification for industrial printing, automotive, and coatings + applications, including dual-use lanes where photonic coatings overlap with + defense-relevant optics + +Technical focus: advanced materials, sustainable/green chemistry, photonic +and structural-color coatings, bio-inspired polymers, industrial manufacturing +R&D. Dual-use applications are in scope where the underlying photonic +materials science transfers. Berkeley, California — eligible for state energy +and CalSEED programs in addition to federal SBIR/STTR. + +We want to focus on grants we can realistically win and execute. Conservative +on eligibility. Prefer programs without matching-fund requirements; will +consider those if program fit is strong. Do not recommend grants on the +known-grants list (the upstream agent supplies that list; this example +fixture leaves it empty). + +--- + +Sources for the public-info facts in this brief: +cyprismaterials.com (homepage + technology pages); +calseed.fund/awardee/cypris-materials; EPA NCER abstract 11249 ("Color +Without Pigments, Dyes, Metals, or PCBs"); UV+EB Technology magazine 2024 +feature; CBInsights public company profile. + diff --git a/fixtures/enact-lab.brief.txt b/fixtures/enact-lab.brief.txt new file mode 100644 index 00000000..55704b46 --- /dev/null +++ b/fixtures/enact-lab.brief.txt @@ -0,0 +1,35 @@ +ENACT Lab is an academic research laboratory at Yale School of Medicine, +Department of Psychiatry, and the founding lab of the Yale Program for +Psychedelic Science (YPPS). We run clinical and translational neuroscience +studies on psychedelic compounds — psilocybin, MDMA, ketamine, and related +molecules — as candidate treatments for treatment-resistant psychiatric +conditions, with active programs in OCD, PTSD, and depression. We are based +in New Haven, Connecticut, and led by Dr. Benjamin Kelmendi (Assistant +Professor of Psychiatry; YPPS Co-Director). + +We are an academic lab seeking non-dilutive federal and foundation research +funding to: + +- extend mechanism-of-action work (fMRI, MRS, EEG, neurocognitive) on + psychedelics in psychiatric disorders +- support investigator-initiated clinical trials in OCD, PTSD, and depression +- fund fellow and trainee positions in psychedelic medicine + +Technical focus: psychiatry, clinical neuroscience, psychedelic pharmacology, +treatment-resistant mood/anxiety/OCD/PTSD. Connecticut-based academic site +eligible for NIH (NIMH, NIDA, NCCIH), PCORI, ARPA-H, DoD CDMRP PTSD/PRMRP, +and Connecticut state research programs. We are an academic group — SBIR/STTR +is not the right vehicle for us. + +We prefer grants we can realistically win as an academic lab and that pay for +investigators, trainees, and clinical-trial infrastructure. Do not recommend +grants on the known-grants list (the upstream agent supplies that list; this +example fixture leaves it empty). + +--- + +Sources for the public-info facts in this brief: +enactresearch.com (about + team pages); enact-lab.com; +medicine.yale.edu profile pages for the Yale Program for Psychedelic Science +and Dr. Benjamin Kelmendi; public Yale Bioimaging trial pages. + diff --git a/fixtures/polyspectra.brief.txt b/fixtures/polyspectra.brief.txt new file mode 100644 index 00000000..f4723826 --- /dev/null +++ b/fixtures/polyspectra.brief.txt @@ -0,0 +1,33 @@ +polySpectra is a US small business making COR (Cyclic Olefin Resin) rugged +photopolymer resins for industrial 3D printing. Our materials let +manufacturing engineers print durable, heat-resistant, chemically-resistant +end-use parts on standard DLP and LCD resin printers. We sell to engineers +in industrial, manufacturing, and laboratory facilities — not to consumers. + +We are a small business looking for non-dilutive R&D funding to: + +- expand the COR resin product line (new chemistries, application-specific + formulations) +- accelerate technical adoption with industrial customers +- support qualification work for advanced manufacturing, aerospace, defense, + and energy applications where rugged photopolymer parts compete with + injection-molded thermoplastics + +Technical focus: advanced materials, additive manufacturing, photopolymer +chemistry, manufacturing R&D. Dual-use applications are in scope where the +underlying material science is the same. US-based, no preference about +defense-specific work but open to it. + +We want to focus on grants we can actually win and ship work against. +Conservative on eligibility. Prefer programs without matching-fund +requirements if possible; will consider those if the program fit is strong. + +Do not recommend grants on the known-grants list (the upstream agent supplies +that list; this example fixture leaves it empty). + +--- + +Sources for the public-info facts in this brief: +polyspectra.com (homepage + COR Alpha product pages); shop.polyspectra.com; +public press on Tethon & polySpectra ThOR-10 launch at RAPID 2025. + diff --git a/sample-outputs/README.md b/sample-outputs/README.md new file mode 100644 index 00000000..82524f57 --- /dev/null +++ b/sample-outputs/README.md @@ -0,0 +1,66 @@ +# Sample outputs + +Real outputs from running `grant-radar` against the three example briefs. +Captured 2026-05-13 against live Grants.gov, Federal Register, public agency +RSS sources, and configured public source pages. + +Each example directory contains the six bindings in execution order: + +``` +01-startup_brief.md # the human-language brief (caller input; legacy binding name) +02-research_assignment.md # resolved Research Assignment JSON +03-research_packet.md # deterministic grant-finder candidate packet +04-ranked_recommendations.md # agent review: selected + rejected candidates +05-top_pick_explanations.md # per-selected-candidate evidence + provenance +06-markdown_report.md # final human-readable report +``` + +## What to look at first + +**For each example, open `06-markdown_report.md`** — that's the human-readable +artifact at the end of the chain. The other files are structured intermediate +bindings. + +## The three examples + +| Example | Brief | Outcome | +|---|---|---| +| [`polyspectra/`](./polyspectra/) | US small business making rugged photopolymer resins for industrial 3D printing | NSF Seed Fund manufacturing/materials, America Makes, and NASA materials leads surface; broad defense/energy records are rejected | +| [`cypris/`](./cypris/) | Berkeley-based advanced materials company developing structural color coatings | NSF Seed Fund photonics, chemical technologies, advanced materials, and EPA SBIR surface; false structural-biology/manufacturing matches are rejected | +| [`enact-lab/`](./enact-lab/) | Yale academic clinical psychiatry lab studying psychedelics | NIH psilocybin highlighted topic, NIH PAR mechanisms, and CDMRP watch lane surface; SBIR/STTR remains rejected | + +## The boundary this sample demonstrates + +The CLI output is a deterministic candidate packet, not the final judgment. +`rank-opportunities.prose.md` reads the full assignment, rejects weak +or contraindicated candidates, and may publish `no_good_matches: true`. That is +intentional: the agent has the context needed to make the recommendation call. + +## All three runs proved `no_llm: true` + +Every `research_packet.md` and every record in `top_pick_explanations.md` +carries `no_llm: true`. The drift guard in `run-research.prose.md` and +`explain-top-picks.prose.md` would have rejected any record that didn't. + +## Reproducing these outputs + +```bash +# Recommended (granular sandbox, requires patched prose CLI): +PROSE_CODEX_SANDBOX_MODE=workspace-write \ +PROSE_CODEX_APPROVAL_POLICY=never \ +PROSE_CODEX_ADD_DIR=$HOME/.local/share/grant-finder \ +PROSE_CODEX_NETWORK=true \ +prose run src/grant-radar.prose.md \ + --startup_brief "$(cat fixtures/polyspectra.brief.txt)" + +# Fallback (any prose version): +PROSE_CODEX_SANDBOX_MODE=danger-full-access \ +PROSE_CODEX_APPROVAL_POLICY=never \ +prose run src/grant-radar.prose.md \ + --startup_brief "$(cat fixtures/polyspectra.brief.txt)" +``` + +Your live outputs will differ from these samples — Grants.gov posts and +closes opportunities every week, so the candidate set and deadlines shift. +The report should still either recommend evidence-backed opportunities or say +clearly that no good match was found. diff --git a/sample-outputs/cypris/01-startup_brief.md b/sample-outputs/cypris/01-startup_brief.md new file mode 100644 index 00000000..cfb1e40c --- /dev/null +++ b/sample-outputs/cypris/01-startup_brief.md @@ -0,0 +1,18 @@ +# startup_brief + +kind: input +source: caller + +--- + +Cypris Materials is a US small business developing structural color coatings - paints and inks that generate color through self-assembled polymer nanostructures instead of pigments, dyes, metals, or PCBs. Our platform produces tunable, sustainable colorants as drop-in formulations for industrial printing, automotive, cosmetics, and general coatings markets. We sell to formulators and brand owners, not directly to consumers. + +We are a small business looking for non-dilutive R&D funding to: + +- advance scalable green-chemistry manufacturing of our structural-color polymers +- broaden formulations into water-based and UV-curable paint/ink systems +- support qualification for industrial printing, automotive, and coatings applications, including dual-use lanes where photonic coatings overlap with defense-relevant optics + +Technical focus: advanced materials, sustainable/green chemistry, photonic and structural-color coatings, bio-inspired polymers, industrial manufacturing R&D. Dual-use applications are in scope where the underlying photonic materials science transfers. Berkeley, California - eligible for state energy and CalSEED programs in addition to federal SBIR/STTR. + +We want to focus on grants we can realistically win and execute. Conservative on eligibility. Prefer programs without matching-fund requirements; will consider those if program fit is strong. Do not recommend grants we have already received or that appear on our internal "known" list. diff --git a/sample-outputs/cypris/02-research_assignment.md b/sample-outputs/cypris/02-research_assignment.md new file mode 100644 index 00000000..f71cba8b --- /dev/null +++ b/sample-outputs/cypris/02-research_assignment.md @@ -0,0 +1,44 @@ +{ + "assignment_id": "cypris-materials-2026-05-13", + "research_question": "Find non-dilutive R&D funding for a Berkeley-based advanced-materials small business developing sustainable structural-color coatings and photonic polymer materials.", + "company_profile": { + "name": "Cypris Materials", + "description": "A U.S. small business developing structural color coatings: paints and inks that generate color through self-assembled polymer nanostructures instead of pigments, dyes, metals, or PCBs. The platform produces tunable sustainable colorants as drop-in formulations for industrial printing, automotive, cosmetics, and general coatings markets, selling to formulators and brand owners. Berkeley, California.", + "stage": "small business", + "location": "Berkeley, California", + "technologies": [ + "advanced materials", + "structural color coatings", + "photonic coatings", + "self-assembled polymer nanostructures", + "sustainable colorants", + "green chemistry manufacturing", + "water-based paint and ink systems", + "UV-curable paint and ink systems", + "bio-inspired polymers", + "defense-relevant optics" + ], + "constraints": [ + "prefer non-dilutive R&D funding", + "conservative on eligibility and realistic execution fit", + "prefer programs without matching-fund requirements when feasible", + "dual-use applications are in scope where photonic materials science transfers", + "exclude grants already received or on the internal known list; no explicit known grant identifiers were provided" + ] + }, + "focus_areas": [ + "advanced materials", + "sustainable chemistry", + "green chemistry manufacturing", + "photonic coatings", + "structural color coatings", + "industrial printing inks and coatings", + "industrial manufacturing R&D", + "dual-use optics" + ], + "target_geographies": [ + "United States", + "California" + ], + "known_grants": [] +} diff --git a/sample-outputs/cypris/03-research_packet.md b/sample-outputs/cypris/03-research_packet.md new file mode 100644 index 00000000..ba644ba2 --- /dev/null +++ b/sample-outputs/cypris/03-research_packet.md @@ -0,0 +1,398 @@ +{ + "assignment_id": "cypris-materials-2026-05-13", + "generated_at": "2026-05-13T18:07:38Z", + "retrieval": { + "backend": "fts5", + "query": "advanced materials sustainable chemistry green chemistry manufacturing photonic coatings structural color coatings industrial printing inks and coatings industrial manufacturing R&D dual-use optics advanced materials structural color coatings photonic coatings self-assembled polymer nanostructures sustainable colorants green chemistry manufacturing water-based paint and ink systems UV-curable paint and ink systems bio-inspired polymers defense-relevant optics United States California Find non-dilutive R&D funding for a Berkeley-based advanced-materials small business developing sustainable structural-color coatings and photonic polymer materials. A U.S. small business developing structural color coatings: paints and inks that generate color through self-assembled polymer nanostructures instead of pigments, dyes, metals, or PCBs. The platform produces tunable sustainable colorants as drop-in formulations for industrial printing, automotive, cosmetics, and general coatings markets, selling to formulators and brand owners. Berkeley, California. small business Berkeley, California", + "no_llm": true + }, + "summary": { + "total_potential_funding": "unknown from current evidence", + "high_fit_count": 8, + "nearest_deadline": null, + "notes": [ + "candidate retrieval is deterministic; no LLM call was made inside the CLI", + "inactive opportunities are filtered by default; pass --include-inactive for historical comps" + ] + }, + "grants": [ + { + "recommendation_id": "rec-4", + "opportunity_id": 4, + "program_name": "NSF America's Seed Fund: Chemical Technologies", + "agency": "NSF America's Seed Fund: Chemical Technologies", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials, sustainable chemistry" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://seedfund.nsf.gov/topics/chemical-technologies/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nsf-seed-chemical-technologies-topic", + "url": "https://seedfund.nsf.gov/topics/chemical-technologies/", + "claim": "NSF funds startups. Use a research and development grant to create chemical technologies." + } + ] + }, + { + "recommendation_id": "rec-3", + "opportunity_id": 3, + "program_name": "NSF America's Seed Fund: Photonics", + "agency": "NSF America's Seed Fund: Photonics", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials, photonic coatings" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://seedfund.nsf.gov/topics/photonics/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nsf-seed-photonics-topic", + "url": "https://seedfund.nsf.gov/topics/photonics/", + "claim": "NSF provides startups with grant funding for photonics innovations." + } + ] + }, + { + "recommendation_id": "rec-18", + "opportunity_id": 18, + "program_name": "EPA SBIR funding opportunities", + "agency": "EPA SBIR funding opportunities", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials, sustainable chemistry" + }, + "effort_estimate": { + "level": "medium", + "explanation": "Likely requires a structured application or technical proposal." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.epa.gov/sbir/sbir-funding-opportunities", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "epa-sbir-funding-opportunities", + "url": "https://www.epa.gov/sbir/sbir-funding-opportunities", + "claim": "SBIR Program established by the Small Business Innovation Development Act of 1982. EPA issues annual solicitations for Phase I and Phase II research proposals from science and technology-based firms." + } + ] + }, + { + "recommendation_id": "rec-1", + "opportunity_id": 1, + "program_name": "NSF America's Seed Fund: Advanced Manufacturing", + "agency": "NSF America's Seed Fund: Advanced Manufacturing", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://seedfund.nsf.gov/topics/advanced-manufacturing/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nsf-seed-advanced-manufacturing-topic", + "url": "https://seedfund.nsf.gov/topics/advanced-manufacturing/", + "claim": "NSF funds startups. Use a research and development grant to create an advanced manufacturing technology." + } + ] + }, + { + "recommendation_id": "rec-5", + "opportunity_id": 5, + "program_name": "NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS", + "agency": "NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials, sustainable chemistry" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.sbir.gov/topics/1012231", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "sbir-gov-nasa-waterproofing-coatings-topic", + "url": "https://www.sbir.gov/topics/1012231", + "claim": "Public source page for NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS." + } + ] + }, + { + "recommendation_id": "rec-2", + "opportunity_id": 2, + "program_name": "NSF America's Seed Fund: Advanced Materials", + "agency": "NSF America's Seed Fund: Advanced Materials", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials" + }, + "effort_estimate": { + "level": "medium", + "explanation": "Likely requires a structured application or technical proposal." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nsf-seed-advanced-materials-topic", + "url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "claim": "NSF provides startups with grant funding for advanced materials applications." + } + ] + }, + { + "recommendation_id": "rec-15", + "opportunity_id": 15, + "program_name": "America Makes open project calls", + "agency": "America Makes open project calls", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "low", + "explanation": "Few explicit assignment signals matched in current ledger evidence." + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.americamakes.us/our-focus/open-project-calls/", + "evidence": [ + { + "source_id": "america-makes-open-project-calls", + "url": "https://www.americamakes.us/our-focus/open-project-calls/", + "claim": "Public source page for America Makes open project calls." + } + ] + }, + { + "recommendation_id": "rec-17", + "opportunity_id": 17, + "program_name": "CalTestBed Apply", + "agency": "CalTestBed Apply", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: advanced materials, california" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.caltestbed.com/apply/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "caltestbed-apply", + "url": "https://www.caltestbed.com/apply/", + "claim": "Public source page for CalTestBed Apply." + } + ] + }, + { + "recommendation_id": "rec-60", + "opportunity_id": 60, + "program_name": "PRIMED-AI: Academic-Industrial Partnerships (UG3/UH3 Clinical Trial Optional)", + "agency": "National Institutes of Health", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "low", + "explanation": "Few explicit assignment signals matched in current ledger evidence." + }, + "effort_estimate": { + "level": "high", + "explanation": "Evidence suggests LOI, matching funds, partnership, or consortium work." + }, + "activity_status": { + "level": "active", + "explanation": "Source status indicates posted or forecasted and no past deadline was found." + }, + "url": "https://www.grants.gov/search-results-detail/359270", + "evidence": [ + { + "source_id": "grants-gov-api", + "url": "https://www.grants.gov/search-results-detail/359270", + "claim": "PRIMED-AI: Academic-Industrial Partnerships (UG3/UH3 Clinical Trial Optional) National Institutes of Health forecasted" + } + ] + }, + { + "recommendation_id": "rec-6", + "opportunity_id": 6, + "program_name": "NASA SBIR 2026 Improved Material Discovery and Development", + "agency": "NASA SBIR 2026 Improved Material Discovery and Development", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.sbir.gov/topics/1012270", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "sbir-gov-nasa-improved-material-discovery-topic", + "url": "https://www.sbir.gov/topics/1012270", + "claim": "Public source page for NASA SBIR 2026 Improved Material Discovery and Development." + } + ] + } + ], + "coverage": [ + { + "source_lane": "Grants.gov", + "status": "matched", + "note": "canonical federal opportunity lane" + }, + { + "source_lane": "SBIR/STTR", + "status": "matched", + "note": "small business funding lane" + }, + { + "source_lane": "ARPA-E", + "status": "matched", + "note": "energy funding lane" + }, + { + "source_lane": "DOE EERE", + "status": "checked_no_match", + "note": "energy funding lane" + }, + { + "source_lane": "NSF", + "status": "matched", + "note": "research and commercialization lane" + }, + { + "source_lane": "state economic development: California", + "status": "matched", + "note": "state-specific source lane required by assignment geography" + } + ] +} diff --git a/sample-outputs/cypris/04-ranked_recommendations.md b/sample-outputs/cypris/04-ranked_recommendations.md new file mode 100644 index 00000000..bcb59404 --- /dev/null +++ b/sample-outputs/cypris/04-ranked_recommendations.md @@ -0,0 +1,71 @@ +{ + "recommendations": [ + { + "recommendation_id": "rec-3", + "rank": 1, + "program_name": "NSF America's Seed Fund: Photonics", + "agency": "U.S. National Science Foundation", + "confidence": "high", + "why_this_fits": "Photonics and photonic materials directly match Cypris' structural-color coatings and self-assembled polymer optics platform.", + "caveats": "The topic page does not replace the current Seed Fund solicitation; eligibility and project-pitch fit still need confirmation.", + "next_step": "Draft an NSF Project Pitch around pigment-free structural color as photonic materials for industrial coatings." + }, + { + "recommendation_id": "rec-4", + "rank": 2, + "program_name": "NSF America's Seed Fund: Chemical Technologies", + "agency": "U.S. National Science Foundation", + "confidence": "high", + "why_this_fits": "The topic lane matches sustainable chemistry, green chemistry manufacturing, coatings, and advanced-materials signals from the assignment.", + "caveats": "The agent should verify whether the strongest framing is chemistry, photonics, or advanced materials before submitting the project pitch.", + "next_step": "Prepare a two-column fit memo comparing Chemical Technologies against Photonics for the same Cypris project pitch." + }, + { + "recommendation_id": "rec-2", + "rank": 3, + "program_name": "NSF America's Seed Fund: Advanced Materials", + "agency": "U.S. National Science Foundation", + "confidence": "medium", + "why_this_fits": "Advanced materials is a broad but credible fit for sustainable structural-color coatings and polymer nanostructures.", + "caveats": "This is less specific than Photonics or Chemical Technologies, so it should be a secondary framing unless NSF guidance points there.", + "next_step": "Use the Advanced Materials topic as a supporting cross-reference in the NSF pitch rather than the primary lane." + }, + { + "recommendation_id": "rec-18", + "rank": 4, + "program_name": "EPA SBIR funding opportunities", + "agency": "EPA SBIR funding opportunities", + "confidence": "medium", + "why_this_fits": "EPA SBIR can be a credible lane for sustainable chemistry, green chemistry, coatings, and environmental-technology materials.", + "caveats": "The packet only proves the EPA SBIR funding page exists; current topic language and deadline need manual review.", + "next_step": "Check the active EPA SBIR solicitation topics for sustainable coatings, safer chemicals, pollution prevention, or advanced materials language." + }, + { + "recommendation_id": "rec-5", + "rank": 5, + "program_name": "NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS", + "agency": "NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS", + "confidence": "watch", + "why_this_fits": "The topic explicitly mentions coatings and surface treatments, adjacent to Cypris materials science.", + "caveats": "Reusable thermal-protection systems may be far from structural color; recommend only after reading the detailed topic scope.", + "next_step": "Check whether Cypris coating chemistry can credibly address NASA durability or toxic-material replacement needs." + } + ], + "rejected_candidates": [ + { + "recommendation_id": "rec-60", + "program_name": "PRIMED-AI: Academic-Industrial Partnerships", + "reason": "Academic-industrial AI partnership mechanism with no packet evidence for structural-color coatings, green chemistry, or Cypris eligibility." + }, + { + "recommendation_id": "rec-15", + "program_name": "America Makes open project calls", + "reason": "Useful for additive manufacturing companies, but the packet does not connect it to Cypris structural-color coatings." + } + ], + "no_good_matches": false, + "review_notes": [ + "The NSF Seed Fund topic pages now surface the photonics and chemical-technology lanes that manual search found.", + "NASA and DOE source pages are useful watch leads but need manual scope verification." + ] +} diff --git a/sample-outputs/cypris/05-top_pick_explanations.md b/sample-outputs/cypris/05-top_pick_explanations.md new file mode 100644 index 00000000..67b0ff41 --- /dev/null +++ b/sample-outputs/cypris/05-top_pick_explanations.md @@ -0,0 +1,277 @@ +[ + { + "opportunity": { + "id": 3, + "dedupe_key": "title-url:098dbb8782cf6023dd67b907ba06af71034f3094c12d447a943087da16f8472c", + "record_type": "grant", + "title": "NSF America's Seed Fund: Photonics", + "sponsor": "NSF America's Seed Fund: Photonics", + "url": "https://seedfund.nsf.gov/topics/photonics/", + "canonicality": "authoritative", + "publication_basis": "source_page", + "summary": "NSF provides startups with grant funding for photonics innovations.", + "raw_signals": [ + "advanced materials", + "authoritative", + "grant", + "nsf seed fund", + "optical materials", + "photonic coatings", + "photonic materials", + "photonics", + "sbir", + "small business", + "source_page", + "structural color", + "sttr" + ], + "source_refs": [ + { + "source_id": "nsf-seed-photonics-topic", + "source_url": "https://seedfund.nsf.gov/topics/photonics/", + "raw_id": "https://seedfund.nsf.gov/topics/photonics/" + } + ], + "first_seen": "2026-05-13T18:07:32Z", + "last_seen": "2026-05-13T18:07:32Z" + }, + "evidence": [ + { + "source_id": "nsf-seed-photonics-topic", + "url": "https://seedfund.nsf.gov/topics/photonics/", + "claim": "NSF provides startups with grant funding for photonics innovations." + } + ], + "sources": [ + { + "source_id": "nsf-seed-photonics-topic", + "source_url": "https://seedfund.nsf.gov/topics/photonics/", + "raw_id": "https://seedfund.nsf.gov/topics/photonics/" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-3" + }, + { + "opportunity": { + "id": 4, + "dedupe_key": "title-url:9136ab5314b420a094bcef9e4788312f34d76e08f98ec1bddaa5cb185db3c8e1", + "record_type": "grant", + "title": "NSF America's Seed Fund: Chemical Technologies", + "sponsor": "NSF America's Seed Fund: Chemical Technologies", + "url": "https://seedfund.nsf.gov/topics/chemical-technologies/", + "canonicality": "authoritative", + "publication_basis": "source_page", + "summary": "NSF funds startups. Use a research and development grant to create chemical technologies.", + "raw_signals": [ + "advanced materials", + "authoritative", + "chemical technologies", + "coatings", + "grant", + "green chemistry", + "nsf seed fund", + "sbir", + "small business", + "source_page", + "sttr", + "sustainable chemistry" + ], + "source_refs": [ + { + "source_id": "nsf-seed-chemical-technologies-topic", + "source_url": "https://seedfund.nsf.gov/topics/chemical-technologies/", + "raw_id": "https://seedfund.nsf.gov/topics/chemical-technologies/" + } + ], + "first_seen": "2026-05-13T18:07:32Z", + "last_seen": "2026-05-13T18:07:32Z" + }, + "evidence": [ + { + "source_id": "nsf-seed-chemical-technologies-topic", + "url": "https://seedfund.nsf.gov/topics/chemical-technologies/", + "claim": "NSF funds startups. Use a research and development grant to create chemical technologies." + } + ], + "sources": [ + { + "source_id": "nsf-seed-chemical-technologies-topic", + "source_url": "https://seedfund.nsf.gov/topics/chemical-technologies/", + "raw_id": "https://seedfund.nsf.gov/topics/chemical-technologies/" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-4" + }, + { + "opportunity": { + "id": 2, + "dedupe_key": "title-url:50d5fe7901a6b87f2be1d7ee8432616d46b7cf87cebbdca16a716222620e54fe", + "record_type": "grant", + "title": "NSF America's Seed Fund: Advanced Materials", + "sponsor": "NSF America's Seed Fund: Advanced Materials", + "url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "canonicality": "authoritative", + "publication_basis": "source_page", + "summary": "NSF provides startups with grant funding for advanced materials applications.", + "raw_signals": [ + "advanced materials", + "authoritative", + "coatings", + "grant", + "materials", + "nsf seed fund", + "photonic materials", + "polymer materials", + "sbir", + "small business", + "source_page", + "sttr" + ], + "source_refs": [ + { + "source_id": "nsf-seed-advanced-materials-topic", + "source_url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "raw_id": "https://seedfund.nsf.gov/topics/advanced-materials/" + } + ], + "first_seen": "2026-05-13T18:07:32Z", + "last_seen": "2026-05-13T18:07:32Z" + }, + "evidence": [ + { + "source_id": "nsf-seed-advanced-materials-topic", + "url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "claim": "NSF provides startups with grant funding for advanced materials applications." + } + ], + "sources": [ + { + "source_id": "nsf-seed-advanced-materials-topic", + "source_url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "raw_id": "https://seedfund.nsf.gov/topics/advanced-materials/" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-2" + }, + { + "opportunity": { + "id": 18, + "dedupe_key": "title-url:27c9935a631f2b8994a909bdefb01b5fa0ca7b0a6ae35d5cb1e028e1423a3850", + "record_type": "grant", + "title": "EPA SBIR funding opportunities", + "sponsor": "EPA SBIR funding opportunities", + "url": "https://www.epa.gov/sbir/sbir-funding-opportunities", + "canonicality": "authoritative_or_corroborating", + "publication_basis": "source_page", + "summary": "SBIR Program established by the Small Business Innovation Development Act of 1982. EPA issues annual solicitations for Phase I and Phase II research proposals from science and technology-based firms.", + "raw_signals": [ + "advanced materials", + "authoritative_or_corroborating", + "coatings", + "environmental technology", + "epa", + "grant", + "green chemistry", + "sbir", + "small business", + "source_page", + "sustainable chemistry" + ], + "source_refs": [ + { + "source_id": "epa-sbir-funding-opportunities", + "source_url": "https://www.epa.gov/sbir/sbir-funding-opportunities", + "raw_id": "https://www.epa.gov/sbir/sbir-funding-opportunities" + } + ], + "first_seen": "2026-05-13T18:07:36Z", + "last_seen": "2026-05-13T18:07:36Z" + }, + "evidence": [ + { + "source_id": "epa-sbir-funding-opportunities", + "url": "https://www.epa.gov/sbir/sbir-funding-opportunities", + "claim": "SBIR Program established by the Small Business Innovation Development Act of 1982. EPA issues annual solicitations for Phase I and Phase II research proposals from science and technology-based firms." + } + ], + "sources": [ + { + "source_id": "epa-sbir-funding-opportunities", + "source_url": "https://www.epa.gov/sbir/sbir-funding-opportunities", + "raw_id": "https://www.epa.gov/sbir/sbir-funding-opportunities" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-18" + }, + { + "opportunity": { + "id": 5, + "dedupe_key": "title-url:29c0934505fba56ba988e71238fd842dcb57da18bb6c31e8ae2d95ed27b6acfe", + "record_type": "grant", + "title": "NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS", + "sponsor": "NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS", + "url": "https://www.sbir.gov/topics/1012231", + "canonicality": "authoritative_or_corroborating", + "publication_basis": "source_page", + "summary": "Public source page for NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS.", + "raw_signals": [ + "advanced materials", + "aerospace materials", + "authoritative_or_corroborating", + "coatings", + "durability", + "grant", + "nasa", + "sbir", + "small business", + "source_page", + "surface treatments", + "sustainable chemistry" + ], + "source_refs": [ + { + "source_id": "sbir-gov-nasa-waterproofing-coatings-topic", + "source_url": "https://www.sbir.gov/topics/1012231", + "raw_id": "https://www.sbir.gov/topics/1012231" + } + ], + "first_seen": "2026-05-13T18:07:32Z", + "last_seen": "2026-05-13T18:07:32Z" + }, + "evidence": [ + { + "source_id": "sbir-gov-nasa-waterproofing-coatings-topic", + "url": "https://www.sbir.gov/topics/1012231", + "claim": "Public source page for NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS." + } + ], + "sources": [ + { + "source_id": "sbir-gov-nasa-waterproofing-coatings-topic", + "source_url": "https://www.sbir.gov/topics/1012231", + "raw_id": "https://www.sbir.gov/topics/1012231" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-5" + } +] diff --git a/sample-outputs/cypris/06-markdown_report.md b/sample-outputs/cypris/06-markdown_report.md new file mode 100644 index 00000000..0393709f --- /dev/null +++ b/sample-outputs/cypris/06-markdown_report.md @@ -0,0 +1,133 @@ +# Funding Pipeline - Cypris + +## Summary + +The refreshed ledger now surfaces photonics, chemical-technology, and sustainable-materials lanes for Cypris. + +- Current recommendation count: 5 (2 high, 2 medium, 1 watch) +- Retrieval backend: fts5 +- CLI `no_llm`: true +- Nearest deadline: unknown from current evidence + +## Recommended Opportunities + +### 1. [NSF America's Seed Fund: Photonics](https://seedfund.nsf.gov/topics/photonics/) + +- Agency/source: U.S. National Science Foundation +- Confidence: high +- Deadline: unknown from current evidence +- Why this fits: Photonics and photonic materials directly match Cypris' structural-color coatings and self-assembled polymer optics platform. +- Caveat: The topic page does not replace the current Seed Fund solicitation; eligibility and project-pitch fit still need confirmation. +- Next step: Draft an NSF Project Pitch around pigment-free structural color as photonic materials for industrial coatings. + +
+Evidence + +- Source: nsf-seed-photonics-topic +- URL: https://seedfund.nsf.gov/topics/photonics/ +- Claim: NSF provides startups with grant funding for photonics innovations. + +
+ +### 2. [NSF America's Seed Fund: Chemical Technologies](https://seedfund.nsf.gov/topics/chemical-technologies/) + +- Agency/source: U.S. National Science Foundation +- Confidence: high +- Deadline: unknown from current evidence +- Why this fits: The topic lane matches sustainable chemistry, green chemistry manufacturing, coatings, and advanced-materials signals from the assignment. +- Caveat: The agent should verify whether the strongest framing is chemistry, photonics, or advanced materials before submitting the project pitch. +- Next step: Prepare a two-column fit memo comparing Chemical Technologies against Photonics for the same Cypris project pitch. + +
+Evidence + +- Source: nsf-seed-chemical-technologies-topic +- URL: https://seedfund.nsf.gov/topics/chemical-technologies/ +- Claim: NSF funds startups. Use a research and development grant to create chemical technologies. + +
+ +### 3. [NSF America's Seed Fund: Advanced Materials](https://seedfund.nsf.gov/topics/advanced-materials/) + +- Agency/source: U.S. National Science Foundation +- Confidence: medium +- Deadline: unknown from current evidence +- Why this fits: Advanced materials is a broad but credible fit for sustainable structural-color coatings and polymer nanostructures. +- Caveat: This is less specific than Photonics or Chemical Technologies, so it should be a secondary framing unless NSF guidance points there. +- Next step: Use the Advanced Materials topic as a supporting cross-reference in the NSF pitch rather than the primary lane. + +
+Evidence + +- Source: nsf-seed-advanced-materials-topic +- URL: https://seedfund.nsf.gov/topics/advanced-materials/ +- Claim: NSF provides startups with grant funding for advanced materials applications. + +
+ +### 4. [EPA SBIR funding opportunities](https://www.epa.gov/sbir/sbir-funding-opportunities) + +- Agency/source: EPA SBIR funding opportunities +- Confidence: medium +- Deadline: unknown from current evidence +- Why this fits: EPA SBIR can be a credible lane for sustainable chemistry, green chemistry, coatings, and environmental-technology materials. +- Caveat: The packet only proves the EPA SBIR funding page exists; current topic language and deadline need manual review. +- Next step: Check the active EPA SBIR solicitation topics for sustainable coatings, safer chemicals, pollution prevention, or advanced materials language. + +
+Evidence + +- Source: epa-sbir-funding-opportunities +- URL: https://www.epa.gov/sbir/sbir-funding-opportunities +- Claim: SBIR Program established by the Small Business Innovation Development Act of 1982. EPA issues annual solicitations for Phase I and Phase II research proposals from science and technology-based firms. + +
+ +### 5. [NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS](https://www.sbir.gov/topics/1012231) + +- Agency/source: NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS +- Confidence: watch +- Deadline: unknown from current evidence +- Why this fits: The topic explicitly mentions coatings and surface treatments, adjacent to Cypris materials science. +- Caveat: Reusable thermal-protection systems may be far from structural color; recommend only after reading the detailed topic scope. +- Next step: Check whether Cypris coating chemistry can credibly address NASA durability or toxic-material replacement needs. + +
+Evidence + +- Source: sbir-gov-nasa-waterproofing-coatings-topic +- URL: https://www.sbir.gov/topics/1012231 +- Claim: Public source page for NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS. + +
+ +## Not Recommended + +| Candidate | Why rejected | +|---|---| +| PRIMED-AI: Academic-Industrial Partnerships | Academic-industrial AI partnership mechanism with no packet evidence for structural-color coatings, green chemistry, or Cypris eligibility. | +| America Makes open project calls | Useful for additive manufacturing companies, but the packet does not connect it to Cypris structural-color coatings. | + +## Coverage + +| Source lane | Status | Note | +|---|---|---| +| Grants.gov | matched | canonical federal opportunity lane | +| SBIR/STTR | matched | small business funding lane | +| ARPA-E | matched | energy funding lane | +| DOE EERE | checked_no_match | energy funding lane | +| NSF | matched | research and commercialization lane | +| state economic development: California | matched | state-specific source lane required by assignment geography | + +## Negative Evidence + +- DOE EERE: energy funding lane + +## Review Notes + +- NSF Seed Fund topic pages now expose the photonics and chemical-technology lanes found by manual search. +- EPA SBIR and NASA coatings topics are useful watch lanes, but require current-solicitation review. + +## Provenance + +Generated at 2026-05-13T18:07:38Z from a deterministic `grant-finder research` packet. The CLI reported `retrieval.no_llm: true`; final recommendation judgment was made by the OpenProse `rank-opportunities` service. diff --git a/sample-outputs/enact-lab/01-startup_brief.md b/sample-outputs/enact-lab/01-startup_brief.md new file mode 100644 index 00000000..966f08ba --- /dev/null +++ b/sample-outputs/enact-lab/01-startup_brief.md @@ -0,0 +1,34 @@ +# startup_brief + +kind: input +source: caller + +--- + +ENACT Lab is an academic research laboratory at Yale School of Medicine, +Department of Psychiatry, and the founding lab of the Yale Program for +Psychedelic Science (YPPS). We run clinical and translational neuroscience +studies on psychedelic compounds - psilocybin, MDMA, ketamine, and related +molecules - as candidate treatments for treatment-resistant psychiatric +conditions, with active programs in OCD, PTSD, and depression. We are based +in New Haven, Connecticut, and led by Dr. Benjamin Kelmendi (Assistant +Professor of Psychiatry; YPPS Co-Director). + +We are an academic lab seeking non-dilutive federal and foundation research +funding to: + +- extend mechanism-of-action work (fMRI, MRS, EEG, neurocognitive) on + psychedelics in psychiatric disorders +- support investigator-initiated clinical trials in OCD, PTSD, and depression +- fund fellow and trainee positions in psychedelic medicine + +Technical focus: psychiatry, clinical neuroscience, psychedelic pharmacology, +treatment-resistant mood/anxiety/OCD/PTSD. Connecticut-based academic site +eligible for NIH (NIMH, NIDA, NCCIH), PCORI, ARPA-H, DoD CDMRP PTSD/PRMRP, +and Connecticut state research programs. We are an academic group - SBIR/STTR +is not the right vehicle for us. + +We prefer grants we can realistically win as an academic lab and that pay for +investigators, trainees, and clinical-trial infrastructure. Do not recommend +grants already held by Yale/YPPS investigators on the team (the upstream +agent will pass that list separately). diff --git a/sample-outputs/enact-lab/02-research_assignment.md b/sample-outputs/enact-lab/02-research_assignment.md new file mode 100644 index 00000000..d0eff193 --- /dev/null +++ b/sample-outputs/enact-lab/02-research_assignment.md @@ -0,0 +1,42 @@ +{ + "assignment_id": "enact-lab-2026-05-13", + "research_question": "Find realistic non-dilutive federal, state, and foundation research funding for an academic Yale psychiatry lab studying psychedelic compounds in treatment-resistant psychiatric conditions.", + "company_profile": { + "name": "ENACT Lab", + "description": "Academic research laboratory at Yale School of Medicine Department of Psychiatry and founding lab of the Yale Program for Psychedelic Science, running clinical and translational neuroscience studies on psilocybin, MDMA, ketamine, and related molecules as candidate treatments for OCD, PTSD, depression, and other treatment-resistant psychiatric conditions.", + "stage": "academic research laboratory", + "location": "New Haven, Connecticut, United States", + "technologies": [ + "psilocybin", + "MDMA", + "ketamine", + "psychedelic pharmacology", + "fMRI", + "MRS", + "EEG", + "neurocognitive assessment", + "clinical trials" + ], + "constraints": [ + "non-dilutive research funding only", + "academic lab; SBIR/STTR is not an appropriate vehicle", + "prefer investigator, trainee, fellow, and clinical-trial infrastructure support", + "exclude grants already held by Yale/YPPS investigators when explicit known grants are supplied" + ] + }, + "focus_areas": [ + "mental health", + "psychiatry", + "clinical neuroscience", + "psychedelic pharmacology", + "PTSD", + "depression", + "OCD", + "clinical trials" + ], + "target_geographies": [ + "United States", + "Connecticut" + ], + "known_grants": [] +} diff --git a/sample-outputs/enact-lab/03-research_packet.md b/sample-outputs/enact-lab/03-research_packet.md new file mode 100644 index 00000000..c1c95668 --- /dev/null +++ b/sample-outputs/enact-lab/03-research_packet.md @@ -0,0 +1,398 @@ +{ + "assignment_id": "enact-lab-2026-05-13", + "generated_at": "2026-05-13T18:07:46Z", + "retrieval": { + "backend": "fts5", + "query": "mental health psychiatry clinical neuroscience psychedelic pharmacology PTSD depression OCD clinical trials psilocybin MDMA ketamine psychedelic pharmacology fMRI MRS EEG neurocognitive assessment clinical trials United States Connecticut Find realistic non-dilutive federal, state, and foundation research funding for an academic Yale psychiatry lab studying psychedelic compounds in treatment-resistant psychiatric conditions. Academic research laboratory at Yale School of Medicine Department of Psychiatry and founding lab of the Yale Program for Psychedelic Science, running clinical and translational neuroscience studies on psilocybin, MDMA, ketamine, and related molecules as candidate treatments for OCD, PTSD, depression, and other treatment-resistant psychiatric conditions. academic research laboratory New Haven, Connecticut, United States", + "no_llm": true + }, + "summary": { + "total_potential_funding": "unknown from current evidence", + "high_fit_count": 8, + "nearest_deadline": "01/07/2028", + "notes": [ + "candidate retrieval is deterministic; no LLM call was made inside the CLI", + "inactive opportunities are filtered by default; pass --include-inactive for historical comps" + ] + }, + "grants": [ + { + "recommendation_id": "rec-13", + "opportunity_id": 13, + "program_name": "NIH highlighted topic: mechanism-driven psilocybin research", + "agency": "NIH highlighted topic: mechanism-driven psilocybin research", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: clinical neuroscience, psilocybin, psychedelic pharmacology, psychiatry" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nih-highlighted-psilocybin-mechanism-topic", + "url": "https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55", + "claim": "Public source page for NIH highlighted topic: mechanism-driven psilocybin research." + } + ] + }, + { + "recommendation_id": "rec-11", + "opportunity_id": 11, + "program_name": "NIH PAR-25-179: Confirmatory Efficacy Clinical Trials of Non-Pharmacological and Pharmacological Interventions for Mental Disorders (R01 Clinical Trial Required)", + "agency": "NIH PAR-25-179: Confirmatory Efficacy Clinical Trials of Non-Pharmacological and Pharmacological Interventions for Mental Disorders (R01 Clinical Trial Required)", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: clinical neuroscience, clinical trials, depression, ocd, psychiatry, ptsd" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-179.html", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nih-guide-par-25-179-confirmatory-efficacy-r01", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-179.html", + "claim": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: Confirmatory Efficacy Clinical Trials of Non-Pharmacological and Pharmacological Interventions for Mental Disorders (R01 Clinical Trial Required) PAR-25-179. NIMH" + } + ] + }, + { + "recommendation_id": "rec-12", + "opportunity_id": 12, + "program_name": "NIH PAR-25-352: National Cooperative Drug/Device Discovery/Development Groups (NCDDG) for the Treatment of Mental Disorders (U01 Clinical Trial Optional)", + "agency": "NIH PAR-25-352: National Cooperative Drug/Device Discovery/Development Groups (NCDDG) for the Treatment of Mental Disorders (U01 Clinical Trial Optional)", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: clinical neuroscience, clinical trials, depression, mental health, ocd, psychiatry, ptsd" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-352.html", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nih-guide-par-25-352-ncddg-mental-disorders-u01", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-352.html", + "claim": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: National Cooperative Drug/Device Discovery/Development Groups (NCDDG) for the Treatment of Mental Disorders (U01 Clinical Trial Optional) PAR-25-352. NIMH" + } + ] + }, + { + "recommendation_id": "rec-10", + "opportunity_id": 10, + "program_name": "NIH PAR-25-180: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required)", + "agency": "NIH PAR-25-180: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required)", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: clinical neuroscience, clinical trials, depression, ocd, psychiatry, ptsd" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nih-guide-par-25-180-first-in-human-u01", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html", + "claim": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required) PAR-25-180. NIMH" + } + ] + }, + { + "recommendation_id": "rec-8", + "opportunity_id": 8, + "program_name": "NIH PAR-25-184: Early Stage Testing of Pharmacologic or Neuromodulatory Interventions for Mental Disorders (R61/R33)", + "agency": "NIH PAR-25-184: Early Stage Testing of Pharmacologic or Neuromodulatory Interventions for Mental Disorders (R61/R33)", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: clinical neuroscience, clinical trials, depression, eeg, fmri, psychiatry" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nih-guide-par-25-184-mental-disorders-r61-r33", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html", + "claim": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R61/R33 Clinical Trial Required) PAR-25-184. NIMH" + } + ] + }, + { + "recommendation_id": "rec-9", + "opportunity_id": 9, + "program_name": "NIH PAR-25-183: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33 Clinical Trial Required)", + "agency": "NIH PAR-25-183: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33 Clinical Trial Required)", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: clinical neuroscience, clinical trials, depression, eeg, fmri, psychiatry" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nih-guide-par-25-183-mental-disorders-r33", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html", + "claim": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33- Clinical Trial Required) PAR-25-183. NIMH" + } + ] + }, + { + "recommendation_id": "rec-14", + "opportunity_id": 14, + "program_name": "CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement", + "agency": "CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: clinical neuroscience, psychiatry, ptsd" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "cdmrp-fy26-tbiphrp-preannouncement", + "url": "https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann", + "claim": "Public source page for CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement." + } + ] + }, + { + "recommendation_id": "rec-29", + "opportunity_id": 29, + "program_name": "Innovative Mental Health Services Research Not Involving Clinical Trials (R01 Clinical Trials Not Allowed)", + "agency": "National Institutes of Health", + "amount": "unknown from current evidence", + "deadline": "01/07/2028", + "deadline_certainty": "confirmed", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: clinical trials, mental health" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "Deadline is current: 2028-01-07." + }, + "url": "https://www.grants.gov/search-results-detail/357946", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "grants-gov-api", + "url": "https://www.grants.gov/search-results-detail/357946", + "claim": "Innovative Mental Health Services Research Not Involving Clinical Trials (R01 Clinical Trials Not Allowed) National Institutes of Health posted" + } + ] + }, + { + "recommendation_id": "rec-24", + "opportunity_id": 24, + "program_name": "Effectiveness Trials to Test Mental Health System Interventions (R61/R33 Clinical Trial Required)", + "agency": "National Institutes of Health", + "amount": "unknown from current evidence", + "deadline": "10/15/2027", + "deadline_certainty": "confirmed", + "eligibility_fit": { + "level": "medium", + "explanation": "Some assignment signals matched; agent should verify eligibility details against the official source." + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "Deadline is current: 2027-10-15." + }, + "url": "https://www.grants.gov/search-results-detail/357434", + "evidence": [ + { + "source_id": "grants-gov-api", + "url": "https://www.grants.gov/search-results-detail/357434", + "claim": "Effectiveness Trials to Test Mental Health System Interventions (R61/R33 Clinical Trial Required) National Institutes of Health posted" + } + ] + }, + { + "recommendation_id": "rec-25", + "opportunity_id": 25, + "program_name": "Silvio O. Conte Centers for Basic Neuroscience or Translational Mental Health Research", + "agency": "National Institutes of Health", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "medium", + "explanation": "Some assignment signals matched; agent should verify eligibility details against the official source." + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "Source status indicates posted or forecasted and no past deadline was found." + }, + "url": "https://www.grants.gov/search-results-detail/360574", + "evidence": [ + { + "source_id": "grants-gov-api", + "url": "https://www.grants.gov/search-results-detail/360574", + "claim": "Silvio O. Conte Centers for Basic Neuroscience or Translational Mental Health Research National Institutes of Health forecasted" + } + ] + } + ], + "coverage": [ + { + "source_lane": "Grants.gov", + "status": "matched", + "note": "canonical federal opportunity lane" + }, + { + "source_lane": "SBIR/STTR", + "status": "matched", + "note": "small business funding lane" + }, + { + "source_lane": "ARPA-E", + "status": "checked_no_match", + "note": "No current ARPA-E programs match" + }, + { + "source_lane": "DOE EERE", + "status": "checked_no_match", + "note": "energy funding lane" + }, + { + "source_lane": "NSF", + "status": "matched", + "note": "research and commercialization lane" + }, + { + "source_lane": "state economic development: Connecticut", + "status": "checked_no_match", + "note": "state-specific source lane required by assignment geography" + } + ] +} diff --git a/sample-outputs/enact-lab/04-ranked_recommendations.md b/sample-outputs/enact-lab/04-ranked_recommendations.md new file mode 100644 index 00000000..80a15e9e --- /dev/null +++ b/sample-outputs/enact-lab/04-ranked_recommendations.md @@ -0,0 +1,76 @@ +{ + "recommendations": [ + { + "recommendation_id": "rec-13", + "rank": 1, + "program_name": "NIH highlighted topic: mechanism-driven psilocybin research", + "agency": "National Institutes of Health", + "confidence": "medium", + "why_this_fits": "The highlighted topic is the most specific packet evidence for ENACT: psilocybin, mechanisms, biomarkers, psychiatry, and clinical neuroscience.", + "caveats": "It is a highlighted topic, not a standalone application mechanism; the lab must map it to a compatible NIH NOFO.", + "next_step": "Use the highlighted topic as the scientific rationale, then pair it with the strongest NIMH PAR mechanism below." + }, + { + "recommendation_id": "rec-10", + "rank": 2, + "program_name": "NIH PAR-25-180: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required)", + "agency": "National Institutes of Health", + "confidence": "high", + "why_this_fits": "First-in-human and early-stage psychiatric drug trials map directly to psychedelic pharmacology and treatment-resistant psychiatric conditions.", + "caveats": "The U01 mechanism implies substantial coordination and NIH involvement; confirm study maturity and program-officer fit.", + "next_step": "Ask the program officer whether ENACT\u2019s psilocybin, MDMA, or ketamine protocol fits the U01 psychiatric drug-trials mechanism." + }, + { + "recommendation_id": "rec-9", + "rank": 3, + "program_name": "NIH PAR-25-183: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33 Clinical Trial Required)", + "agency": "National Institutes of Health", + "confidence": "high", + "why_this_fits": "The R33 early-stage testing mechanism is a direct fit for pharmacologic or neuromodulatory interventions for mental disorders.", + "caveats": "The lab must verify whether the current study is ready for the R33 stage rather than an exploratory R61/R33 path.", + "next_step": "Compare the active protocol against PAR-25-183 and PAR-25-184 milestones before selecting the mechanism." + }, + { + "recommendation_id": "rec-8", + "rank": 4, + "program_name": "NIH PAR-25-184: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R61/R33 Clinical Trial Required)", + "agency": "National Institutes of Health", + "confidence": "high", + "why_this_fits": "This mechanism explicitly covers early-stage testing for mental disorders, clinical trials, mechanism of action, fMRI, and EEG.", + "caveats": "The lab should compare it against the psychiatric-drug-trials PARs and avoid splitting one study across overlapping mechanisms.", + "next_step": "Create a mechanism fit table for PAR-25-184, PAR-25-183, and PAR-25-180 before selecting the target NOFO." + }, + { + "recommendation_id": "rec-14", + "rank": 5, + "program_name": "CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement", + "agency": "CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement", + "confidence": "watch", + "why_this_fits": "CDMRP psychological-health and PTSD signals overlap ENACT\u2019s psychiatric and clinical-neuroscience focus.", + "caveats": "This is a pre-announcement and may emphasize military relevance, traumatic brain injury, or PTSD more than psychedelic mechanisms.", + "next_step": "Monitor the posted CDMRP funding opportunity and check whether psychedelic or rapid-acting intervention studies are responsive." + } + ], + "rejected_candidates": [ + { + "recommendation_id": "rec-29", + "program_name": "Innovative Mental Health Services Research Not Involving Clinical Trials", + "reason": "Mental-health services research could be adjacent, but the packet title explicitly excludes clinical trials and does not fit ENACT's psychedelic clinical-neuroscience studies." + }, + { + "recommendation_id": "rec-24", + "program_name": "Effectiveness Trials to Test Mental Health System Interventions", + "reason": "System-intervention effectiveness trials are less directly aligned than the psychiatric-drug and early-stage intervention PARs." + }, + { + "recommendation_id": "rec-25", + "program_name": "Silvio O. Conte Centers for Basic Neuroscience or Translational Mental Health Research", + "reason": "Potentially relevant as a center mechanism, but broader and heavier than the more specific PAR mechanisms surfaced above." + } + ], + "no_good_matches": false, + "review_notes": [ + "The NIH Guide and NIH highlighted-topic source-page lanes now surface the manually found mechanisms.", + "SBIR/STTR is still rejected for this academic lab by assignment constraint." + ] +} diff --git a/sample-outputs/enact-lab/05-top_pick_explanations.md b/sample-outputs/enact-lab/05-top_pick_explanations.md new file mode 100644 index 00000000..1861f552 --- /dev/null +++ b/sample-outputs/enact-lab/05-top_pick_explanations.md @@ -0,0 +1,277 @@ +[ + { + "opportunity": { + "id": 13, + "dedupe_key": "title-url:380f56515a251b9aa5724844101104f5654944306d7dbbc1951d99c3834f7746", + "record_type": "grant", + "title": "NIH highlighted topic: mechanism-driven psilocybin research", + "sponsor": "NIH highlighted topic: mechanism-driven psilocybin research", + "url": "https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55", + "canonicality": "curated_lead", + "publication_basis": "source_page", + "summary": "Public source page for NIH highlighted topic: mechanism-driven psilocybin research.", + "raw_signals": [ + "biomarkers", + "clinical neuroscience", + "curated_lead", + "grant", + "mechanism of action", + "nih", + "psilocybin", + "psychedelic medicine", + "psychedelic pharmacology", + "psychiatry", + "source_page" + ], + "source_refs": [ + { + "source_id": "nih-highlighted-psilocybin-mechanism-topic", + "source_url": "https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55", + "raw_id": "https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55" + } + ], + "first_seen": "2026-05-13T18:07:40Z", + "last_seen": "2026-05-13T18:07:40Z" + }, + "evidence": [ + { + "source_id": "nih-highlighted-psilocybin-mechanism-topic", + "url": "https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55", + "claim": "Public source page for NIH highlighted topic: mechanism-driven psilocybin research." + } + ], + "sources": [ + { + "source_id": "nih-highlighted-psilocybin-mechanism-topic", + "source_url": "https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55", + "raw_id": "https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-13" + }, + { + "opportunity": { + "id": 10, + "dedupe_key": "title-url:f8a374a62072ccd0047d925f8facab71687d5d1ec671f65d7826a06c55485bd8", + "record_type": "grant", + "title": "NIH PAR-25-180: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required)", + "sponsor": "NIH PAR-25-180: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required)", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html", + "canonicality": "authoritative", + "publication_basis": "source_page", + "summary": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required) PAR-25-180. NIMH", + "raw_signals": [ + "OCD", + "PTSD", + "academic research lab", + "authoritative", + "clinical neuroscience", + "clinical trials", + "grant", + "mechanism of action", + "nih", + "psychiatric drug trials", + "psychiatry", + "source_page", + "treatment-resistant depression" + ], + "source_refs": [ + { + "source_id": "nih-guide-par-25-180-first-in-human-u01", + "source_url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html", + "raw_id": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html" + } + ], + "first_seen": "2026-05-13T18:07:40Z", + "last_seen": "2026-05-13T18:07:40Z" + }, + "evidence": [ + { + "source_id": "nih-guide-par-25-180-first-in-human-u01", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html", + "claim": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required) PAR-25-180. NIMH" + } + ], + "sources": [ + { + "source_id": "nih-guide-par-25-180-first-in-human-u01", + "source_url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html", + "raw_id": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-10" + }, + { + "opportunity": { + "id": 9, + "dedupe_key": "title-url:6f64f974763d54118407cb891d51bd0bc69111e7a2dfb545a164992deeb7adee", + "record_type": "grant", + "title": "NIH PAR-25-183: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33 Clinical Trial Required)", + "sponsor": "NIH PAR-25-183: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33 Clinical Trial Required)", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html", + "canonicality": "authoritative", + "publication_basis": "source_page", + "summary": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33- Clinical Trial Required) PAR-25-183. NIMH", + "raw_signals": [ + "EEG", + "academic research lab", + "authoritative", + "clinical neuroscience", + "clinical trials", + "fMRI", + "grant", + "mechanism of action", + "nih", + "nimh", + "psychiatry", + "source_page", + "treatment-resistant depression" + ], + "source_refs": [ + { + "source_id": "nih-guide-par-25-183-mental-disorders-r33", + "source_url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html", + "raw_id": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html" + } + ], + "first_seen": "2026-05-13T18:07:40Z", + "last_seen": "2026-05-13T18:07:40Z" + }, + "evidence": [ + { + "source_id": "nih-guide-par-25-183-mental-disorders-r33", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html", + "claim": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33- Clinical Trial Required) PAR-25-183. NIMH" + } + ], + "sources": [ + { + "source_id": "nih-guide-par-25-183-mental-disorders-r33", + "source_url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html", + "raw_id": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-9" + }, + { + "opportunity": { + "id": 8, + "dedupe_key": "title-url:e40c88a0feb73ed45e8f97230082fe5fe37cc210f117e8d766919da33d045d37", + "record_type": "grant", + "title": "NIH PAR-25-184: Early Stage Testing of Pharmacologic or Neuromodulatory Interventions for Mental Disorders (R61/R33)", + "sponsor": "NIH PAR-25-184: Early Stage Testing of Pharmacologic or Neuromodulatory Interventions for Mental Disorders (R61/R33)", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html", + "canonicality": "authoritative", + "publication_basis": "source_page", + "summary": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R61/R33 Clinical Trial Required) PAR-25-184. NIMH", + "raw_signals": [ + "EEG", + "academic research lab", + "authoritative", + "clinical neuroscience", + "clinical trials", + "fMRI", + "grant", + "mechanism of action", + "nih", + "nimh", + "psychiatry", + "source_page", + "treatment-resistant depression" + ], + "source_refs": [ + { + "source_id": "nih-guide-par-25-184-mental-disorders-r61-r33", + "source_url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html", + "raw_id": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html" + } + ], + "first_seen": "2026-05-13T18:07:40Z", + "last_seen": "2026-05-13T18:07:40Z" + }, + "evidence": [ + { + "source_id": "nih-guide-par-25-184-mental-disorders-r61-r33", + "url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html", + "claim": "NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R61/R33 Clinical Trial Required) PAR-25-184. NIMH" + } + ], + "sources": [ + { + "source_id": "nih-guide-par-25-184-mental-disorders-r61-r33", + "source_url": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html", + "raw_id": "https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-8" + }, + { + "opportunity": { + "id": 14, + "dedupe_key": "title-url:0fa09aba8a427a619509018c13d0011c48b486f19bf2e551301e84cbc4ed6c21", + "record_type": "grant", + "title": "CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement", + "sponsor": "CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement", + "url": "https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann", + "canonicality": "early_warning", + "publication_basis": "source_page", + "summary": "Public source page for CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement.", + "raw_signals": [ + "PTSD", + "academic research lab", + "cdmrp", + "clinical neuroscience", + "early_warning", + "grant", + "psychiatry", + "psychological health", + "source_page", + "traumatic brain injury" + ], + "source_refs": [ + { + "source_id": "cdmrp-fy26-tbiphrp-preannouncement", + "source_url": "https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann", + "raw_id": "https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann" + } + ], + "first_seen": "2026-05-13T18:07:41Z", + "last_seen": "2026-05-13T18:07:41Z" + }, + "evidence": [ + { + "source_id": "cdmrp-fy26-tbiphrp-preannouncement", + "url": "https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann", + "claim": "Public source page for CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement." + } + ], + "sources": [ + { + "source_id": "cdmrp-fy26-tbiphrp-preannouncement", + "source_url": "https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann", + "raw_id": "https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-14" + } +] diff --git a/sample-outputs/enact-lab/06-markdown_report.md b/sample-outputs/enact-lab/06-markdown_report.md new file mode 100644 index 00000000..46a227d3 --- /dev/null +++ b/sample-outputs/enact-lab/06-markdown_report.md @@ -0,0 +1,136 @@ +# Funding Pipeline - ENACT Lab + +## Summary + +The refreshed ledger now surfaces NIH psychiatric clinical-trial mechanisms instead of small-business SBIR records. + +- Current recommendation count: 5 (3 high, 1 medium, 1 watch) +- Retrieval backend: fts5 +- CLI `no_llm`: true +- Nearest deadline: 01/07/2028 + +## Recommended Opportunities + +### 1. [NIH highlighted topic: mechanism-driven psilocybin research](https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55) + +- Agency/source: National Institutes of Health +- Confidence: medium +- Deadline: unknown from current evidence +- Why this fits: The highlighted topic is the most specific packet evidence for ENACT: psilocybin, mechanisms, biomarkers, psychiatry, and clinical neuroscience. +- Caveat: It is a highlighted topic, not a standalone application mechanism; the lab must map it to a compatible NIH NOFO. +- Next step: Use the highlighted topic as the scientific rationale, then pair it with the strongest NIMH PAR mechanism below. + +
+Evidence + +- Source: nih-highlighted-psilocybin-mechanism-topic +- URL: https://grants.nih.gov/funding/find-a-fit-for-your-research/highlighted-topics/55 +- Claim: Public source page for NIH highlighted topic: mechanism-driven psilocybin research. + +
+ +### 2. [NIH PAR-25-180: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required)](https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html) + +- Agency/source: National Institutes of Health +- Confidence: high +- Deadline: unknown from current evidence +- Why this fits: First-in-human and early-stage psychiatric drug trials map directly to psychedelic pharmacology and treatment-resistant psychiatric conditions. +- Caveat: The U01 mechanism implies substantial coordination and NIH involvement; confirm study maturity and program-officer fit. +- Next step: Ask the program officer whether ENACT's psilocybin, MDMA, or ketamine protocol fits the U01 psychiatric drug-trials mechanism. + +
+Evidence + +- Source: nih-guide-par-25-180-first-in-human-u01 +- URL: https://grants.nih.gov/grants/guide/pa-files/PAR-25-180.html +- Claim: NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: First in Human and Early Stage Clinical Trials of Novel Investigational Drugs or Neuromodulatory Device-based Interventions for Psychiatric Disorders (U01 Clinical Trial Required) PAR-25-180. NIMH + +
+ +### 3. [NIH PAR-25-183: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33 Clinical Trial Required)](https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html) + +- Agency/source: National Institutes of Health +- Confidence: high +- Deadline: unknown from current evidence +- Why this fits: The R33 early-stage testing mechanism is a direct fit for pharmacologic or neuromodulatory interventions for mental disorders. +- Caveat: The lab must verify whether the current study is ready for the R33 stage rather than an exploratory R61/R33 path. +- Next step: Compare the active protocol against PAR-25-183 and PAR-25-184 milestones before selecting the mechanism. + +
+Evidence + +- Source: nih-guide-par-25-183-mental-disorders-r33 +- URL: https://grants.nih.gov/grants/guide/pa-files/PAR-25-183.html +- Claim: NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R33- Clinical Trial Required) PAR-25-183. NIMH + +
+ +### 4. [NIH PAR-25-184: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R61/R33 Clinical Trial Required)](https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html) + +- Agency/source: National Institutes of Health +- Confidence: high +- Deadline: unknown from current evidence +- Why this fits: This mechanism explicitly covers early-stage testing for mental disorders, clinical trials, mechanism of action, fMRI, and EEG. +- Caveat: The lab should compare it against the psychiatric-drug-trials PARs and avoid splitting one study across overlapping mechanisms. +- Next step: Create a mechanism fit table for PAR-25-184, PAR-25-183, and PAR-25-180 before selecting the target NOFO. + +
+Evidence + +- Source: nih-guide-par-25-184-mental-disorders-r61-r33 +- URL: https://grants.nih.gov/grants/guide/pa-files/PAR-25-184.html +- Claim: NIH Funding Opportunities and Notices in the NIH Guide for Grants and Contracts: Early Stage Testing of Pharmacologic or Neuromodulatory Device-based Interventions for the Treatment of Mental Disorders (R61/R33 Clinical Trial Required) PAR-25-184. NIMH + +
+ +### 5. [CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement](https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann) + +- Agency/source: CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement +- Confidence: watch +- Deadline: unknown from current evidence +- Why this fits: CDMRP psychological-health and PTSD signals overlap ENACT's psychiatric and clinical-neuroscience focus. +- Caveat: This is a pre-announcement and may emphasize military relevance, traumatic brain injury, or PTSD more than psychedelic mechanisms. +- Next step: Monitor the posted CDMRP funding opportunity and check whether psychedelic or rapid-acting intervention studies are responsive. + +
+Evidence + +- Source: cdmrp-fy26-tbiphrp-preannouncement +- URL: https://cdmrp.health.mil/pubs/press/2026/tbiphrppreann +- Claim: Public source page for CDMRP FY26 Traumatic Brain Injury and Psychological Health Research Program pre-announcement. + +
+ +## Not Recommended + +| Candidate | Why rejected | +|---|---| +| Innovative Mental Health Services Research Not Involving Clinical Trials | Mental-health services research could be adjacent, but the packet title explicitly excludes clinical trials and does not fit ENACT's psychedelic clinical-neuroscience studies. | +| Effectiveness Trials to Test Mental Health System Interventions | System-intervention effectiveness trials are less directly aligned than the psychiatric-drug and early-stage intervention PARs. | +| Silvio O. Conte Centers for Basic Neuroscience or Translational Mental Health Research | Potentially relevant as a center mechanism, but broader and heavier than the more specific PAR mechanisms surfaced above. | + +## Coverage + +| Source lane | Status | Note | +|---|---|---| +| Grants.gov | matched | canonical federal opportunity lane | +| SBIR/STTR | matched | small business funding lane | +| ARPA-E | checked_no_match | No current ARPA-E programs match | +| DOE EERE | checked_no_match | energy funding lane | +| NSF | matched | research and commercialization lane | +| state economic development: Connecticut | checked_no_match | state-specific source lane required by assignment geography | + +## Negative Evidence + +- ARPA-E: No current ARPA-E programs match +- DOE EERE: energy funding lane +- state economic development: Connecticut: state-specific source lane required by assignment geography + +## Review Notes + +- NIH Guide and highlighted-topic source-page lanes now expose mechanisms relevant to psychiatric clinical neuroscience. +- SBIR/STTR remains inappropriate for this academic lab by assignment constraint. + +## Provenance + +Generated at 2026-05-13T18:07:46Z from a deterministic `grant-finder research` packet. The CLI reported `retrieval.no_llm: true`; final recommendation judgment was made by the OpenProse `rank-opportunities` service. diff --git a/sample-outputs/polyspectra/01-startup_brief.md b/sample-outputs/polyspectra/01-startup_brief.md new file mode 100644 index 00000000..c2c787c6 --- /dev/null +++ b/sample-outputs/polyspectra/01-startup_brief.md @@ -0,0 +1,33 @@ +# startup_brief + +kind: input +source: caller + +--- + +polySpectra is a US small business making COR (Cyclic Olefin Resin) rugged +photopolymer resins for industrial 3D printing. Our materials let +manufacturing engineers print durable, heat-resistant, chemically-resistant +end-use parts on standard DLP and LCD resin printers. We sell to engineers +in industrial, manufacturing, and laboratory facilities -- not to consumers. + +We are a small business looking for non-dilutive R&D funding to: + +- expand the COR resin product line (new chemistries, application-specific + formulations) +- accelerate technical adoption with industrial customers +- support qualification work for advanced manufacturing, aerospace, defense, + and energy applications where rugged photopolymer parts compete with + injection-molded thermoplastics + +Technical focus: advanced materials, additive manufacturing, photopolymer +chemistry, manufacturing R&D. Dual-use applications are in scope where the +underlying material science is the same. US-based, no preference about +defense-specific work but open to it. + +We want to focus on grants we can actually win and ship work against. +Conservative on eligibility. Prefer programs without matching-fund +requirements if possible; will consider those if the program fit is strong. + +Do not recommend grants we have already received or that are listed in our +internal "known" list (the upstream agent will pass that list separately). diff --git a/sample-outputs/polyspectra/02-research_assignment.md b/sample-outputs/polyspectra/02-research_assignment.md new file mode 100644 index 00000000..95fc0209 --- /dev/null +++ b/sample-outputs/polyspectra/02-research_assignment.md @@ -0,0 +1,43 @@ +{ + "assignment_id": "polyspectra-2026-05-13", + "research_question": "Find non-dilutive R&D funding opportunities that polySpectra, a US small business developing rugged COR photopolymer resins for industrial additive manufacturing, can credibly win and execute.", + "company_profile": { + "name": "polySpectra", + "description": "US small business making COR (Cyclic Olefin Resin) rugged photopolymer resins for industrial 3D printing, enabling durable, heat-resistant, chemically resistant end-use parts on standard DLP and LCD resin printers for industrial, manufacturing, and laboratory customers.", + "stage": "small business", + "location": "United States", + "technologies": [ + "Cyclic Olefin Resin", + "rugged photopolymer resins", + "industrial 3D printing", + "DLP resin printing", + "LCD resin printing", + "advanced materials", + "additive manufacturing", + "photopolymer chemistry", + "manufacturing R&D" + ], + "constraints": [ + "prefer non-dilutive R&D funding", + "conservative on eligibility", + "prefer programs without matching-fund requirements where possible", + "exclude grants already received or listed in the upstream internal known list when supplied", + "industrial, manufacturing, and laboratory customers only; not consumer-focused", + "defense-specific and dual-use work are acceptable when based on the same material science" + ] + }, + "focus_areas": [ + "advanced materials", + "additive manufacturing", + "photopolymer chemistry", + "industrial 3D printing", + "manufacturing R&D", + "aerospace applications", + "defense applications", + "energy applications" + ], + "target_geographies": [ + "United States" + ], + "known_grants": [] +} diff --git a/sample-outputs/polyspectra/03-research_packet.md b/sample-outputs/polyspectra/03-research_packet.md new file mode 100644 index 00000000..16598043 --- /dev/null +++ b/sample-outputs/polyspectra/03-research_packet.md @@ -0,0 +1,400 @@ +{ + "assignment_id": "polyspectra-2026-05-13", + "generated_at": "2026-05-13T18:07:31Z", + "retrieval": { + "backend": "fts5", + "query": "advanced materials additive manufacturing photopolymer chemistry industrial 3D printing manufacturing R&D aerospace applications defense applications energy applications Cyclic Olefin Resin rugged photopolymer resins industrial 3D printing DLP resin printing LCD resin printing advanced materials additive manufacturing photopolymer chemistry manufacturing R&D United States Find non-dilutive R&D funding opportunities that polySpectra, a US small business developing rugged COR photopolymer resins for industrial additive manufacturing, can credibly win and execute. US small business making COR (Cyclic Olefin Resin) rugged photopolymer resins for industrial 3D printing, enabling durable, heat-resistant, chemically resistant end-use parts on standard DLP and LCD resin printers for industrial, manufacturing, and laboratory customers. small business United States", + "no_llm": true + }, + "summary": { + "total_potential_funding": "unknown from current evidence", + "high_fit_count": 9, + "nearest_deadline": "06/20/2026", + "notes": [ + "candidate retrieval is deterministic; no LLM call was made inside the CLI", + "inactive opportunities are filtered by default; pass --include-inactive for historical comps" + ] + }, + "grants": [ + { + "recommendation_id": "rec-1", + "opportunity_id": 1, + "program_name": "NSF America's Seed Fund: Advanced Manufacturing", + "agency": "NSF America's Seed Fund: Advanced Manufacturing", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, additive manufacturing, advanced materials, manufacturing r&d" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://seedfund.nsf.gov/topics/advanced-manufacturing/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nsf-seed-advanced-manufacturing-topic", + "url": "https://seedfund.nsf.gov/topics/advanced-manufacturing/", + "claim": "NSF funds startups. Use a research and development grant to create an advanced manufacturing technology." + } + ] + }, + { + "recommendation_id": "rec-15", + "opportunity_id": 15, + "program_name": "America Makes open project calls", + "agency": "America Makes open project calls", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: additive manufacturing, manufacturing r&d" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.americamakes.us/our-focus/open-project-calls/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "america-makes-open-project-calls", + "url": "https://www.americamakes.us/our-focus/open-project-calls/", + "claim": "Public source page for America Makes open project calls." + } + ] + }, + { + "recommendation_id": "rec-49", + "opportunity_id": 49, + "program_name": "Advancing NATO’s Collective Defense and Industrial Capacity", + "agency": "U.S. Mission to Belgium", + "amount": "unknown from current evidence", + "deadline": "06/20/2026", + "deadline_certainty": "confirmed", + "eligibility_fit": { + "level": "low", + "explanation": "Few explicit assignment signals matched in current ledger evidence." + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "Deadline is current: 2026-06-20." + }, + "url": "https://www.grants.gov/search-results-detail/362095", + "evidence": [ + { + "source_id": "grants-gov-api", + "url": "https://www.grants.gov/search-results-detail/362095", + "claim": "Advancing NATO’s Collective Defense and Industrial Capacity U.S. Mission to Belgium posted" + } + ] + }, + { + "recommendation_id": "rec-2", + "opportunity_id": 2, + "program_name": "NSF America's Seed Fund: Advanced Materials", + "agency": "NSF America's Seed Fund: Advanced Materials", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials" + }, + "effort_estimate": { + "level": "medium", + "explanation": "Likely requires a structured application or technical proposal." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nsf-seed-advanced-materials-topic", + "url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "claim": "NSF provides startups with grant funding for advanced materials applications." + } + ] + }, + { + "recommendation_id": "rec-17", + "opportunity_id": 17, + "program_name": "CalTestBed Apply", + "agency": "CalTestBed Apply", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: advanced materials, manufacturing r&d" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.caltestbed.com/apply/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "caltestbed-apply", + "url": "https://www.caltestbed.com/apply/", + "claim": "Public source page for CalTestBed Apply." + } + ] + }, + { + "recommendation_id": "rec-6", + "opportunity_id": 6, + "program_name": "NASA SBIR 2026 Improved Material Discovery and Development", + "agency": "NASA SBIR 2026 Improved Material Discovery and Development", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials, manufacturing r&d" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.sbir.gov/topics/1012270", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "sbir-gov-nasa-improved-material-discovery-topic", + "url": "https://www.sbir.gov/topics/1012270", + "claim": "Public source page for NASA SBIR 2026 Improved Material Discovery and Development." + } + ] + }, + { + "recommendation_id": "rec-5", + "opportunity_id": 5, + "program_name": "NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS", + "agency": "NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.sbir.gov/topics/1012231", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "sbir-gov-nasa-waterproofing-coatings-topic", + "url": "https://www.sbir.gov/topics/1012231", + "claim": "Public source page for NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS." + } + ] + }, + { + "recommendation_id": "rec-7", + "opportunity_id": 7, + "program_name": "NASA SBIR 2026 Hydrazine-Compatible Elastomeric Materials", + "agency": "NASA SBIR 2026 Hydrazine-Compatible Elastomeric Materials", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.sbir.gov/topics/1012276", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "sbir-gov-nasa-hydrazine-elastomer-topic", + "url": "https://www.sbir.gov/topics/1012276", + "claim": "Public source page for NASA SBIR 2026 Hydrazine-Compatible Elastomeric Materials." + } + ] + }, + { + "recommendation_id": "rec-4", + "opportunity_id": 4, + "program_name": "NSF America's Seed Fund: Chemical Technologies", + "agency": "NSF America's Seed Fund: Chemical Technologies", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials" + }, + "effort_estimate": { + "level": "low", + "explanation": "No high-effort application signals found in current evidence." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://seedfund.nsf.gov/topics/chemical-technologies/", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "nsf-seed-chemical-technologies-topic", + "url": "https://seedfund.nsf.gov/topics/chemical-technologies/", + "claim": "NSF funds startups. Use a research and development grant to create chemical technologies." + } + ] + }, + { + "recommendation_id": "rec-18", + "opportunity_id": 18, + "program_name": "EPA SBIR funding opportunities", + "agency": "EPA SBIR funding opportunities", + "amount": "unknown from current evidence", + "deadline": null, + "deadline_certainty": "unknown", + "eligibility_fit": { + "level": "high", + "explanation": "Matched strong assignment signals: SBIR/STTR, advanced materials" + }, + "effort_estimate": { + "level": "medium", + "explanation": "Likely requires a structured application or technical proposal." + }, + "activity_status": { + "level": "active", + "explanation": "No closed, archived, expired, or past-due signal was found." + }, + "url": "https://www.epa.gov/sbir/sbir-funding-opportunities", + "application_outline": [ + "Company and technology overview", + "Problem, deployment context, and public benefit", + "Technical approach and work plan", + "Commercialization or deployment plan", + "Budget, milestones, and partner commitments" + ], + "evidence": [ + { + "source_id": "epa-sbir-funding-opportunities", + "url": "https://www.epa.gov/sbir/sbir-funding-opportunities", + "claim": "SBIR Program established by the Small Business Innovation Development Act of 1982. EPA issues annual solicitations for Phase I and Phase II research proposals from science and technology-based firms." + } + ] + } + ], + "coverage": [ + { + "source_lane": "Grants.gov", + "status": "matched", + "note": "canonical federal opportunity lane" + }, + { + "source_lane": "SBIR/STTR", + "status": "matched", + "note": "small business funding lane" + }, + { + "source_lane": "ARPA-E", + "status": "matched", + "note": "energy funding lane" + }, + { + "source_lane": "DOE EERE", + "status": "checked_no_match", + "note": "energy funding lane" + }, + { + "source_lane": "NSF", + "status": "matched", + "note": "research and commercialization lane" + } + ] +} diff --git a/sample-outputs/polyspectra/04-ranked_recommendations.md b/sample-outputs/polyspectra/04-ranked_recommendations.md new file mode 100644 index 00000000..e87c6d1d --- /dev/null +++ b/sample-outputs/polyspectra/04-ranked_recommendations.md @@ -0,0 +1,66 @@ +{ + "recommendations": [ + { + "recommendation_id": "rec-1", + "rank": 1, + "program_name": "NSF America's Seed Fund: Advanced Manufacturing", + "agency": "U.S. National Science Foundation", + "confidence": "high", + "why_this_fits": "The topic page explicitly matches polySpectra's industrial additive-manufacturing and 3D-printing materials focus.", + "caveats": "NSF Seed Fund still requires a project pitch and a small-business commercialization story; verify the current solicitation window before treating it as ready to submit.", + "next_step": "Draft a one-page NSF Project Pitch around rugged COR photopolymer resin for industrial end-use parts and map the work to the Advanced Manufacturing topic." + }, + { + "recommendation_id": "rec-2", + "rank": 2, + "program_name": "NSF America's Seed Fund: Advanced Materials", + "agency": "U.S. National Science Foundation", + "confidence": "high", + "why_this_fits": "Advanced materials is a direct match for rugged photopolymer chemistry, resin durability, heat resistance, and chemical resistance.", + "caveats": "The source page is a topic lane, not a complete NOFO; the agent or founder still needs to confirm the active NSF Seed Fund solicitation details.", + "next_step": "Compare whether the project pitch is stronger under Advanced Materials or Advanced Manufacturing before contacting NSF Seed Fund." + }, + { + "recommendation_id": "rec-15", + "rank": 3, + "program_name": "America Makes open project calls", + "agency": "America Makes open project calls", + "confidence": "medium", + "why_this_fits": "America Makes is focused on additive manufacturing and project calls, which is closer to polySpectra than generic SBIR umbrella records.", + "caveats": "The source page is a calls portal; current project calls and applicant structure need manual review before action.", + "next_step": "Review open calls for materials, qualification, standards, or AM process validation topics where polySpectra can lead or join a team." + }, + { + "recommendation_id": "rec-6", + "rank": 4, + "program_name": "NASA SBIR 2026 Improved Material Discovery and Development", + "agency": "NASA SBIR 2026 Improved Material Discovery and Development", + "confidence": "watch", + "why_this_fits": "The SBIR.gov topic is materials-discovery oriented and includes aerospace-facing advanced-materials signals relevant to rugged resin R&D.", + "caveats": "The packet does not prove that photopolymer resin chemistry is in scope; NASA topic wording must be read closely.", + "next_step": "Read the SBIR.gov topic and decide whether COR resin performance data can be framed as a NASA materials-development need." + } + ], + "rejected_candidates": [ + { + "recommendation_id": "rec-49", + "program_name": "Advancing NATO\u2019s Collective Defense and Industrial Capacity", + "reason": "Defense industrial-base lead with no packet evidence for additive manufacturing materials or a clear grant application path." + }, + { + "recommendation_id": "rec-18", + "program_name": "EPA SBIR funding opportunities", + "reason": "EPA SBIR is worth monitoring for environmental materials topics, but the packet evidence does not identify a specific 3D-printing or rugged-resin topic." + }, + { + "recommendation_id": "rec-5", + "program_name": "NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS", + "reason": "NASA coatings topic is more directly relevant to coating/surface-treatment companies than to polySpectra's rugged photopolymer resin platform." + } + ], + "no_good_matches": false, + "review_notes": [ + "The missed NSF Seed Fund and manufacturing source-page lanes now surface directly in the packet.", + "NASA and DOE SBIR records remain agent-review candidates, not automatic recommendations." + ] +} diff --git a/sample-outputs/polyspectra/05-top_pick_explanations.md b/sample-outputs/polyspectra/05-top_pick_explanations.md new file mode 100644 index 00000000..4059b8f3 --- /dev/null +++ b/sample-outputs/polyspectra/05-top_pick_explanations.md @@ -0,0 +1,218 @@ +[ + { + "opportunity": { + "id": 1, + "dedupe_key": "title-url:b7b6b241a0e11cfa84f821990966f49973adb67fff7d76bace5b0b0bbfa50bf7", + "record_type": "grant", + "title": "NSF America's Seed Fund: Advanced Manufacturing", + "sponsor": "NSF America's Seed Fund: Advanced Manufacturing", + "url": "https://seedfund.nsf.gov/topics/advanced-manufacturing/", + "canonicality": "authoritative", + "publication_basis": "source_page", + "summary": "NSF funds startups. Use a research and development grant to create an advanced manufacturing technology.", + "raw_signals": [ + "3d printing", + "additive manufacturing", + "advanced manufacturing", + "advanced materials", + "authoritative", + "grant", + "manufacturing R&D", + "nsf seed fund", + "sbir", + "small business", + "source_page", + "sttr" + ], + "source_refs": [ + { + "source_id": "nsf-seed-advanced-manufacturing-topic", + "source_url": "https://seedfund.nsf.gov/topics/advanced-manufacturing/", + "raw_id": "https://seedfund.nsf.gov/topics/advanced-manufacturing/" + } + ], + "first_seen": "2026-05-13T18:07:23Z", + "last_seen": "2026-05-13T18:07:23Z" + }, + "evidence": [ + { + "source_id": "nsf-seed-advanced-manufacturing-topic", + "url": "https://seedfund.nsf.gov/topics/advanced-manufacturing/", + "claim": "NSF funds startups. Use a research and development grant to create an advanced manufacturing technology." + } + ], + "sources": [ + { + "source_id": "nsf-seed-advanced-manufacturing-topic", + "source_url": "https://seedfund.nsf.gov/topics/advanced-manufacturing/", + "raw_id": "https://seedfund.nsf.gov/topics/advanced-manufacturing/" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-1" + }, + { + "opportunity": { + "id": 2, + "dedupe_key": "title-url:50d5fe7901a6b87f2be1d7ee8432616d46b7cf87cebbdca16a716222620e54fe", + "record_type": "grant", + "title": "NSF America's Seed Fund: Advanced Materials", + "sponsor": "NSF America's Seed Fund: Advanced Materials", + "url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "canonicality": "authoritative", + "publication_basis": "source_page", + "summary": "NSF provides startups with grant funding for advanced materials applications.", + "raw_signals": [ + "advanced materials", + "authoritative", + "coatings", + "grant", + "materials", + "nsf seed fund", + "photonic materials", + "polymer materials", + "sbir", + "small business", + "source_page", + "sttr" + ], + "source_refs": [ + { + "source_id": "nsf-seed-advanced-materials-topic", + "source_url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "raw_id": "https://seedfund.nsf.gov/topics/advanced-materials/" + } + ], + "first_seen": "2026-05-13T18:07:23Z", + "last_seen": "2026-05-13T18:07:23Z" + }, + "evidence": [ + { + "source_id": "nsf-seed-advanced-materials-topic", + "url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "claim": "NSF provides startups with grant funding for advanced materials applications." + } + ], + "sources": [ + { + "source_id": "nsf-seed-advanced-materials-topic", + "source_url": "https://seedfund.nsf.gov/topics/advanced-materials/", + "raw_id": "https://seedfund.nsf.gov/topics/advanced-materials/" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-2" + }, + { + "opportunity": { + "id": 15, + "dedupe_key": "title-url:552b847b8294261f52e9e1b6432084c903d50cf8642e8981c39e747249c84297", + "record_type": "grant", + "title": "America Makes open project calls", + "sponsor": "America Makes open project calls", + "url": "https://www.americamakes.us/our-focus/open-project-calls/", + "canonicality": "curated_lead", + "publication_basis": "source_page", + "summary": "Public source page for America Makes open project calls.", + "raw_signals": [ + "3d printing", + "additive manufacturing", + "advanced manufacturing", + "cooperative agreement", + "curated_lead", + "grant", + "manufacturing R&D", + "materials", + "source_page" + ], + "source_refs": [ + { + "source_id": "america-makes-open-project-calls", + "source_url": "https://www.americamakes.us/our-focus/open-project-calls/", + "raw_id": "https://www.americamakes.us/our-focus/open-project-calls/" + } + ], + "first_seen": "2026-05-13T18:07:26Z", + "last_seen": "2026-05-13T18:07:26Z" + }, + "evidence": [ + { + "source_id": "america-makes-open-project-calls", + "url": "https://www.americamakes.us/our-focus/open-project-calls/", + "claim": "Public source page for America Makes open project calls." + } + ], + "sources": [ + { + "source_id": "america-makes-open-project-calls", + "source_url": "https://www.americamakes.us/our-focus/open-project-calls/", + "raw_id": "https://www.americamakes.us/our-focus/open-project-calls/" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-15" + }, + { + "opportunity": { + "id": 6, + "dedupe_key": "title-url:16aec912e7b219a80505fb558b001bc489f286b7b50b67611e97306e66dce8e9", + "record_type": "grant", + "title": "NASA SBIR 2026 Improved Material Discovery and Development", + "sponsor": "NASA SBIR 2026 Improved Material Discovery and Development", + "url": "https://www.sbir.gov/topics/1012270", + "canonicality": "authoritative_or_corroborating", + "publication_basis": "source_page", + "summary": "Public source page for NASA SBIR 2026 Improved Material Discovery and Development.", + "raw_signals": [ + "advanced materials", + "aerospace materials", + "authoritative_or_corroborating", + "grant", + "manufacturing R&D", + "materials discovery", + "nasa", + "polymer materials", + "sbir", + "small business", + "source_page" + ], + "source_refs": [ + { + "source_id": "sbir-gov-nasa-improved-material-discovery-topic", + "source_url": "https://www.sbir.gov/topics/1012270", + "raw_id": "https://www.sbir.gov/topics/1012270" + } + ], + "first_seen": "2026-05-13T18:07:24Z", + "last_seen": "2026-05-13T18:07:24Z" + }, + "evidence": [ + { + "source_id": "sbir-gov-nasa-improved-material-discovery-topic", + "url": "https://www.sbir.gov/topics/1012270", + "claim": "Public source page for NASA SBIR 2026 Improved Material Discovery and Development." + } + ], + "sources": [ + { + "source_id": "sbir-gov-nasa-improved-material-discovery-topic", + "source_url": "https://www.sbir.gov/topics/1012270", + "raw_id": "https://www.sbir.gov/topics/1012270" + } + ], + "notes": [ + "deterministic explanation; no LLM call was made" + ], + "no_llm": true, + "recommendation_id": "rec-6" + } +] diff --git a/sample-outputs/polyspectra/06-markdown_report.md b/sample-outputs/polyspectra/06-markdown_report.md new file mode 100644 index 00000000..5f2047f8 --- /dev/null +++ b/sample-outputs/polyspectra/06-markdown_report.md @@ -0,0 +1,115 @@ +# Funding Pipeline - polySpectra + +## Summary + +The refreshed ledger now surfaces the source lanes that the manual recall pass found for polySpectra. + +- Current recommendation count: 4 (2 high, 1 medium, 1 watch) +- Retrieval backend: fts5 +- CLI `no_llm`: true +- Nearest deadline: 06/20/2026 + +## Recommended Opportunities + +### 1. [NSF America's Seed Fund: Advanced Manufacturing](https://seedfund.nsf.gov/topics/advanced-manufacturing/) + +- Agency/source: U.S. National Science Foundation +- Confidence: high +- Deadline: unknown from current evidence +- Why this fits: The topic page explicitly matches polySpectra's industrial additive-manufacturing and 3D-printing materials focus. +- Caveat: NSF Seed Fund still requires a project pitch and a small-business commercialization story; verify the current solicitation window before treating it as ready to submit. +- Next step: Draft a one-page NSF Project Pitch around rugged COR photopolymer resin for industrial end-use parts and map the work to the Advanced Manufacturing topic. + +
+Evidence + +- Source: nsf-seed-advanced-manufacturing-topic +- URL: https://seedfund.nsf.gov/topics/advanced-manufacturing/ +- Claim: NSF funds startups. Use a research and development grant to create an advanced manufacturing technology. + +
+ +### 2. [NSF America's Seed Fund: Advanced Materials](https://seedfund.nsf.gov/topics/advanced-materials/) + +- Agency/source: U.S. National Science Foundation +- Confidence: high +- Deadline: unknown from current evidence +- Why this fits: Advanced materials is a direct match for rugged photopolymer chemistry, resin durability, heat resistance, and chemical resistance. +- Caveat: The source page is a topic lane, not a complete NOFO; the agent or founder still needs to confirm the active NSF Seed Fund solicitation details. +- Next step: Compare whether the project pitch is stronger under Advanced Materials or Advanced Manufacturing before contacting NSF Seed Fund. + +
+Evidence + +- Source: nsf-seed-advanced-materials-topic +- URL: https://seedfund.nsf.gov/topics/advanced-materials/ +- Claim: NSF provides startups with grant funding for advanced materials applications. + +
+ +### 3. [America Makes open project calls](https://www.americamakes.us/our-focus/open-project-calls/) + +- Agency/source: America Makes open project calls +- Confidence: medium +- Deadline: unknown from current evidence +- Why this fits: America Makes is focused on additive manufacturing and project calls, which is closer to polySpectra than generic SBIR umbrella records. +- Caveat: The source page is a calls portal; current project calls and applicant structure need manual review before action. +- Next step: Review open calls for materials, qualification, standards, or AM process validation topics where polySpectra can lead or join a team. + +
+Evidence + +- Source: america-makes-open-project-calls +- URL: https://www.americamakes.us/our-focus/open-project-calls/ +- Claim: Public source page for America Makes open project calls. + +
+ +### 4. [NASA SBIR 2026 Improved Material Discovery and Development](https://www.sbir.gov/topics/1012270) + +- Agency/source: NASA SBIR 2026 Improved Material Discovery and Development +- Confidence: watch +- Deadline: unknown from current evidence +- Why this fits: The SBIR.gov topic is materials-discovery oriented and includes aerospace-facing advanced-materials signals relevant to rugged resin R&D. +- Caveat: The packet does not prove that photopolymer resin chemistry is in scope; NASA topic wording must be read closely. +- Next step: Read the SBIR.gov topic and decide whether COR resin performance data can be framed as a NASA materials-development need. + +
+Evidence + +- Source: sbir-gov-nasa-improved-material-discovery-topic +- URL: https://www.sbir.gov/topics/1012270 +- Claim: Public source page for NASA SBIR 2026 Improved Material Discovery and Development. + +
+ +## Not Recommended + +| Candidate | Why rejected | +|---|---| +| Advancing NATO's Collective Defense and Industrial Capacity | Defense industrial-base lead with no packet evidence for additive manufacturing materials or a clear grant application path. | +| EPA SBIR funding opportunities | EPA SBIR is worth monitoring for environmental materials topics, but the packet evidence does not identify a specific 3D-printing or rugged-resin topic. | +| NASA SBIR 2026 Waterproofing Coatings or Surface Treatments for Reusable TPS | NASA coatings topic is more directly relevant to coating/surface-treatment companies than to polySpectra's rugged photopolymer resin platform. | + +## Coverage + +| Source lane | Status | Note | +|---|---|---| +| Grants.gov | matched | canonical federal opportunity lane | +| SBIR/STTR | matched | small business funding lane | +| ARPA-E | matched | energy funding lane | +| DOE EERE | checked_no_match | energy funding lane | +| NSF | matched | research and commercialization lane | + +## Negative Evidence + +- DOE EERE: energy funding lane + +## Review Notes + +- Missed NSF Seed Fund and manufacturing source-page lanes now appear in the packet. +- NASA and DOE SBIR-style records remain review candidates, not automatic recommendations. + +## Provenance + +Generated at 2026-05-13T18:07:31Z from a deterministic `grant-finder research` packet. The CLI reported `retrieval.no_llm: true`; final recommendation judgment was made by the OpenProse `rank-opportunities` service. diff --git a/src/explain-top-picks.prose.md b/src/explain-top-picks.prose.md new file mode 100644 index 00000000..bc23cb74 --- /dev/null +++ b/src/explain-top-picks.prose.md @@ -0,0 +1,59 @@ +--- +name: explain-top-picks +kind: service +--- + +# Explain Selected Opportunities + +### Description + +For each opportunity selected by `rank-opportunities`, invoke +`grant-finder explain --json` to retrieve the per-recommendation evidence +and provenance trail. The CLI already includes summary evidence on each +candidate; `explain` returns the full source trail that the report should cite. + +### Requires + +- `ranked_recommendations`: agent-reviewed selection from `rank-opportunities` + +### Ensures + +- `top_pick_explanations`: array of explanation records for the selected + recommendations, each containing: + - `recommendation_id`: matches `grants[i].recommendation_id` in the packet + - `opportunity`: normalized opportunity record + - `evidence`: list of `{ source_id, url, claim }` items + - `sources`: list of `{ source_id, source_url, raw_id }` provenance links + - `notes`: any notes the CLI emitted (e.g., dedupe rationale) + - `no_llm`: must be `true` on every record + +### Skills + +- grant-finder + +### Shape + +- `self`: invoke `explain` for each recommendation in + `ranked_recommendations.recommendations`, collect results, publish the array +- `prohibited`: inventing evidence the CLI did not return; merging or + paraphrasing evidence across recommendations; explaining recommendations + the agent review did not select + +### Strategies + +- If `ranked_recommendations.recommendations` is empty, publish an empty array. + Do not fall back to retrieval-ordered candidates; weak candidates belong in + `rejected_candidates`, not in the recommendation set shown to the founder, PI, + operator, or project lead. +- Cap explanation work at 5 recommendations. The ranker should already enforce + this, but keep the bound here too. +- For each selected grant, invoke: + ```bash + grant-finder explain "" --json + ``` + The CLI accepts the `rec-` prefix; pass the field verbatim. +- Run the explain calls in parallel — they are read-only against the local + ledger and do not contend. +- Validate each response's `no_llm: true` before adding it to the output. Drop + any record where that flag is missing or false and surface the drop in the + service log. diff --git a/src/format-report.prose.md b/src/format-report.prose.md new file mode 100644 index 00000000..39d41eb2 --- /dev/null +++ b/src/format-report.prose.md @@ -0,0 +1,74 @@ +--- +name: format-report +kind: service +--- + +# Format Report + +### Description + +Compose a concise markdown report for the founder, PI, operator, or project lead +from the deterministic Research Packet, the agent-reviewed recommendations, and +the CLI provenance records. `rank-opportunities` has already made the judgment +call about what is worth recommending; this service renders that decision +clearly. + +### Requires + +- `research_packet`: Research Packet from `run-research` +- `ranked_recommendations`: agent-reviewed ranking from `rank-opportunities` +- `top_pick_explanations`: per-recommendation explanations from `explain-top-picks` + +### Ensures + +- `markdown_report`: a markdown document with these sections: + - `# Funding Pipeline — ` header + - `## Summary`: total potential funding, count of high-fit grants, nearest + deadline, one-line note on retrieval backend and `no_llm` status + - `## Recommended Opportunities`: one concise subsection per + `ranked_recommendations.recommendations` item, with agency, deadline, + confidence, why it fits, caveats, next step, and source URL + - `## Not Recommended`: compact table of important rejected candidates when + `ranked_recommendations.rejected_candidates` is non-empty + - `## Coverage`: a table mirroring `research_packet.coverage` — one row per + source lane, with status and note columns + - `## Negative Evidence`: an explicit callout listing coverage rows whose + status is `checked_no_match`, especially the ARPA-E row when present + - `## Coverage Gaps`: required when any coverage row is `not_checked` or + `ranked_recommendations.search_inconclusive == true` + - `## Provenance`: a line stating the retrieval backend, refresh policy, and + `generated_at` timestamp from the packet + +### Shape + +- `self`: render the structured packet, agent-reviewed ranking, and + explanations into markdown using the sections above, in the order specified +- `prohibited`: introducing claims not backed by `evidence` items; + re-ranking grants; hiding rejected candidates that explain why no + recommendation was made; hiding negative-evidence rows; presenting weak + retrieval records as recommendations + +### Strategies + +- Keep the report short and scannable. Avoid raw retrieval internals unless + they are needed to explain a rejection. +- If `ranked_recommendations.no_good_matches` is true, say so directly and do + not create a fake Recommended Opportunities section. Explain which source + lanes were checked and what a human should try next. +- If `ranked_recommendations.search_inconclusive` is true, or if summary notes + say source refresh was inconclusive, do not say "no credible current + recommendation" as the main conclusion. Say the search is incomplete, + include the source/setup failure, and tell the user to fix the environment + or rerun before treating the result as funding advice. +- For each recommended opportunity, link the program name to the packet URL and + include one evidence URL from the matching explanation. +- Do not dump every evidence field into the main body. Put source details in a + short `
` block only for recommended opportunities. +- For the Negative Evidence section, surface every coverage row where + `status == "checked_no_match"` and `note` is non-empty. The CLI specifically + encodes "no current ARPA-E programs match" as a load-bearing absence; do not + filter it out. +- For the Coverage Gaps section, surface every row where + `status == "not_checked"` and explain that these rows are not negative + evidence. +- Keep the entire report under 200 lines for legibility. diff --git a/src/grant-radar.prose.md b/src/grant-radar.prose.md new file mode 100644 index 00000000..c8d11998 --- /dev/null +++ b/src/grant-radar.prose.md @@ -0,0 +1,215 @@ +--- +name: grant-radar +kind: system +--- + +# Grant Radar + +### Description + +Turn a natural-language lab, startup, or project brief into an evidence-backed +grant radar report by combining deterministic ledger work with agent-side +judgment. The public `grant-finder` Go CLI does source ingestion, dedupe, +FTS5/usearch retrieval, source coverage, and provenance. This OpenProse system +turns a human brief into a Research Assignment, invokes the CLI, reviews the +candidate packet, ranks only credible opportunities, explains selected picks, +and formats a readable report. + +The CLI itself never calls an LLM. All LLM work happens in this system, on the +agent side. That boundary — agent-language in, deterministic evidence work, +then agent judgment out — is the point of the example. + +### Requires + +- `startup_brief`: free-form description of the lab, startup, research team, or + technical project; its focus area; geography; stage; and funding question. + Anything an agent would already know after a conversation with a founder, PI, + operator, or project lead. + +### Ensures + +- `research_assignment`: schema-valid Research Assignment JSON, ready to feed + back into the CLI on later runs without re-resolving the brief +- `research_packet`: the deterministic Research Packet returned by + `grant-finder research` — candidate grants with evidence, provenance, + deadline certainty, preliminary fit signals, effort estimate, coverage rows, + and negative evidence for must-check sources +- `ranked_recommendations`: agent-reviewed recommendation set, including + rejected candidates when the CLI surfaced weak or contraindicated matches +- `top_pick_explanations`: per-recommendation evidence and provenance for the + agent-selected grants, returned by `grant-finder explain` +- `markdown_report`: human-readable summary of the packet — for showing the + founder, PI, operator, or project lead, or for pasting into a Notion/Linear doc + +### Services + +- `resolve-assignment` +- `run-research` +- `rank-opportunities` +- `explain-top-picks` +- `format-report` + +### Skills + +- grant-finder + +### Invariants + +- **No API keys.** This system must run end-to-end with zero third-party API + credentials beyond whatever the host harness already provides for the BYO + Prose VM agent itself. The `grant-finder` CLI uses only free public APIs + (Grants.gov, Federal Register), public agency RSS feeds, and configured + public source pages. No SAM.gov key, no Exa key, no OpenAI/Anthropic keys + inside any service, no browser automation. If a future service wants to add + an API-keyed source, it must be opt-in and the system must still run without + it. +- **No LLM inside the CLI.** Every service that invokes `grant-finder` + validates `retrieval.no_llm == true` (or `no_llm == true` on the explain + packet) before publishing the result. The CLI is the deterministic engine; + agent judgment lives in `resolve-assignment`, `rank-opportunities`, and + `format-report`. +- `resolve-assignment` validates output against + the canonical + [`research-assignment.schema.json`](https://github.com/openprose/grant-finder/blob/main/schemas/research-assignment.schema.json) + before publishing it. The CLI rejects invalid assignments at the boundary; + this system rejects them at composition time. +- `run-research` passes the assignment to the CLI via stdin + (`--assignment -`) and reads JSON from stdout. The system never writes the + resolved assignment to a shared location it does not control. +- The CLI is invoked with `--refresh auto --semantic auto` by default. The + system never forces `--include-inactive` unless the brief explicitly asks + for historical comparable awards. + +## Prerequisites + +This system declares the `grant-finder` host-harness skill (see `### Skills` +above). Forme refuses to wire the system if the skill is not installed, +returning `skill_unresolved` before any service runs. That guarantees the +dependency is satisfied at wiring time rather than failing mid-run. + +**Two-step install:** the `grant-finder` CLI and host-harness skill live in the +[`openprose/grant-finder`](https://github.com/openprose/grant-finder) repo even +when this system is mirrored inside `openprose/prose`. The skill install step +refreshes old symlinks because a stale installed skill can make the host agent +follow old instructions. + +```bash +# 1. Clone or update the grant-finder source, then build the CLI. +GF_SRC="${GF_SRC:-$HOME/src/grant-finder}" +mkdir -p "$(dirname "$GF_SRC")" +if [ -d "$GF_SRC/.git" ]; then + git -C "$GF_SRC" pull --ff-only +else + git clone https://github.com/openprose/grant-finder.git "$GF_SRC" +fi +cd "$GF_SRC" +mkdir -p "$HOME/.local/bin" +(cd cli/grant-finder && go build -o "$HOME/.local/bin/grant-finder" ./cmd/grant-finder) + +# 2. Install or refresh the grant-finder host-harness skill +install_skill_link() { + skills_dir="$1" + target="$skills_dir/grant-finder" + mkdir -p "$skills_dir" + if [ -e "$target" ] && [ ! -L "$target" ]; then + echo "Existing non-symlink skill path: $target" + echo "Leaving it untouched. Move it yourself if you want this repo's skill." + return 1 + fi + ln -sfn "$PWD/skills/grant-finder" "$target" +} + +install_skill_link "$HOME/.claude/skills" # Claude Code +install_skill_link "$HOME/.codex/skills" # Codex +install_skill_link "$HOME/.agents/skills" # Gemini / other harnesses +``` + +Confirm both halves are wired: + +```bash +"$HOME/.local/bin/grant-finder" version +ls -l "$HOME/.codex/skills/grant-finder/SKILL.md" +``` + +Optional: `usearch` on `PATH` enables local semantic retrieval. Without it, +the CLI falls back to SQLite FTS5 automatically. No API keys are required. + +### Sandbox invocation + +The default `codex-sdk` harness for `prose run` sandboxes the spawned agent +to a read-only `$HOME` and blocks outbound network. The CLI cannot run +under those defaults — it needs to create its SQLite ledger under +`~/.local/share/grant-finder/` and reach public APIs (Grants.gov, Federal +Register), agency RSS feeds, and configured public source pages. +Run the commands below from this example directory: `examples/openprose` in +`openprose/grant-finder`, or `skills/open-prose/examples/grant-radar` in the +`openprose/prose` mirror. + +**Recommended (granular permissions)** — requires +[openprose/prose#78](https://github.com/openprose/prose/pull/78) (or any +prose release that includes it) for the `PROSE_CODEX_ADD_DIR` / +`PROSE_CODEX_NETWORK` env-passthrough): + +```bash +PROSE_CODEX_SANDBOX_MODE=workspace-write \ +PROSE_CODEX_APPROVAL_POLICY=never \ +PROSE_CODEX_ADD_DIR=$HOME/.local/share/grant-finder \ +PROSE_CODEX_NETWORK=true \ +GRANT_FINDER_BIN=$HOME/.local/bin/grant-finder \ +prose run src/grant-radar.prose.md \ + --startup_brief "$(cat fixtures/polyspectra.brief.txt)" +``` + +**Fallback (no sandbox)** — works on any prose version, including 0.13.1: + +```bash +PROSE_CODEX_SANDBOX_MODE=danger-full-access \ +PROSE_CODEX_APPROVAL_POLICY=never \ +GRANT_FINDER_BIN=$HOME/.local/bin/grant-finder \ +prose run src/grant-radar.prose.md \ + --startup_brief "$(cat fixtures/polyspectra.brief.txt)" +``` + +The granular form is strictly less broad — it grants only the specific +filesystem path and outbound network access this system declares in +`### Environment`. Use it as soon as your prose CLI supports the +passthrough env vars. + +### Environment + +**Env vars (read by the system services):** + +- `GRANT_FINDER_BIN`: optional override for the `grant-finder` executable path. + When unset, services resolve `grant-finder` from `PATH`. +- `GRANT_FINDER_DB`: optional path to a persistent SQLite ledger. When unset, + the CLI uses `~/.local/share/grant-finder/grant-finder.sqlite`. Sharing the + ledger across runs makes subsequent research packets faster and surfaces + changes between runs. + +**Host harness sandbox requirements (soft documentation today; intended to +become Forme-enforced):** + +The `grant-finder` CLI requires permissions that a stock sandboxed Prose VM +agent run does not grant by default. Forme today does not parse a structured +permission schema here — the entries below are documentation. Once Forme +gains the schema, they should become enforced. + +``` +filesystem.write: + - ~/.local/share/grant-finder/ # SQLite ledger + - ${GRANT_FINDER_DB%/*}/ # if GRANT_FINDER_DB is set, its parent + +network.outbound: + - api.grants.gov # Grants.gov search + fetchOpportunity + - www.federalregister.gov # Federal Register document hydration + - grants.gov # XML bulk extract page + # plus the RSS and public source-page URLs declared in: + # https://github.com/openprose/grant-finder/tree/main/cli/grant-finder/internal/grantfinder/data + +exec: + - grant-finder # the CLI binary itself +``` + +If the host harness does not grant these (e.g., the default codex-sdk +sandbox), the run reaches `run-research` and stalls trying to create the +ledger or fetch sources. See `## Prerequisites` for the sandbox invocation. diff --git a/src/rank-opportunities.prose.md b/src/rank-opportunities.prose.md new file mode 100644 index 00000000..6a06960f --- /dev/null +++ b/src/rank-opportunities.prose.md @@ -0,0 +1,94 @@ +--- +name: rank-opportunities +kind: service +--- + +# Rank Opportunities + +### Description + +Review the deterministic candidate packet from `grant-finder research` and +decide which opportunities, if any, should be recommended to the founder, PI, +operator, or project lead. + +The CLI is intentionally conservative and mechanical: it refreshes deterministic +public sources, retrieves ledger records, attaches evidence, reports source +coverage, and marks `no_llm: true`. This service is where agent judgment +belongs. It applies the assignment constraints, rejects poor fits, and writes +concise, evidence-grounded recommendation rationales. + +### Requires + +- `research_assignment`: schema-valid Research Assignment JSON from + `resolve-assignment` +- `research_packet`: deterministic candidate packet from `run-research` + +### Ensures + +- `ranked_recommendations`: JSON object with: + - `recommendations`: array of 0-5 selected opportunities, each containing: + - `recommendation_id`: copied from `research_packet.grants[*]` + - `rank`: 1-based rank after agent review + - `program_name`: copied from the packet + - `agency`: copied from the packet + - `confidence`: `high`, `medium`, or `watch` + - `why_this_fits`: concise rationale grounded in assignment facts and + packet evidence + - `caveats`: concrete eligibility or freshness concerns + - `next_step`: one practical action for the organization or upstream agent + - `rejected_candidates`: array of candidates that looked superficially + plausible but should not be recommended, each with + `recommendation_id`, `program_name`, and `reason` + - `no_good_matches`: boolean, true when no candidate is good enough to + recommend + - `search_inconclusive`: optional boolean, true when the packet indicates + source refresh failed or key source lanes were not checked + - `review_notes`: brief notes on source coverage and search limitations + +### Shape + +- `self`: read the assignment constraints and every candidate in + `research_packet.grants`; select only opportunities that are credible for + the specific organization; publish `ranked_recommendations` +- `prohibited`: recommending a candidate that contradicts explicit assignment + constraints; treating retrieval order or preliminary fit labels as final + judgment; inventing eligibility, amount, deadline, or source claims; + recommending records whose evidence is only generic SBIR/STTR language with + no domain match; filling the report with weak picks because the packet has + no strong matches + +### Strategies + +- Start from the assignment, not the packet order. Extract the organization's + stage, entity type, geography, technologies, application constraints, and + known exclusions before reading candidates. +- Review every candidate in `research_packet.grants`. For each candidate, + decide whether the packet evidence proves all of these: + - entity fit: the applicant type is plausible for this organization + - domain fit: the source text mentions the organization's technology, market, + research area, or application lane + - actionability: the record is a live or monitor-worthy funding path, not + only historical context or broad ecosystem news + - constraint fit: the candidate does not conflict with explicit exclusions +- Reject SBIR/STTR records for academic labs or any assignment that says + SBIR/STTR is not the right vehicle. +- Reject generic small-business programs when the evidence does not mention + the organization's domain, technology, geography, or application lane. +- Treat broad umbrella records, parent announcements, and news items as + `watch` at best unless the evidence points to a concrete live solicitation. +- Use `confidence: high` only for a live, source-backed opportunity with clear + entity and domain fit. Use `medium` for plausible but incomplete fit. Use + `watch` for source trails worth monitoring but not ready to apply to. +- Prefer fewer recommendations over noisy recommendations. If nothing is a + credible fit, set `recommendations: []`, `no_good_matches: true`, and explain + what source lanes were checked. +- If `research_packet.summary.notes` says source refresh was inconclusive, or + coverage rows are `not_checked` because refresh failed, set + `search_inconclusive: true`. In that case, do not describe the result as + evidence that no matching opportunities exist; describe it as an incomplete + search and name the setup/source problem. +- Put important near-misses in `rejected_candidates`. A good rejection is often + more useful than a bad recommendation because it tells the organization what + not to waste time on. +- Keep rationales short. A founder, PI, operator, or project lead should be + able to scan the whole object in under a minute. diff --git a/src/resolve-assignment.prose.md b/src/resolve-assignment.prose.md new file mode 100644 index 00000000..6c0d769a --- /dev/null +++ b/src/resolve-assignment.prose.md @@ -0,0 +1,64 @@ +--- +name: resolve-assignment +kind: service +--- + +# Resolve Assignment + +### Description + +Turn a free-form `startup_brief` into a schema-valid Research Assignment JSON +that the `grant-finder` CLI can consume. The input name is historical; the brief +may describe a startup, academic lab, PI-led research group, nonprofit research +team, or technical project. This is the agent-side translation step: people talk +in sentences, the CLI takes structured input. + +The Research Assignment schema lives at the canonical +[`research-assignment.schema.json`](https://github.com/openprose/grant-finder/blob/main/schemas/research-assignment.schema.json) +in the public grant-finder repo. The service must validate its output against +that schema before publishing it. + +### Requires + +- `startup_brief`: free-form description of the organization or project, its + technology or research focus, geography, stage/entity type, and funding + question + +### Ensures + +- `research_assignment`: JSON conforming to the canonical Research Assignment + schema, with these fields filled conservatively: + - `assignment_id`: a stable slug derived from the organization/project name + and date + - `research_question`: a single sentence restating the funding question + - `company_profile`: `{ name, description, stage, location, technologies, constraints }` + - `focus_areas`: 2–8 technology/program lanes derived from the brief + - `target_geographies`: jurisdictions the organization can credibly apply in + - `known_grants`: any grants the brief explicitly says the team already knows + about (excluded from CLI ranking) + +### Shape + +- `self`: parse the brief, extract entities, fill the assignment fields, + validate against the schema, publish the assignment +- `prohibited`: inventing technology areas the brief does not support; + inferring jurisdictions the organization has no presence in; coining an + organization name when the brief does not provide one; emitting an assignment + that does not validate against the schema + +### Strategies + +- Read the canonical Research Assignment schema once before drafting so field + names, required keys, and types are exact. If the host cannot fetch that URL, + use the field list above and rely on the CLI boundary validation in + `run-research` to catch schema mistakes. +- Pull `focus_areas` from explicit nouns in the brief, not adjacent + associations. *"EV charging"* belongs; *"clean energy"* belongs only if the + brief actually uses those words or a near synonym. +- For `target_geographies`, include `United States` plus any state-level + jurisdictions the brief names. Do not add states by association. +- For `constraints`, surface anything explicit: *"non-dilutive only"*, *"no + defense work"*, *"avoid grants requiring matching funds"*. Leave the list + empty if the brief is silent. +- Validate before publishing. If validation fails, fix the offending field + and re-validate rather than relaxing the schema. diff --git a/src/run-research.prose.md b/src/run-research.prose.md new file mode 100644 index 00000000..a80c2f50 --- /dev/null +++ b/src/run-research.prose.md @@ -0,0 +1,70 @@ +--- +name: run-research +kind: service +--- + +# Run Research + +### Description + +Invoke the public `grant-finder` CLI as a subprocess, passing the resolved +Research Assignment on stdin and reading the Research Packet from stdout. The +CLI does the work; this service just bridges JSON across the process boundary. + +### Requires + +- `research_assignment`: schema-valid Research Assignment JSON from + `resolve-assignment` + +### Ensures + +- `research_packet`: the deterministic Research Packet returned by + `grant-finder research --json`. The packet includes: + - `assignment_id` + - `retrieval`: backend used (`usearch`, `fts5`, or fallback) and the + constructed query + - `summary`: high-fit count, nearest deadline, total potential funding + - `grants`: retrieval-ordered candidate opportunities with `recommendation_id`, + `opportunity_id`, `program_name`, `agency`, `amount`, `deadline`, + `deadline_certainty`, `eligibility_fit`, `effort_estimate`, + `activity_status`, `url`, `application_outline`, and `evidence` + - `coverage`: per-source-lane status rows including negative evidence for + must-check lanes (e.g., ARPA-E) + +### Skills + +- grant-finder + +### Shape + +- `self`: shell out to the `grant-finder` binary, pass the assignment via + stdin, capture stdout, parse JSON, publish the packet +- `prohibited`: editing or filtering the packet before publishing it (downstream + services can format or summarize, but this service must not silently drop + records); calling any LLM with the assignment contents; writing the assignment + to a path under user control beyond the CLI's own ledger + +### Strategies + +- Resolve the binary path from `$GRANT_FINDER_BIN` if set, otherwise the first + `grant-finder` on `PATH`. If neither resolves, fail with a clear message + naming the binary and pointing at `## Prerequisites` in the top-level + `grant-radar` system. +- Invoke as: + ```bash + grant-finder research \ + --assignment - \ + --refresh auto \ + --semantic auto \ + --json + ``` + Pipe `research_assignment` JSON into stdin. Pass `--db "$GRANT_FINDER_DB"` + when that environment variable is set. +- The CLI may take 5–60 seconds for a cold ledger that needs to refresh. That + is the CLI's deterministic work, not an LLM hop. Stream stderr so progress + is visible without blocking on it. +- If the CLI exits non-zero, capture both the exit code and stderr in the + failure message and surface them as-is. Do not paraphrase the CLI's error. +- Validate that the returned packet has `retrieval.no_llm == true`. The CLI + must not have called an LLM internally; if that field is missing or false, + fail before publishing. From c74ba7f7cd26449fd4d4e947766d34b6837a316f Mon Sep 17 00:00:00 2001 From: Raymond Weitekamp Date: Wed, 13 May 2026 17:02:32 -0400 Subject: [PATCH 2/4] docs: index mirrored Grant Radar example --- README.md | 2 +- skills/open-prose/examples/README.md | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3f693d67..20d21e29 100644 --- a/README.md +++ b/README.md @@ -329,7 +329,7 @@ Start with: | [customer-risk-radar](skills/open-prose/examples/customer-risk-radar/) | Customer risk monitoring before renewals or escalations | | [release-readiness](skills/open-prose/examples/release-readiness/) | Release evidence, risk, notes, and rollback context | | [compliance-evidence-tracker](skills/open-prose/examples/compliance-evidence-tracker/) | Audit evidence freshness and gap tracking | -| [grant-radar](https://github.com/openprose/grant-finder/tree/main/examples/openprose) | External example: source-cited funding research for labs, startups, and technical teams | +| [grant-radar](skills/open-prose/examples/grant-radar/) | Source-cited funding research for labs, startups, and technical teams; mirrored from [`openprose/grant-finder`](https://github.com/openprose/grant-finder) | ## Libraries diff --git a/skills/open-prose/examples/README.md b/skills/open-prose/examples/README.md index c880a2d1..e9594a6f 100644 --- a/skills/open-prose/examples/README.md +++ b/skills/open-prose/examples/README.md @@ -26,18 +26,13 @@ receipts in `runs/`, durable state in `state/`, and dependencies in `deps/`. skills (grill-with-docs, to-prd, to-issues, tdd, plus his per-repo conventions) into a single non-interactive OpenProse system, with the two-subagent grill-and-decide split called out as an OpenProse adaptation. - -## External Examples - -These examples live in separate repos when they depend on product-specific -source code or should keep their own release cadence. - -- [grant-radar](https://github.com/openprose/grant-finder/tree/main/examples/openprose) - demonstrates an OpenProse system that drives the public +- [grant-radar](./grant-radar/) mirrors the canonical + [`openprose/grant-finder`](https://github.com/openprose/grant-finder) + example and demonstrates an OpenProse system that drives the public [`grant-finder`](https://github.com/openprose/grant-finder) CLI to produce source-cited non-dilutive funding reports for research labs, startups, and technical teams. The `grant-finder` repo remains the source of truth for that - example. + example; see [grant-radar/MIRROR.md](./grant-radar/MIRROR.md). ## Quick Start From 0f948f43f7bbec2684230fa1d11d8ac53d11fe2f Mon Sep 17 00:00:00 2001 From: Raymond Weitekamp Date: Wed, 13 May 2026 20:05:27 -0400 Subject: [PATCH 3/4] Squashed 'skills/open-prose/examples/grant-radar/' changes from 1dea93c..d60fe08 d60fe08 docs(openprose): keep mirror mechanics out of examples git-subtree-dir: skills/open-prose/examples/grant-radar git-subtree-split: d60fe0806118de4163dd787ab09ea18af83f37da --- MIRROR.md | 35 ----------------------------------- README.md | 10 +++++----- src/grant-radar.prose.md | 8 ++++---- 3 files changed, 9 insertions(+), 44 deletions(-) delete mode 100644 MIRROR.md diff --git a/MIRROR.md b/MIRROR.md deleted file mode 100644 index 38825c31..00000000 --- a/MIRROR.md +++ /dev/null @@ -1,35 +0,0 @@ -# Mirror Notes - -Canonical source: -https://github.com/openprose/grant-finder/tree/main/examples/openprose - -Public mirror: -https://github.com/openprose/prose/tree/main/skills/open-prose/examples/grant-radar - -This directory is mirrored into `openprose/prose` with `git subtree` from the -`openprose/grant-finder` `examples-mirror` branch. Edit the canonical source in -`openprose/grant-finder/examples/openprose/`, then refresh the split branch and -open a downstream pull request in `openprose/prose`. - -Keep files in this directory portable: - -- Use relative links only for files that live inside this directory. -- Use canonical `https://github.com/openprose/grant-finder/...` links for - schemas, CLI source, host-harness skills, ADRs, or other files outside this - directory. -- Write run commands from this example directory, not from a repository root. - -Maintainer refresh from `openprose/grant-finder`: - -```bash -git branch -D examples-mirror 2>/dev/null -git subtree split --prefix=examples/openprose -b examples-mirror -safe-push origin examples-mirror --force-with-lease -``` - -Downstream refresh in `openprose/prose`: - -```bash -git subtree pull --prefix=skills/open-prose/examples/grant-radar \ - https://github.com/openprose/grant-finder examples-mirror --squash -``` diff --git a/README.md b/README.md index d62c91a1..de2f0236 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Open this example directory first. In `openprose/grant-finder`, that is: cd examples/openprose ``` -In the `openprose/prose` mirror, that is: +In `openprose/prose`, that is: ```bash cd skills/open-prose/examples/grant-radar @@ -87,10 +87,10 @@ research_packet + ranked_recommendations + top_pick_explanations + markdown_repo Two-step install — both are required for this example to wire cleanly. The `grant-finder` CLI and host-harness skill live in the -[`openprose/grant-finder`](https://github.com/openprose/grant-finder) repo even -when you are reading this mirrored example inside `openprose/prose`. The skill -install step is intentionally update-safe because a stale installed skill can -make an agent follow old instructions. +[`openprose/grant-finder`](https://github.com/openprose/grant-finder) repo. +Clone or update that repo before running this example. The skill install step is +intentionally update-safe because a stale installed skill can make an agent +follow old instructions. ```bash # 1. Clone or update the grant-finder source, then build the CLI. diff --git a/src/grant-radar.prose.md b/src/grant-radar.prose.md index c8d11998..eea657d3 100644 --- a/src/grant-radar.prose.md +++ b/src/grant-radar.prose.md @@ -88,8 +88,8 @@ returning `skill_unresolved` before any service runs. That guarantees the dependency is satisfied at wiring time rather than failing mid-run. **Two-step install:** the `grant-finder` CLI and host-harness skill live in the -[`openprose/grant-finder`](https://github.com/openprose/grant-finder) repo even -when this system is mirrored inside `openprose/prose`. The skill install step +[`openprose/grant-finder`](https://github.com/openprose/grant-finder) repo. +Clone or update that repo before running this system. The skill install step refreshes old symlinks because a stale installed skill can make the host agent follow old instructions. @@ -142,8 +142,8 @@ under those defaults — it needs to create its SQLite ledger under `~/.local/share/grant-finder/` and reach public APIs (Grants.gov, Federal Register), agency RSS feeds, and configured public source pages. Run the commands below from this example directory: `examples/openprose` in -`openprose/grant-finder`, or `skills/open-prose/examples/grant-radar` in the -`openprose/prose` mirror. +`openprose/grant-finder`, or `skills/open-prose/examples/grant-radar` in +`openprose/prose`. **Recommended (granular permissions)** — requires [openprose/prose#78](https://github.com/openprose/prose/pull/78) (or any From e6aec0711c39afc831d54a664306df8b4ba11ccb Mon Sep 17 00:00:00 2001 From: Raymond Weitekamp Date: Wed, 13 May 2026 20:06:01 -0400 Subject: [PATCH 4/4] docs: present Grant Radar as a normal example --- README.md | 2 +- skills/open-prose/examples/README.md | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 20d21e29..5e24ebfa 100644 --- a/README.md +++ b/README.md @@ -329,7 +329,7 @@ Start with: | [customer-risk-radar](skills/open-prose/examples/customer-risk-radar/) | Customer risk monitoring before renewals or escalations | | [release-readiness](skills/open-prose/examples/release-readiness/) | Release evidence, risk, notes, and rollback context | | [compliance-evidence-tracker](skills/open-prose/examples/compliance-evidence-tracker/) | Audit evidence freshness and gap tracking | -| [grant-radar](skills/open-prose/examples/grant-radar/) | Source-cited funding research for labs, startups, and technical teams; mirrored from [`openprose/grant-finder`](https://github.com/openprose/grant-finder) | +| [grant-radar](skills/open-prose/examples/grant-radar/) | Source-cited funding research for labs, startups, and technical teams | ## Libraries diff --git a/skills/open-prose/examples/README.md b/skills/open-prose/examples/README.md index 5bdf5e13..8116990d 100644 --- a/skills/open-prose/examples/README.md +++ b/skills/open-prose/examples/README.md @@ -30,13 +30,10 @@ receipts in `runs/`, durable state in `state/`, and dependencies in `deps/`. requirement that fails closed at compile time when the host skill is missing. - [declared-tools](./declared-tools/) shows a minimal `### Tools` requirement that fails closed at compile time when the host CLI executable is missing. -- [grant-radar](./grant-radar/) mirrors the canonical - [`openprose/grant-finder`](https://github.com/openprose/grant-finder) - example and demonstrates an OpenProse system that drives the public +- [grant-radar](./grant-radar/) demonstrates an OpenProse system that drives the public [`grant-finder`](https://github.com/openprose/grant-finder) CLI to produce source-cited non-dilutive funding reports for research labs, startups, and - technical teams. The `grant-finder` repo remains the source of truth for that - example; see [grant-radar/MIRROR.md](./grant-radar/MIRROR.md). + technical teams. ## Quick Start