| LLM model | anthropic/claude-haiku-4.5 (OpenRouter; key present) |
| Database | postgres://postgres/n8n - tables grantos_runs, grantos_clients |
| Data sources | Grants.gov search2 (federal, live) · CA Grants Portal via data.ca.gov (state, live) · ProPublica Nonprofit Explorer (foundation prospects, IRS data) · LLM lane scout (corporate/community, speculative) · ProPublica org financials + 990 PDFs (foundation intel, cached 7d) · client sites (concierge) |
| Host | srv1594707 sidecar /docker/grantos-prime - Traefik + LE - repo github.com/loscodosmuchos/grantos |
| v3.4.4 | 2026-07-13 | Fix: hands-off /client/{slug}/run now rebuilds from the current saved profile so category/eligibility/keyword edits take effect (previously replayed the last run’s params). Fixed char-join bug on string keywords. |
| v3.4.3 | 2026-07-13 | Foundation prospects filtered to real grantmakers (NTEE T-family or community-foundation names; excludes colleges/chambers/hospitals/districts). Per-client category retuning (SMM: HL+ISS+ED, dropped AR/CD noise). |
| v3.4.2 | 2026-07-13 | Report quality: foundation prospects region-ranked (client metro first, out-of-state dropped) with inline IRS capacity (revenue+year); strategist deadline-feasibility rule (nothing closing <21 days headlined Pursue). |
| v3.4.1 | 2026-07-13 | POST /client/{slug}/run: hands-off re-run on saved params (JSON out) for n8n scheduled runs. |
| v3.4.0 | 2026-07-13 | Change-alert backend: /run/{rid}/diff and /client/{slug}/diff (new/dropped/deadline-moved/fit-changed keyed by source_url; ?html=1 alert card). Backbone for weekly scheduled runs. |
| v3.3.0 | 2026-07-13 | Foundation 990 intel: every prospect gets a financial-intel page (ProPublica/IRS filings: revenue, assets, contributions, 990 PDF links), cached in Postgres. Grant-row XML extraction documented as Phase 3 (IRS S3 index dead; TEOS bulk-ZIP only). |
| v3.2.2 | 2026-07-13 | CRITICAL FIX: Grants.gov returns award counts/amounts as strings; the divide crashed enrichment for most items, silently degrading every fit score since v2. All numerics now coerced — award $ and applicant types land reliably. |
| v3.2.1 | 2026-07-13 | Enrichment hardening: retry with backoff + error samples in trace (fixes runs where award/eligibility data silently failed); CA portal items are always carried into the scored shortlist. |
| v3.2.0 | 2026-07-13 | MULTI-SOURCE: CA Grants Portal (data.ca.gov) searched alongside Grants.gov; foundation prospecting via ProPublica/IRS; LLM corporate-CSR + community-foundation lane scout (labeled speculative). Add-a-client wizard framing. Scoring: foreign-geography penalty, thin-match capped below Possible. |
| v3.1.0 | 2026-07-13 | Curated operator-research layer (original A-matches persist on every run + report); softer unknown-eligibility penalty (API pre-filter credit); curated cross-match boost; version badge + /admin dev tab. |
| v3.0.0 | 2026-07-13 | Multi-client profiles in Postgres; LLM concierge intake (URL/description -> profile draft); re-run; mission-gated honest scoring w/ Low match tier; formatted strategist notes; tooltips; visible pipeline strip. |
| v2.0.0 | 2026-07-13 | Trace-based pipeline, enrichment (award $ / applicant types), fit scoring vs SMM, LLM strategist note, client report export. |
| v1.0.0 | 2026-07-13 | First deploy: live Grants.gov search2 -> triage -> Postgres ledger + OpenRouter note. |
| Org | slug | profile |
|---|---|---|
| Soul Medicine Mobile | soul-medicine-mobile | 6 curated - 14 mission terms - $250,000 |
| Soul Medicine | soul-medicine | 0 curated - 12 mission terms - $200,000 |
| Satya Wellness | satya-wellness | 0 curated - 12 mission terms - $250,000 |
| Soul Medicine Mobile | soul-medicine-mobile2 | 0 curated - 12 mission terms - $250,000 |
| Run | When | Org | Fits | Errors |
|---|---|---|---|---|
| #31 | 2026-07-14 06:49 | Soul Medicine Mobile | 0S / 2P / 12St / 23L | - |
| #30 | 2026-07-14 06:48 | Soul Medicine Mobile | 0S / 2P / 4St / 31L | - |
| #29 | 2026-07-14 06:48 | Soul Medicine Mobile | 0S / 2P / 12St / 23L | - |
| #28 | 2026-07-14 06:47 | Soul Medicine Mobile | 0S / 2P / 7St / 28L | - |
| #27 | 2026-07-14 06:47 | Soul Medicine Mobile | 0S / 2P / 4St / 31L | - |
| #26 | 2026-07-14 06:47 | Soul Medicine Mobile | 0S / 2P / 12St / 23L | - |
| #25 | 2026-07-14 06:46 | Soul Medicine Mobile | 0S / 2P / 4St / 31L | - |
| #24 | 2026-07-14 06:46 | Soul Medicine Mobile | 0S / 2P / 12St / 23L | - |
| Intake / profile | Loads the client profile: budget, mission terms, geography, eligibility codes. |
| Query expansion | Expands your plain keywords into funder-language synonyms via the taxonomy crosswalk. |
| Grants.gov search2 | Federal: every keyword x category combo queried live against the Grants.gov search2 API in parallel. |
| CA Grants Portal | State: same funder-language keywords queried live against grants.ca.gov via the official data.ca.gov API (CA clients). |
| Normalize / dedupe | Merges duplicate hits across queries; drops already-closed opportunities. |
| Rules triage | Deterministic title scoring: mission terms boost, clinical/infrastructure terms penalize, hard excludes drop. |
| Enrich detail | Top 30 get award floor/ceiling, applicant types and synopsis from fetchOpportunity. |
| Fit score vs profile | 0-100 score vs THIS client: eligibility gate, award scale vs budget, mission-language overlap. |
| Analyst note (LLM) | LLM writes the strategist note over the scored shortlist. Advisory only — never changes scores. |
| Foundation prospects | IRS/ProPublica lookup of grantmaking foundations in the client state — verified orgs to cultivate (no open-RFP data). |
| Lane scout (LLM) | LLM suggests named community-foundation / state-local / corporate-CSR lanes. SPECULATIVE — verify before client delivery. |