{
 "version": "1.8.0",
 "slug": "farm-disaster-relief-claims-completeness-pack-engine",
 "title": "AgReliefClear — Farm Disaster & Crop-Loss Claims Completeness Pack Engine",
 "vertical": "Agriculture / federal disaster-program documentation",
 "seed": {
  "s": "farm-disaster-relief-claims-completeness-pack-engine",
  "t": "AgReliefClear — Farm Disaster & Crop-Loss Claims Completeness Pack Engine",
  "v": "Agriculture / federal disaster-program documentation",
  "r": "Medium-high",
  "m": "M"
 },
 "product": {
  "slug": "farm-disaster-relief-claims-completeness-pack-engine",
  "project_name": "AgReliefClear",
  "project_type": "regulator-fluent compliance documentation workflow application",
  "vertical": "Agriculture / federal disaster-program documentation",
  "audience": "row-crop and specialty-crop farm operators (200-3,000+ acres) with a 2023-2024 weather-related crop loss",
  "geography": "United States (federal program), beachhead in 2-3 SDRP-eligible Midwest or Southern row-crop counties",
  "scale_expectation": "150 farms across 3-5 beachhead counties in the first SDRP program cycle; per-program-year pack volume with a hard Aug 12, 2026 filing-window spike",
  "core_workflows": [
   "Farm intake & document normalization",
   "Farm eligibility profile & multi-program screening evidence",
   "Eligibility scoring & filing-window tracking",
   "Completeness Pack release & FSA completeness-request handling"
  ],
  "discovery": {
   "one_line_purpose": "On AgReliefClear, farm operators stop guessing at SDRP Stage 2 and start filing Completeness Packs. The farm's records and coverage profile are extracted at intake, a multi-program eligibility screen runs against the versioned FSA/RMA rules library, deterministic rules check every required form field, and every Completeness Pack releases with a specialist signature and an audit trail.",
   "primary_users": [
    "row-crop and specialty-crop farm operators carrying federal crop insurance or NAP coverage",
    "Agricultural-loss documentation specialist / farm-program reviewer",
    "Crop-insurance agent or ag lender referral partner (read-only, evidence handoff only)"
   ],
   "jobs_to_be_done": [
    "Produce a filed SDRP Stage 2 completeness pack for a delinquent claim without retaining a USDA-navigation consultant for every clerical step",
    "Prove a documented multi-program eligibility screen so a later FSA completeness request or NAD appeal doesn't strand the filing",
    "File before the August 12, 2026 deadline without losing a week of harvest season to paperwork"
   ],
   "value_prop": "AgReliefClear turns a farm's scattered yield, insurance, and acreage records into a filing-ready, specialist-released SDRP/NAP/ERP Completeness Pack — reconstructable on demand, defensible under an FSA completeness reviewer's read, with the farmer always the applicant of record.",
   "competitors": [
    "Independent USDA-navigation consultants (Ambrook/Offrange-documented) who do materially similar work manually, without AI-native scaling",
    "Farm-operated software (FarmRaise, Ambrook) that tracks programs but still requires the farmer to do the work",
    "The shoebox of yield tickets and insurance mail where a farm's disaster-claim evidence currently goes to die"
   ],
   "differentiation": "Done-for-you packs, not a dashboard: a versioned multi-program eligibility screen, deterministic checks on every required FSA form field (never an LLM), specialist release on every pack, FSA-211-authorized filing, and explicit evidence-gap lists instead of invented data.",
   "positioning_statement": "For farm operators who fear a defective or incomplete SDRP Stage 2 filing will cost them a federal disaster payment, AgReliefClear is the done-for-you documentation service that turns a farm's own records into a filed, audit-ready Completeness Pack — unlike farm-operated software that expects the farmer to run the paperwork, or a USDA-navigation consultant priced and staffed for a handful of farms per cycle."
  },
  "assumptions": [
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-a1",
    "statement": "Farm operators will pay for evidence-linked, human-reviewed filings over unverified AI generation or DIY FSA portal use.",
    "confidence": "medium",
    "impact_if_wrong": "severe",
    "revisit_trigger": "First 5 pilot-cohort sales calls — reject if willingness-to-pay signal is absent."
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-a2",
    "statement": "The workflow can be reconstructed from farmer-supplied yield, insurance, and acreage records within the 5-business-day cycle-time target.",
    "confidence": "medium",
    "impact_if_wrong": "high",
    "revisit_trigger": "First real pilot filing cycle."
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-a3",
    "statement": "Farm operators tolerate AI-assisted drafting when specialist review is explicit and FSA-211-authorized filing is human-executed.",
    "confidence": "medium",
    "impact_if_wrong": "high",
    "revisit_trigger": "First FSA completeness request or NAD appeal."
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-a4",
    "statement": "Single-tenant infrastructure per customer is not required for the first cohort — logical isolation with row-level auth is acceptable.",
    "confidence": "medium",
    "impact_if_wrong": "high",
    "revisit_trigger": "Any prospect (e.g., a multi-farm management company) with a hard single-tenant compliance clause."
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-a5",
    "statement": "Demand persists beyond the current SDRP cycle via NAP and the annual crop-insurance claims process, not just this one program-year deadline.",
    "confidence": "medium",
    "impact_if_wrong": "high",
    "revisit_trigger": "Day-90 checkpoint pilot-renewal data."
   }
  ],
  "unknowns": [
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-u1",
    "question": "Which specific agricultural-loss documentation specialist will sign off on outbound filings?",
    "blocks": "Any commercial claim; FSA-facing delivery.",
    "resolution_path": "Named specialist + engagement letter on file before commercial engagement."
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-u2",
    "question": "Which crop types and counties are in scope for launch?",
    "blocks": "Program-eligibility rules; beachhead-county selection; outbound-list scope.",
    "resolution_path": "Owner confirms in-scope crop types and 2-3 beachhead counties from public 2023/2024 disaster declarations before pilot outreach."
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-u3",
    "question": "What is the actual willingness-to-pay at pilot pricing ($800) versus standard pricing ($1,200-$2,500)?",
    "blocks": "Pricing hypothesis; unit economics.",
    "resolution_path": "10 pilot-cohort conversions with explicit pricing conversation, measured against the Day-90 checkpoint."
   }
  ],
  "expert_panel": [
   {
    "role": "Product Strategy",
    "key_concern": "Is the ICP narrow enough to earn a first pilot cohort before the Aug 12, 2026 deadline?",
    "recommendation": "Constrain launch to SDRP Stage 2 in 2-3 beachhead counties; broaden to NAP/ERP and new counties only after the Day-90 checkpoint.",
    "dissent": "May under-price the total addressable disaster-program market and slow the recurring-revenue narrative."
   },
   {
    "role": "Software Architecture",
    "key_concern": "Are we defaulting to a custom farmer-facing portal the product thesis explicitly rejects?",
    "recommendation": "Single deployable modular monolith with no farmer-facing dashboard at launch — upload link/email intake only.",
    "dissent": "May feel unsophisticated to referral partners expecting a branded portal."
   },
   {
    "role": "Frontend / UX",
    "key_concern": "Is the evidence spine (claim to source document to specialist signature) visible in every workflow view?",
    "recommendation": "Every Completeness Pack view renders eligibility rule to evidence citation to specialist signoff in one glance.",
    "dissent": "Adds density that non-domain reviewers may call cluttered."
   },
   {
    "role": "Backend / Data",
    "key_concern": "Is the audit trail append-only and reconstructable through the FSA/NAD appeal window?",
    "recommendation": "Event-sourced audit log for all pack state transitions; snapshots for read models.",
    "dissent": "Higher write-path complexity than plain CRUD; discipline required on rules-library schema evolution."
   },
   {
    "role": "AI / ML",
    "key_concern": "Are AI eligibility reads grounded, cited to the rules-library version, and reviewer-gated?",
    "recommendation": "Retrieval-first eligibility reasoning with rule-version citations, structured output validation, and mandatory Specialist Review before any filing.",
    "dissent": "Slower than open-ended chat; may frustrate prospects expecting an instant guaranteed answer."
   },
   {
    "role": "Security",
    "key_concern": "Is farm financial and yield data isolated per tenant and free of cross-farm leakage?",
    "recommendation": "Row-level auth, per-tenant retrieval indices, log-scrubbing of financial figures.",
    "dissent": "None recorded this run."
   }
  ],
  "strategy": {
   "business_model": "Flat per-pack (per released Completeness Pack), free Eligibility Screen, optional add-ons and opt-in Monitor subscription; never hourly, contingency pricing rejected as primary model pending counsel review",
   "revenue_streams": [
    "Single-Program Completeness Pack (flat, per farm operation, per program-year)",
    "Multi-Program Bundle",
    "Portfolio/Multi-Entity engagement",
    "Insurance Claim Evidence Coordination add-on",
    "Next-Cycle Monitor subscription"
   ],
   "moat": [
    "FSA-211 authorized-filer relationship and operational filing machinery",
    "Versioned, continuously re-verified multi-program eligibility rules library",
    "Farm-specific SOPs and gold-standard reference packets",
    "Crop-insurance agent / Farm Bureau / ag-lender referral relationships"
   ],
   "gtm": [
    "Founder-led educational content + answer-engine FAQ on exact SDRP/FSA queries",
    "Farm Bureau / co-op chapter lunch-and-learns and webinars",
    "Personalized declared-disaster-county outbound + crop-insurance-agency co-branded referral"
   ],
   "pricing_hypothesis": "Pilot pack $800; standard Single-Program $1,200-$2,500; Multi-Program $2,500-$5,000 — priced under the artisanal USDA-navigation consultant market's fee-for-service/percentage-of-award terms (validate pack frequency and margin with the 10-farm pilot cohort before scaling).",
   "kill_criteria": [
    "No signed pilot farm in 4 weeks",
    "Specialist median review time exceeds 90 min/pack after pilot 5",
    "No paid standard-price conversion by Day 90",
    "A released pack causes a documented FSA completeness rejection traced to AgReliefClear's error"
   ]
  },
  "security": {
   "stride": [
    {
     "threat": "Spoofing",
     "scenario": "Attacker attempts to impersonate a specialist reviewer to sign off on a fabricated Completeness Pack.",
     "mitigation": "SSO with MFA; reviewer signatures bound to a cryptographic session claim, not a form field."
    },
    {
     "threat": "Tampering",
     "scenario": "Historical evidence entries edited after the fact to hide a bad eligibility read.",
     "mitigation": "Append-only audit log; hash-chained artifact snapshots; diff view on every reviewer surface."
    },
    {
     "threat": "Repudiation",
     "scenario": "Specialist denies signing off on a filed Completeness Pack.",
     "mitigation": "Signed attestations with server-side timestamp + reviewer identity; export bundle includes signature manifest."
    },
    {
     "threat": "Information Disclosure",
     "scenario": "Cross-tenant leak of one farm's financial/yield records through shared indices, logs, or prompts.",
     "mitigation": "Tenant-scoped row-level auth; PII/financial-data scrubbing in logs; retrieval indices partitioned per farm."
    },
    {
     "threat": "Denial of Service",
     "scenario": "Runaway extraction job or export exhausts shared workers during the Aug 12 filing-window spike.",
     "mitigation": "Per-tenant concurrency + budget caps; circuit breaker on model calls; degrade-gracefully queue."
    },
    {
     "threat": "Elevation of Privilege",
     "scenario": "Standard operator acquires specialist-review or filing-authorization capability via a workflow shortcut.",
     "mitigation": "Roles stored in a separate table; capability checks server-side; no client-only role checks."
    }
   ],
   "privacy_posture": "Data-minimization by default; per-farm isolation; data-processing terms on file; deletion-schedule runbook published.",
   "compliance_targets": [
    "FSA/NAD appeal-window record retention",
    "SOC 2 Type I (post-pilot)",
    "FSA-211 execution and verification SOP",
    "State-by-state adjuster-conduct and fee-splitting review before any contingency pricing"
   ],
   "data_classifications": [
    "Farm financial/yield records (sensitive business data)",
    "Insurance policy documents (sensitive, third-party-sourced)",
    "FSA program identifiers (regulated, program-specific)",
    "Contact/PII (standard)"
   ]
  },
  "devops": {
   "ci_cd": "PR -> typecheck + unit + snapshot tests -> preview deploy -> main auto-deploys to a single production region; migrations gated on review.",
   "environments": [
    "local",
    "preview (per-PR)",
    "staging (shared)",
    "production (single region + multi-AZ)"
   ],
   "observability": [
    "Structured logs with tenant + request IDs",
    "RED metrics per workflow",
    "Error tracking with source maps",
    "Model-call spans with cost + latency",
    "Weekly SLO review, with a pre-Aug-12 filing-window capacity review"
   ],
   "testing_pyramid": [
    "Unit tests on eligibility-derivation and form-validation modules",
    "Component tests on specialist-review surfaces",
    "Contract tests on FSA-form-schema integrations",
    "End-to-end smoke test on the intake -> eligibility-screen -> specialist-signoff -> filing path"
   ],
   "accessibility_tests": [
    "axe-core in CI on specialist-review surfaces",
    "Keyboard-only walkthrough per workflow",
    "Prefers-reduced-motion honored"
   ],
   "performance_budget": "p95 workflow latency published per module; artifact-generation cold-path under 30s or shown as a background job."
  },
  "accessibility_i18n_ethics": {
   "wcag_target": "AA",
   "locales": [
    "en-US"
   ],
   "rtl_support": false,
   "ethical_risks": [
    "Completeness Pack filed without specialist review",
    "Eligibility-rule confusion across overlapping programs (SDRP Stage 1 vs Stage 2 vs NAP vs ERP)",
    "FSA-facing errors attributed to AI rather than owned by the specialist reviewer"
   ],
   "ethical_guardrails": [
    "Human specialist review required before FSA-211-authorized filing",
    "Per-program prompt + rules-library isolation (SDRP vs NAP vs ERP)",
    "AI-usage disclosure in pack metadata where required"
   ]
  },
  "governance": {
   "ownership": [
    {
     "area": "Product + roadmap",
     "owner": "Executive Sponsor"
    },
    {
     "area": "Architecture + platform",
     "owner": "Engineering Lead"
    },
    {
     "area": "Evidence + specialist-review workflow",
     "owner": "Named agricultural-loss documentation specialist"
    },
    {
     "area": "Compliance + privacy",
     "owner": "Compliance Lead"
    },
    {
     "area": "Design system",
     "owner": "Design Lead"
    },
    {
     "area": "SEO + content",
     "owner": "Content Lead"
    }
   ],
   "docs_required": [
    "ADR log (checked in)",
    "Owner-action ledger",
    "Evidence register",
    "STRIDE threat model",
    "Runbook: incident, restore, breach notification",
    "Specialist playbook + signature policy"
   ],
   "naming_conventions": [
    "kebab-case slugs for blueprints and routes",
    "camelCase for TypeScript identifiers",
    "SCREAMING_SNAKE_CASE for environment variables",
    "Verb-first action names (e.g., generate-completeness-pack)"
   ],
   "change_control": "ADR-per-major-decision; migrations require review; production deploys gated on green CI + owner-action ledger check."
  },
  "risk_register": [
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-r1",
    "risk": "FSA-facing claim proves incorrect",
    "likelihood": "medium",
    "impact": "severe",
    "mitigation": "Every eligibility claim linked to a cited rules-library version + specialist signoff",
    "contingency": "Retraction workflow; farmer-notification template; audit-log export within 24 hours",
    "owner": "legal"
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-r2",
    "risk": "AI hallucination in a delivered eligibility memo or form",
    "likelihood": "medium",
    "impact": "high",
    "mitigation": "Retrieval-first pipeline + structured output validation + specialist gate",
    "contingency": "Reviewer-triggered rollback + regeneration; incident postmortem published to farmer",
    "owner": "engineering"
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-r3",
    "risk": "Cross-tenant farm financial data leak",
    "likelihood": "low",
    "impact": "severe",
    "mitigation": "Row-level auth + per-tenant retrieval indices + log-scrubbing",
    "contingency": "Breach-notification runbook; forced credential rotation; scoped tenant kill switch",
    "owner": "engineering"
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-r4",
    "risk": "Pilot farm churns before the Aug 12 deadline",
    "likelihood": "medium",
    "impact": "high",
    "mitigation": "Weekly working-session cadence; documented value moments; owner-action ledger",
    "contingency": "Structured exit interview; write learnings into ICP + pricing hypothesis",
    "owner": "owner"
   },
   {
    "id": "farm-disaster-relief-claims-completeness-pack-engine-r5",
    "risk": "SDRP program funds exhausted or deadline passes before scale beyond the pilot cohort",
    "likelihood": "medium",
    "impact": "high",
    "mitigation": "NAP and annual crop-insurance claims coordination built in as recurring lines from month one",
    "contingency": "Re-forecast financial model on NAP/insurance-coordination revenue only; pause new-county expansion",
    "owner": "owner"
   }
  ],
  "roadmap": [
   {
    "phase": "Phase 0 — Discovery + pilot LOI",
    "weeks": "Weeks 1-2",
    "outcomes": [
     "3-5 pilot farm LOIs",
     "Evidence pack from each pilot farmer",
     "Written ICP + pricing hypothesis"
    ],
    "exit_criteria": [
     "≥3 LOIs signed",
     "Owner-action ledger populated per farm",
     "Specialist identity confirmed"
    ],
    "kill_criteria": [
     "<2 LOIs after 2 weeks",
     "No willingness-to-pay signal above pilot price"
    ]
   },
   {
    "phase": "Phase 1 — Thin vertical slice",
    "weeks": "Weeks 3-4",
    "outcomes": [
     "Intake -> eligibility screen -> specialist signoff -> filing working end-to-end for SDRP Stage 2",
     "Audit trail wired",
     "Instrumentation live"
    ],
    "exit_criteria": [
     "1 real Completeness Pack filed + specialist-signed",
     "p95 workflow latency published"
    ],
    "kill_criteria": [
     "Specialist signoff cycle >5 business days",
     "Evidence bundle cannot be reconstructed on demand"
    ]
   },
   {
    "phase": "Phase 2 — Pilot cohort",
    "weeks": "Weeks 3-5 (through Aug 12, 2026 deadline)",
    "outcomes": [
     "10 pilot farms filed",
     "First standard-price conversion",
     "SOC 2 Type I scoping"
    ],
    "exit_criteria": [
     "≥1 standard-price contract",
     "Post-filing debrief trust signal captured",
     "Postmortem cadence in place"
    ],
    "kill_criteria": [
     "No standard-price conversion by Day 90",
     "FSA completeness-rejection rate above 5% traced to AgReliefClear error"
    ]
   },
   {
    "phase": "Phase 3 — NAP / recurring-line launch",
    "weeks": "Weeks 6-13 (Day 90 checkpoint)",
    "outcomes": [
     "Public commercial launch of the microsite as 'ready'",
     "NAP added as a second program line if Day-90 targets met",
     "Owner-action ledger closed for launch"
    ],
    "exit_criteria": [
     "COGS/rework/cycle-time measured against target",
     "Expansion beyond beachhead counties gated on targets, not calendar time"
    ],
    "kill_criteria": [
     "Rework rate persistently above 15%",
     "Specialist review time not falling with volume"
    ]
   }
  ],
  "metrics": {
   "north_star": "Filed Completeness Packs per week, per program, with zero FSA completeness rejections of our making",
   "leading": [
    "Pilot farm LOIs signed",
    "Intake -> filed Completeness Pack cycle time",
    "Specialist Review signoff cycle time",
    "Evidence coverage per Completeness Pack",
    "Owner-action ledger closure rate"
   ],
   "lagging": [
    "Paid standard-price contracts signed",
    "Repeat/renewal rate across program cycles",
    "FSA completeness-rejection count (target: <5%)",
    "Retraction count on filed Completeness Packs (target: 0)"
   ],
   "guardrails": [
    "Model spend per tenant per week",
    "PII/financial data in logs (target: 0)",
    "Cross-tenant access attempts (target: 0)",
    "p95 workflow latency ceiling"
   ]
  },
  "executive_review": {
   "consensus": "Ship a thin, evidence-linked, specialist-gated vertical slice for AgReliefClear, wedged on SDRP Stage 2 ahead of Aug 12, 2026. Prefer a boring, single-region modular monolith. Do not launch commercially until owner-action facts close and at least one specialist-signed Completeness Pack is filed.",
   "dissent": "Executive Sponsor and Privacy/Compliance disagree on launch tempo — Privacy recommends waiting for full data-retention runbook completion before any public commercial claim.",
   "go_no_go": "conditional-go",
   "top_3_risks": [
    "FSA-facing claim proves incorrect",
    "AI hallucination in a delivered eligibility memo or form",
    "Cross-tenant farm financial data leak"
   ],
   "first_10_steps": [
    "Confirm the named agricultural-loss documentation specialist + engagement letter on file",
    "Populate owner-action ledger with entity, jurisdiction, contact inbox, privacy inbox",
    "Open pilot-cohort intake (cap 10) with explicit pricing conversation",
    "Write ICP + kill/pivot criteria in the plan file",
    "Stand up the evidence-linked intake -> eligibility screen -> specialist signoff loop",
    "Wire append-only audit log + hash-chained snapshots",
    "Add row-level auth + tenant-scoped retrieval indices",
    "Instrument activation, pack-completion, and specialist-signoff events",
    "Publish the microsite with WebPage+FAQPage schema only and noindex until owner-facts close",
    "Schedule the Day-90 kill/pivot review with executive sponsor"
   ]
  }
 },
 "project_site": {
  "slug": "farm-disaster-relief-claims-completeness-pack-engine",
  "app_name": "AgReliefClear filing desk",
  "archetype": "filing-dossier",
  "archetype_label": "completeness-pack filing desk",
  "reader_role": "Farm Operator",
  "one_sentence_app": "AgReliefClear Desk is a filing desk for farm operators who need every disaster-loss event tied to an SDRP-Stage-2-complete record before an FSA reviewer asks for the packet.",
  "homepage_sequence": [
   "scene",
   "workflow",
   "instrument",
   "offer",
   "proof",
   "qualification",
   "objections"
  ],
  "hero": {
   "frame_label": "Agricultural compliance · SDRP Stage 2 completeness-pack desk",
   "eyebrow": "Farm operator / crop loss not fully covered by insurance",
   "interface_title": "AgReliefClear filing desk",
   "primary_panel_title": "Farm #FSA-4471-C2 · corn/soybean, 640 acres · shallow loss · eligibility screen open",
   "primary_panel_body": "Open pack run: normalize the farm's yield and coverage records, run the multi-program eligibility screen, populate FSA-504 and supporting forms, then stage the Completeness Pack for specialist release.",
   "side_panel_title": "Before this ships",
   "side_panel_items": [
    "Farm eligibility confirmed against 2+ records",
    "Multi-program screen checked or exception-coded",
    "Every required FSA field present · filing window confirmed"
   ],
   "status_metric": "REVIEW",
   "status_label": "release gate active"
  },
  "language": {
   "problem_heading": "The farm operator's moment",
   "mechanism_heading": "Inside the AgReliefClear filing desk",
   "proof_heading": "Why this survives an FSA completeness review",
   "offer_heading": "What leaves the room",
   "objection_heading": "The hard questions",
   "qualification_heading": "Who should not use this",
   "cta_close": "Open a pack run from your farm's SDRP Stage 2 loss — released by a real agricultural-loss specialist, filed under your FSA-211 authorization."
  },
  "modules": [
   {
    "name": "Farm intake",
    "job": "Turns a forwarded yield/insurance ledger into a named pack run with a farm match, extracted fields, and a missing-field list.",
    "artifact": "triage record"
   },
   {
    "name": "Farm Eligibility Profile",
    "job": "Holds each loss-affected farm's eligibility determination, program category, coverage-level mapping, and locked calculation method — with the evidence behind each.",
    "artifact": "eligibility worksheet"
   },
   {
    "name": "Completeness Pack",
    "job": "Packages the completeness scoring, requirement compare, filing-window status, evidence checklist, and exception list into the record an FSA reviewer can walk without a meeting.",
    "artifact": "release package"
   }
  ],
  "checkpoints": [
   {
    "label": "FSA-504 required field",
    "pass": "extracted with source quote",
    "fail": "chased or shipped as explicit gap"
   },
   {
    "label": "completeness scoring",
    "pass": "deterministic code, dual-method compared",
    "fail": "blocked before release"
   },
   {
    "label": "Completeness Pack",
    "pass": "specialist releases (counsel reviewer on red)",
    "fail": "stays draft"
   }
  ],
  "signature_scene": "You're a farm operator. It's the week after your county was hit by a spring freeze that knocked out part of your yield. Someone needs to know — before August 12 — whether the shallow-loss gap your insurance didn't cover trips SDRP Stage 2 eligibility and starts a filing clock, and the only evidence is a yield-monitor export that says 'below deductible, see file.' This page is built like the filing desk that person needed before the deadline started closing in."
 },
 "ddd": {
  "slug": "farm-disaster-relief-claims-completeness-pack-engine",
  "project_name": "AgReliefClear",
  "business_understanding": {
   "summary": "AgReliefClear — farm operators stop guessing at SDRP Stage 2 and start filing packs. A loss-affected farm's yield records and eligibility profile are extracted at intake, a multi-program eligibility screen runs against the versioned FSA/RMA rules library, deterministic rules check every required form field, and every Completeness Pack releases with a specialist signature and an audit trail.",
   "customer_profile": "row-crop and specialty-crop farm operators (200-3,000+ acres, fragmented paper/PDF records, no in-house USDA-program specialist)",
   "customer_pain": "Yield and insurance records missing the fields an FSA-504 filing needs; the required supporting forms (FSA-578, AD-1026, CCC-901/902, FSA-510) never assembled; multi-program eligibility (SDRP/NAP/ERP) never screened; the filing window missed entirely; no audit-ready file when FSA sends a completeness request.",
   "paid_outcome": "A reliably delivered, specialist-released (agricultural legal counsel escalated on denied/appealed filings) Completeness Pack per farm/program-year, plus a living filing history — reconstructable on demand, defensible under an FSA completeness reviewer's read.",
   "value_creation": "AI compresses document classification, field extraction, and eligibility-memo drafting; deterministic code owns every completeness score, filing-window date, and eligibility gate; humans own specialist review, escalated cases, and anything filed with FSA; the platform binds them with an append-only audit trail and per-farm isolation.",
   "why_ai_native": "The extract-screen-draft-file loop is only economical with a bounded AI layer feeding deterministic rules. A pure-manual USDA-navigation consultant cannot hit flat sub-$2,500 pack pricing at volume; a pure-automated SaaS cannot execute an FSA-211 filing, hold the specialist-review gate, or absorb the eligibility judgment calls that keep the record defensible.",
   "operational_risks": [
    "Specialist bottleneck on escalated packs during the pre-Aug-12 filing spike",
    "Prompt injection via uploaded yield/insurance document content",
    "Cross-farm retrieval leak",
    "Complete records unobtainable at scale (packs stuck in evidence-gap status)",
    "Silent filing failure on a running program deadline"
   ],
   "assumptions": [
    "Farm operators will pay for evidence-linked, human-reviewed filings over unverified AI generation or DIY FSA portal use.",
    "The workflow can be reconstructed from a farmer-supplied evidence pack within the 5-business-day cycle-time target.",
    "The vertical tolerates AI-assisted drafts when specialist review is explicit and FSA-211-authorized filing is human-executed.",
    "Single-tenant per customer is not required for the first cohort — logical isolation with row-level auth is acceptable.",
    "Blueprint-backed program facts reflect the current SDRP/NAP/ERP rules, not a stale snapshot — re-verified this build after finding the blueprint's headline dollar figure was stale."
   ],
   "validation_questions": [
    "Which specific agricultural-loss documentation specialist will sign off on outbound filings?",
    "Which crop types and counties are in scope for launch?",
    "What is the actual willingness-to-pay at pilot vs. standard pricing?",
    "Which existing systems (crop-insurance agency CRM, ag lender portals) must this integrate with day-one?",
    "Is there a data-residency or on-prem constraint for any pilot farm's financial data?"
   ]
  },
  "domain_discovery": {
   "actors": [
    {
     "actor": "Farm Operator",
     "role": "Owns the farm's disaster-loss claim; supplies records and signs the FSA-211 authorization",
     "goals": [
      "Recover eligible federal disaster and insurance dollars",
      "Avoid losing harvest-season time to USDA paperwork"
     ],
     "decisions": [
      "Whether to engage AgReliefClear",
      "Which records to supply",
      "Whether to authorize filing"
     ],
     "pain_points": [
      "No time during harvest season for 100+ page guidance documents",
      "Doesn't know which of several overlapping programs apply"
     ]
    },
    {
     "actor": "Agricultural-Loss Documentation Specialist",
     "role": "Reviews AI-drafted eligibility memos and evidence bundles; signs off before filing",
     "goals": [
      "Zero FSA completeness rejections",
      "Fast, defensible review cycle"
     ],
     "decisions": [
      "Approve, escalate, or reject a packet before filing"
     ],
     "pain_points": [
      "Volume spikes near the Aug 12 deadline",
      "Ambiguous mixed insured/uninsured acreage cases"
     ]
    },
    {
     "actor": "Crop-Insurance Agent / Referral Partner",
     "role": "Refers farmer clients; receives organized evidence for coverage questions",
     "goals": [
      "Retain client trust without taking on adjuster liability"
     ],
     "decisions": [
      "Whether to refer a client"
     ],
     "pain_points": [
      "Not staffed to chase stacked federal disaster programs on top of the policy they service"
     ]
    }
   ],
   "glossary": [
    {
     "term": "Completeness Pack",
     "definition": "The filed, submission-ready documentation deliverable for one program/program-year.",
     "used_by": "Farm Operator, Specialist",
     "context": "Documentation Filing",
     "example": "SDRP Stage 2 Completeness Pack for Farm #FSA-4471-C2",
     "notes": "Never called 'report', 'bundle', or 'kit'."
    },
    {
     "term": "Eligibility Screen",
     "definition": "The free 5-question diagnostic producing a plain-language eligibility read.",
     "used_by": "Farm Operator",
     "context": "Eligibility Reasoning",
     "example": "5-question intake on county, crop, coverage level, Stage 1 status, shortfall",
     "notes": "Free; no commitment."
    },
    {
     "term": "FSA-211 Authorization",
     "definition": "The executed Power of Attorney allowing AgReliefClear to file on the farmer's behalf.",
     "used_by": "Farm Operator, Specialist",
     "context": "Documentation Filing",
     "example": "Signed FSA-211 on file with the county FSA office",
     "notes": "Scoped, revocable; never automated."
    },
    {
     "term": "Evidence Bundle",
     "definition": "The indexed supporting-document set attached to a Completeness Pack.",
     "used_by": "Specialist, AI extraction agent",
     "context": "Evidence Coordination",
     "example": "Yield-monitor export, insurance policy summary, FSA-578 acreage report",
     "notes": "Every item traces to a source document."
    },
    {
     "term": "Program Cycle",
     "definition": "One open filing window for one federal program (e.g., SDRP Stage 2, current cycle).",
     "used_by": "Specialist, rules library",
     "context": "Eligibility Reasoning",
     "example": "SDRP Stage 2, 2023/2024 loss years, deadline Aug 12 2026",
     "notes": "Never 'season' or 'round'."
    },
    {
     "term": "Program Cycle",
     "definition": "One open filing window for one federal program (e.g., SDRP Stage 2, current cycle).",
     "used_by": "Specialist, rules library",
     "context": "Eligibility Reasoning",
     "example": "SDRP Stage 2, 2023/2024 loss years",
     "notes": "Never 'season' or 'round'."
    },
    {
     "term": "Specialist Review",
     "definition": "The named agricultural-loss documentation specialist's sign-off before filing.",
     "used_by": "Specialist",
     "context": "Quality Assurance",
     "example": "Second-reviewer spot check on top-quartile-loss packets",
     "notes": "No packet ships on an AI draft alone."
    },
    {
     "term": "Filed Confirmation",
     "definition": "The proof-of-submission delivered to the farmer after filing.",
     "used_by": "Farm Operator",
     "context": "Documentation Filing",
     "example": "Delivered the day a pack is filed",
     "notes": "Never 'receipt' or 'confirmation email'."
    }
   ],
   "decisions": [
    {
     "decision": "Is this farm eligible for SDRP Stage 2?",
     "who": "AI drafts, Specialist confirms",
     "inputs": [
      "[PLACEHOLDER] owner to complete"
     ],
     "rule": "Hard eligibility gates: coverage level, county disaster rating, crop type, filing window",
     "output": "Eligibility memo with cited rule version",
     "risk": "Wrong-program filing if gates misapplied"
    },
    {
     "decision": "Is the evidence bundle sufficient to file?",
     "who": "AI flags gaps, Specialist verifies",
     "inputs": "Extracted document fields, required-evidence checklist",
     "rule": "Every required field present with confidence >= threshold",
     "output": "Filing-ready packet or evidence-gap list",
     "risk": "Missing evidence causes FSA completeness rejection"
    },
    {
     "decision": "Should this be escalated to the farmer's own licensed adjuster?",
     "who": "Specialist",
     "inputs": "Coverage dispute indicators",
     "rule": "Any coverage-determination question is hard-blocked from AI/specialist resolution",
     "output": "Referral to licensed adjuster",
     "risk": "Overstepping into unlicensed adjustment"
    },
    {
     "decision": "Should this farm be routed to NAP instead of / in addition to SDRP?",
     "who": "AI drafts, Specialist confirms",
     "inputs": "Coverage type per acreage segment",
     "rule": "NAP applies to acreage without available crop insurance",
     "output": "Multi-program eligibility memo",
     "risk": "Missing a NAP-eligible acreage segment"
    }
   ],
   "events": [
    {
     "event": "EligibilityScreenCompleted",
     "meaning": "Farm has a plain-language eligibility read",
     "trigger": "Farmer submits 5-question intake",
     "downstream": [
      "[PLACEHOLDER] owner to complete"
     ]
    },
    {
     "event": "SpecialistReviewApproved",
     "meaning": "Packet cleared for filing",
     "trigger": "Specialist signs off",
     "downstream": "FSA-211 verification, then filing"
    },
    {
     "event": "PackFiled",
     "meaning": "Packet submitted to FSA under FSA-211",
     "trigger": "Authorized filer submits",
     "downstream": "Filed Confirmation delivered to farmer"
    },
    {
     "event": "EvidenceGapIdentified",
     "meaning": "A required document or field is missing",
     "trigger": "Extraction confidence below threshold or field absent",
     "downstream": "Farmer notified of specific missing item"
    },
    {
     "event": "FSACompletenessRequestReceived",
     "meaning": "FSA has asked for additional information on a filed pack",
     "trigger": "FSA review of a filed packet",
     "downstream": "Routed back to intake within 1 business day"
    }
   ]
  },
  "subdomains": [
   {
    "name": "Documentation Filing",
    "type": "core",
    "description": "Intake, form population, FSA-211-authorized submission, and status tracking of Completeness Packs.",
    "reason": "This is the paid outcome — the filed pack is what the farmer is buying.",
    "business_value": "Direct revenue driver; every SKU maps to a filed pack.",
    "recommendation": "Build in-house, deterministic-rules-first.",
    "ai_involvement": "Extraction, form population, drafting",
    "human_involvement": "Specialist review, FSA-211 verification, filing authorization",
    "risks": [
     "Missed filing window",
     "Incomplete evidence causing FSA rejection"
    ],
    "validation_questions": [
     "What is the real specialist review time per pack at volume?"
    ]
   },
   {
    "name": "Eligibility Reasoning",
    "type": "core",
    "description": "Multi-program eligibility screening against the versioned FSA/RMA rules library.",
    "reason": "Differentiates AgReliefClear from a generic form-filling service — this is the domain-expertise layer.",
    "business_value": "Drives conversion (free screen -> paid pack) and cross-sell (single-program -> multi-program bundle).",
    "recommendation": "Build in-house; maintain a versioned rules database from day one.",
    "ai_involvement": "Drafts eligibility reads citing rule version",
    "human_involvement": "Specialist confirms/overrides edge cases",
    "risks": [
     "Stale rules library producing wrong eligibility reads (this build found and corrected exactly this failure mode in the source blueprint)"
    ],
    "validation_questions": [
     "How often do SDRP/NAP/ERP rules actually change mid-cycle?"
    ]
   },
   {
    "name": "Evidence Coordination",
    "type": "supporting",
    "description": "Organizing and indexing evidence for the farmer's own licensed crop-insurance adjuster.",
    "reason": "Necessary complement to the core filing service but explicitly not the licensed-adjustment function.",
    "business_value": "Add-on revenue; strengthens referral-partner relationships with crop-insurance agencies.",
    "recommendation": "Build thin; keep tightly scoped to organizing, never adjusting.",
    "ai_involvement": "Organizes/indexes evidence",
    "human_involvement": "Specialist prepares handoff; licensed adjuster (external) makes the determination",
    "risks": [
     "Scope creep into unlicensed adjustment activity"
    ],
    "validation_questions": [
     "Do referral-partner agents actually use the organized evidence handoff?"
    ]
   },
   {
    "name": "Referral & Outreach",
    "type": "generic",
    "description": "CRM, outbound sequencing, and content publishing.",
    "reason": "Not differentiating; off-the-shelf tools suffice at this stage.",
    "business_value": "Supports pipeline but not the core value proposition.",
    "recommendation": "Buy (lightweight CRM), do not build.",
    "ai_involvement": "Content drafting assistance",
    "human_involvement": "Founder-led outreach and content",
    "risks": [
     "Low differentiation risk if under-invested"
    ],
    "validation_questions": [
     "Which channel actually converts at the assumed rate?"
    ]
   }
  ],
  "core_domain_analysis": {
   "primary_core": "Documentation Filing",
   "secondary_cores": [
    "Eligibility Reasoning"
   ],
   "supporting_may_become_core": [
    "Evidence Coordination"
   ],
   "generic_do_not_distract": [
    "Referral & Outreach",
    "CRM/pipeline tracking"
   ],
   "rationale": "The paid outcome is a filed Completeness Pack, so Documentation Filing is the primary core. Eligibility Reasoning is a secondary core because it is the domain-expertise layer that differentiates AgReliefClear from a generic form-filler and directly drives the multi-program cross-sell. Evidence Coordination could become core if insurance-evidence coordination grows into a larger revenue line post-SDRP-cycle, but starts as supporting. Referral & Outreach uses off-the-shelf tooling deliberately to keep engineering focus on the filing and eligibility engine."
  },
  "bounded_contexts": [
   {
    "name": "Documentation Filing",
    "purpose": "Turn accepted farm intakes into specialist-signed, filed Completeness Packs.",
    "subdomain": "Documentation Filing (core)",
    "type": "core",
    "owned_language": [
     "farm intake",
     "field evidence",
     "Completeness Pack",
     "Draft",
     "Escalation",
     "Specialist Review"
    ],
    "owns": [
     "farm intake lifecycle",
     "Draft state",
     "Evidence links",
     "Filing packet composition"
    ],
    "does_not_own": [
     "Specialist identity",
     "Billing",
     "FSA's eligibility decision"
    ],
    "primary_actors": [
     "Farm Operator",
     "AI Orchestrator",
     "Agricultural-Loss Documentation Specialist"
    ],
    "entities": [
     "FarmProfile",
     "Draft",
     "CompletenessPack",
     "FiledConfirmation"
    ],
    "value_objects": [
     "ConfidenceScore",
     "EvidenceCitation",
     "FilingWindow"
    ],
    "aggregates": [
     "FarmProfileAggregate",
     "CompletenessPackAggregate"
    ],
    "domain_services": [
     "Draft composer",
     "Filing adapter"
    ],
    "application_services": [
     "OpenFarmIntake",
     "RequestDraft",
     "AttachEvidence",
     "RequestSpecialistReview",
     "FileCompletenessPack"
    ],
    "commands": [
     "OpenIntake",
     "AttachEvidence",
     "RequestDraft",
     "SubmitForSpecialistReview",
     "FilePack"
    ],
    "domain_events": [
     "FarmProfileCreated",
     "EvidenceCollected",
     "CompletenessPackDrafted",
     "SpecialistReviewApproved",
     "PackFiled"
    ],
    "policies": [
     "Auto-request specialist review when evidence coverage complete",
     "Auto-block filing until specialist signoff received"
    ],
    "specifications": [
     "EvidenceCoverageSpec",
     "FilingReadinessSpec"
    ],
    "invariants": [
     "A CompletenessPack cannot be filed without a valid Specialist Review approval",
     "Every eligibility claim in a filed pack cites at least one evidence item"
    ],
    "ai_agents": [
     "Extraction Agent",
     "Drafter Agent"
    ],
    "human_roles": [
     "Farm Operator",
     "Agricultural-Loss Documentation Specialist"
    ],
    "data_owned": [
     "FarmProfile",
     "Draft",
     "CompletenessPack",
     "FiledConfirmation"
    ],
    "inputs": [
     "Intake payload",
     "Uploaded yield/insurance/acreage documents",
     "Rules-library lookups"
    ],
    "outputs": [
     "Filed pack",
     "Filed Confirmation"
    ],
    "external_integrations": [
     "FSA county office submission channel",
     "e-signature provider"
    ],
    "risks": [
     "Un-cited eligibility claim slips into a filed pack",
     "Filing adapter fails silently near the Aug 12 deadline"
    ],
    "interfaces": [
     "-> Eligibility Reasoning (RequestEligibilityScreen)",
     "-> Evidence Coordination (RequestEvidenceHandoff)"
    ]
   },
   {
    "name": "Eligibility Reasoning",
    "purpose": "Screen a farm's records against the versioned SDRP/NAP/ERP rules library and produce a cited eligibility read.",
    "subdomain": "Eligibility Reasoning (core)",
    "type": "core",
    "owned_language": [
     "Eligibility Screen",
     "rule version",
     "Program Cycle",
     "eligibility memo"
    ],
    "owns": [
     "Rules library versions",
     "Eligibility read generation",
     "Eligibility gate logic"
    ],
    "does_not_own": [
     "FSA's final eligibility determination",
     "Filing execution"
    ],
    "primary_actors": [
     "Farm Operator",
     "AI Eligibility Agent",
     "Specialist"
    ],
    "entities": [
     "EligibilityScreen",
     "RuleVersion",
     "EligibilityMemo"
    ],
    "value_objects": [
     "RuleVersionRef",
     "EligibilityGateResult"
    ],
    "aggregates": [
     "EligibilityScreenAggregate"
    ],
    "domain_services": [
     "Multi-program eligibility engine"
    ],
    "application_services": [
     "RunEligibilityScreen",
     "PublishEligibilityMemo"
    ],
    "commands": [
     "RequestEligibilityScreen",
     "PublishRuleVersion"
    ],
    "domain_events": [
     "EligibilityScreenRequested",
     "EligibilityScreenCompleted",
     "RuleLibraryVersionPublished"
    ],
    "policies": [
     "Quarterly primary-source re-verification of every rule and dollar figure used in client-facing copy"
    ],
    "specifications": [
     "EligibilityGateSpec"
    ],
    "invariants": [
     "No eligibility read is published without a cited rule-library version",
     "Coverage/payment-determination language is a hard-blocked output class"
    ],
    "ai_agents": [
     "Eligibility Reasoning Agent"
    ],
    "human_roles": [
     "Agricultural-Loss Documentation Specialist"
    ],
    "data_owned": [
     "EligibilityScreen",
     "RuleVersion",
     "EligibilityMemo"
    ],
    "inputs": [
     "Farm's stated county/crop/coverage/loss",
     "FSA/RMA primary-source rule updates"
    ],
    "outputs": [
     "Eligibility memo with cited rule version"
    ],
    "external_integrations": [
     "Public FSA/RMA program pages (manual re-verification, no live API)"
    ],
    "risks": [
     "Stale rules library producing a wrong eligibility read — the exact failure mode this build's fresh verification caught and corrected"
    ],
    "interfaces": [
     "-> Documentation Filing (EligibilityScreenCompleted)"
    ]
   },
   {
    "name": "Evidence Coordination",
    "purpose": "Organize and index evidence for the farmer's own licensed crop-insurance adjuster without performing the adjustment itself.",
    "subdomain": "Evidence Coordination (supporting)",
    "type": "supporting",
    "owned_language": [
     "Evidence Bundle",
     "adjuster handoff"
    ],
    "owns": [
     "Evidence indexing",
     "Adjuster-handoff packaging"
    ],
    "does_not_own": [
     "Coverage/adjustment determination (external, licensed adjuster only)"
    ],
    "primary_actors": [
     "Specialist",
     "Farmer's licensed adjuster (external)"
    ],
    "entities": [
     "EvidenceBundle"
    ],
    "value_objects": [
     "EvidenceItem"
    ],
    "aggregates": [
     "EvidenceBundleAggregate"
    ],
    "domain_services": [
     "Evidence indexer"
    ],
    "application_services": [
     "PrepareAdjusterHandoff"
    ],
    "commands": [
     "PrepareAdjusterHandoff"
    ],
    "domain_events": [
     "EvidenceHandoffPrepared"
    ],
    "policies": [
     "Any coverage-determination request is hard-blocked and routed to the licensed adjuster"
    ],
    "specifications": [
     "AdjusterHandoffReadinessSpec"
    ],
    "invariants": [
     "AgReliefClear never issues a coverage or payment determination"
    ],
    "ai_agents": [
     "Evidence Indexing Agent"
    ],
    "human_roles": [
     "Specialist"
    ],
    "data_owned": [
     "EvidenceBundle"
    ],
    "inputs": [
     "Farm's insurance/yield/photo evidence"
    ],
    "outputs": [
     "Indexed evidence package for the licensed adjuster"
    ],
    "external_integrations": [
     "Farmer's Approved Insurance Provider (evidence handoff only, no API)"
    ],
    "risks": [
     "Scope creep into unlicensed adjustment activity"
    ],
    "interfaces": [
     "-> Documentation Filing (evidence reuse)"
    ]
   },
   {
    "name": "Quality Assurance",
    "purpose": "Bind specialist identity, timestamp, and artifact hash immutably to every filed pack; handle retractions.",
    "subdomain": "Documentation Filing (core, QA slice)",
    "type": "core",
    "owned_language": [
     "Specialist Review",
     "Signoff",
     "Retraction"
    ],
    "owns": [
     "Signoff records",
     "Retraction workflow"
    ],
    "does_not_own": [
     "Pack drafting"
    ],
    "primary_actors": [
     "Specialist"
    ],
    "entities": [
     "Signoff",
     "Retraction"
    ],
    "value_objects": [
     "SignatureManifest",
     "RetractionReason"
    ],
    "aggregates": [
     "SignoffAggregate",
     "RetractionAggregate"
    ],
    "domain_services": [
     "Signature binder"
    ],
    "application_services": [
     "ApproveArtifact",
     "RetractArtifact"
    ],
    "commands": [
     "ApproveArtifact",
     "RetractArtifact"
    ],
    "domain_events": [
     "ArtifactSigned",
     "ArtifactRetracted"
    ],
    "policies": [
     "A retraction requires senior specialist co-signature"
    ],
    "specifications": [
     "SignoffValiditySpec"
    ],
    "invariants": [
     "Signature bound to a live authenticated session, not a form field",
     "Signed artifacts are immutable"
    ],
    "ai_agents": [],
    "human_roles": [
     "Specialist",
     "Senior Specialist"
    ],
    "data_owned": [
     "Signoff",
     "Retraction"
    ],
    "inputs": [
     "Draft pack ready for signoff"
    ],
    "outputs": [
     "Signed artifact"
    ],
    "external_integrations": [],
    "risks": [
     "Reviewer identity spoofing"
    ],
    "interfaces": [
     "<- Documentation Filing (SubmitForSpecialistReview)"
    ]
   }
  ],
  "context_map": [
   {
    "upstream": "Eligibility Reasoning",
    "downstream": "Documentation Filing",
    "pattern": "Customer-Supplier",
    "business_reason": "Filing cannot proceed without a cited eligibility read.",
    "data_exchanged": [
     "[PLACEHOLDER] owner to complete"
    ],
    "events_exchanged": [
     "[PLACEHOLDER] owner to complete"
    ],
    "contract_type": "Published language contract (versioned)",
    "failure_risks": [
     "[PLACEHOLDER] owner to complete"
    ],
    "acl_notes": "Documentation Filing treats the eligibility memo as read-only input; it never re-derives eligibility itself.",
    "ownership_boundary": "Eligibility Reasoning owns the rules library exclusively"
   },
   {
    "upstream": "Documentation Filing",
    "downstream": "Evidence Coordination",
    "pattern": "Partnership",
    "business_reason": "Evidence gathered during intake is reused for the adjuster handoff, avoiding duplicate collection.",
    "data_exchanged": "EvidenceItem references",
    "events_exchanged": "EvidenceCollected",
    "contract_type": "Shared evidence store, distinct write ownership",
    "failure_risks": "Evidence duplication or version mismatch between the pack and the handoff",
    "acl_notes": "Evidence Coordination never writes to the farm's filing record.",
    "ownership_boundary": "Documentation Filing owns the filing record; Evidence Coordination owns the handoff packaging"
   },
   {
    "upstream": "Quality Assurance",
    "downstream": "Documentation Filing",
    "pattern": "Conformist",
    "business_reason": "Filing must conform to the Quality Assurance context's signoff requirement — no exceptions.",
    "data_exchanged": "Signoff record",
    "events_exchanged": "ArtifactSigned",
    "contract_type": "Hard gate",
    "failure_risks": "Filing attempted without a valid signoff",
    "acl_notes": "Documentation Filing's FilePack command is rejected at the aggregate boundary if no ArtifactSigned event exists for that pack.",
    "ownership_boundary": "Quality Assurance owns signoff validity exclusively"
   }
  ],
  "external_integrations": [
   {
    "system": "FSA county office submission channel",
    "risk": "Manual/PDF submission process varies by county; no unified API",
    "internal_model": "FiledConfirmation",
    "acl_strategy": "Human-executed submission with a standardized internal checklist per county",
    "owner_context": "Documentation Filing",
    "data_in": [
     "[PLACEHOLDER] owner to complete"
    ],
    "data_out": [
     "[PLACEHOLDER] owner to complete"
    ],
    "trigger": "SpecialistReviewApproved + FSA211Verified",
    "failure_strategy": "Manual retry with county office; escalate to founder if no acknowledgment within 2 business days",
    "audit_need": "Submission timestamp, method, and confirmation logged per filing"
   },
   {
    "system": "E-signature provider",
    "risk": "Provider outage blocks FSA-211 execution",
    "internal_model": "FSA211Authorization",
    "acl_strategy": "Signed document stored internally, not solely reliant on provider retrieval",
    "owner_context": "Documentation Filing",
    "data_in": "Signed FSA-211 PDF",
    "data_out": "Signature request",
    "trigger": "Intake accepted, FSA-211 not yet on file",
    "failure_strategy": "Fallback to notarized wet-signature process",
    "audit_need": "Signature timestamp and signer identity logged"
   },
   {
    "system": "Public FSA/RMA program pages",
    "risk": "Manual re-verification only; no live API; risk of using a stale figure (realized this build)",
    "internal_model": "RuleVersion",
    "acl_strategy": "Scheduled manual re-verification against primary sources, versioned on ingestion",
    "owner_context": "Eligibility Reasoning",
    "data_in": "Program rule text, deadlines, payment factors",
    "data_out": "None (read-only source)",
    "trigger": "Quarterly scheduled review, or triggered by a known program-rule change event",
    "failure_strategy": "Flag any client-facing figure older than the current quarter's re-verification for review before reuse",
    "audit_need": "Source URL and fetch date logged per rule version"
   }
  ],
  "event_storm": [
   {
    "seq": 1,
    "command": "RequestEligibilityScreen",
    "event": "EligibilityScreenCompleted",
    "actor": "Farm Operator",
    "context": "Eligibility Reasoning",
    "aggregate": "EligibilityScreenAggregate",
    "policy": "None",
    "downstream": "Intake checklist sent if likely eligible",
    "risk": "Wrong-program read"
   },
   {
    "seq": 2,
    "command": "OpenIntake",
    "event": "FarmProfileCreated",
    "actor": "Farm Operator",
    "context": "Documentation Filing",
    "aggregate": "FarmProfileAggregate",
    "policy": "None",
    "downstream": "Document checklist opened",
    "risk": "Duplicate intake"
   },
   {
    "seq": 3,
    "command": "AttachEvidence",
    "event": "EvidenceCollected",
    "actor": "Farm Operator / Extraction Agent",
    "context": "Documentation Filing",
    "aggregate": "FarmProfileAggregate",
    "policy": "Auto-flag low-confidence extraction",
    "downstream": "Evidence gap list updated",
    "risk": "Low-confidence field silently accepted"
   },
   {
    "seq": 4,
    "command": "RequestDraft",
    "event": "CompletenessPackDrafted",
    "actor": "Drafter Agent",
    "context": "Documentation Filing",
    "aggregate": "CompletenessPackAggregate",
    "policy": "Auto-request specialist review when evidence coverage complete",
    "downstream": "Specialist queue",
    "risk": "Draft submitted with an evidence gap"
   },
   {
    "seq": 5,
    "command": "SubmitForSpecialistReview",
    "event": "SpecialistReviewApproved",
    "actor": "Agricultural-Loss Documentation Specialist",
    "context": "Quality Assurance",
    "aggregate": "SignoffAggregate",
    "policy": "Second-reviewer spot check on top-quartile-loss or first-time-program packets",
    "downstream": "FSA-211 verification",
    "risk": "Review rubber-stamped under deadline pressure"
   },
   {
    "seq": 6,
    "command": "FilePack",
    "event": "PackFiled",
    "actor": "Authorized filer",
    "context": "Documentation Filing",
    "aggregate": "CompletenessPackAggregate",
    "policy": "Auto-block filing until signoff received",
    "downstream": "Filed Confirmation delivered",
    "risk": "Missed filing window"
   }
  ],
  "critical_path": [
   "EligibilityScreenCompleted -> FarmProfileCreated -> EvidenceCollected -> CompletenessPackDrafted -> SpecialistReviewApproved -> PackFiled -> FiledConfirmationDelivered"
  ],
  "exception_flows": [
   "EvidenceCollected with confidence below threshold -> routed to manual re-keying, blocks CompletenessPackDrafted until resolved",
   "SpecialistReviewApproved blocked by a coverage-determination question -> routed to the farmer's licensed adjuster, packet held"
  ],
  "escalation_flows": [
   "Mixed insured/uninsured acreage on one farm number -> senior specialist review",
   "FSACompletenessRequestReceived -> routed back to intake within 1 business day"
  ],
  "retry_flows": [
   "FSA submission channel acknowledgment not received within 2 business days -> manual retry with county office, then founder escalation"
  ],
  "manual_override_flows": [
   "Founder can force-hold any pack pre-filing regardless of specialist approval if a suspected data-integrity issue is flagged"
  ],
  "commands": [
   {
    "name": "RequestEligibilityScreen",
    "issued_by": "Farm Operator",
    "preconditions": [
     "5-question intake complete"
    ],
    "aggregate": "EligibilityScreenAggregate",
    "success_event": "EligibilityScreenCompleted",
    "failure_event": "EligibilityScreenIncomplete",
    "authorization": "Public (no auth required for the free screen)",
    "validation": "All 5 fields present",
    "audit": "Command + payload logged with session ID"
   },
   {
    "name": "OpenIntake",
    "issued_by": "Farm Operator",
    "preconditions": [
     "Engagement accepted",
     "No duplicate open intake for this farm/program-year"
    ],
    "aggregate": "FarmProfileAggregate",
    "success_event": "FarmProfileCreated",
    "failure_event": "IntakeRejected",
    "authorization": "Engaged client",
    "validation": "Scope statement present; no duplicate open intake",
    "audit": "Command + payload hash logged with farm + user"
   },
   {
    "name": "AttachEvidence",
    "issued_by": "Farm Operator / Extraction Agent",
    "preconditions": [
     "Intake open",
     "File type allowed"
    ],
    "aggregate": "FarmProfileAggregate",
    "success_event": "EvidenceCollected",
    "failure_event": "EvidenceRejected",
    "authorization": "Same farm/tenant",
    "validation": "Virus scan clean; financial-data handling policy respected",
    "audit": "Every attachment hashed and logged"
   },
   {
    "name": "SubmitForSpecialistReview",
    "issued_by": "System (policy-triggered) / Specialist",
    "preconditions": [
     "Evidence coverage spec passes"
    ],
    "aggregate": "CompletenessPackAggregate",
    "success_event": "SpecialistReviewApproved",
    "failure_event": "SpecialistReviewRejected",
    "authorization": "Named specialist role",
    "validation": "No required field below confidence threshold",
    "audit": "Reviewer identity + timestamp logged"
   },
   {
    "name": "FilePack",
    "issued_by": "Authorized filer",
    "preconditions": [
     "SpecialistReviewApproved",
     "FSA211Verified"
    ],
    "aggregate": "CompletenessPackAggregate",
    "success_event": "PackFiled",
    "failure_event": "FilingRejected",
    "authorization": "Authorized filer under executed FSA-211",
    "validation": "Filing-window still open",
    "audit": "Submission method + timestamp logged"
   }
  ],
  "policies": [
   {
    "name": "Auto-request specialist review on coverage complete",
    "trigger": "EvidenceCollected",
    "condition": "Evidence coverage spec passes",
    "action": "Enqueue SubmitForSpecialistReview",
    "context": "Documentation Filing",
    "ai_involvement": "none",
    "human_approval": false
   },
   {
    "name": "Escalate on low confidence",
    "trigger": "EvidenceCollected",
    "condition": "extraction_confidence < 85%",
    "action": "Route to manual re-keying queue",
    "context": "Documentation Filing",
    "ai_involvement": "flags only",
    "human_approval": false
   },
   {
    "name": "Block coverage-determination language",
    "trigger": "CompletenessPackDrafted",
    "condition": "Draft contains a coverage/payment-determination pattern",
    "action": "Reject draft before it reaches Specialist Review",
    "context": "Eligibility Reasoning",
    "ai_involvement": "author (blocked by deterministic filter)",
    "human_approval": false
   },
   {
    "name": "Second-reviewer spot check",
    "trigger": "SpecialistReviewApproved",
    "condition": "Top-quartile claimed loss OR first-time-program filing",
    "action": "Route to a second named specialist before FilePack is allowed",
    "context": "Quality Assurance",
    "ai_involvement": "none",
    "human_approval": true
   }
  ],
  "aggregates": [
   {
    "name": "FarmProfileAggregate",
    "root": "FarmProfile",
    "context": "Documentation Filing",
    "purpose": "Guard intake + evidence + draft state transitions for one farm.",
    "entities": [
     "FarmProfile",
     "EvidenceLink",
     "Draft"
    ],
    "value_objects": [
     "ConfidenceScore",
     "EvidenceCitation"
    ],
    "invariants": [
     "Every claim in a filed pack cites evidence",
     "A farm profile in state 'filed' is immutable"
    ],
    "commands": [
     "OpenIntake",
     "AttachEvidence",
     "RequestDraft",
     "SubmitForSpecialistReview"
    ],
    "events": [
     "FarmProfileCreated",
     "EvidenceCollected",
     "CompletenessPackDrafted"
    ],
    "repository": "FarmProfileRepository",
    "transaction_boundary": "One farm profile per transaction"
   },
   {
    "name": "CompletenessPackAggregate",
    "root": "CompletenessPack",
    "context": "Documentation Filing",
    "purpose": "Own the Completeness Pack lifecycle from drafted to filed.",
    "entities": [
     "CompletenessPack",
     "FiledConfirmation"
    ],
    "value_objects": [
     "FilingWindow"
    ],
    "invariants": [
     "A CompletenessPack cannot be filed without a valid Specialist Review approval",
     "A CompletenessPack cannot be filed without a valid, unexpired FSA211Authorization"
    ],
    "commands": [
     "FilePack"
    ],
    "events": [
     "PackFiled",
     "FiledConfirmationDelivered"
    ],
    "repository": "CompletenessPackRepository",
    "transaction_boundary": "One Completeness Pack per transaction"
   },
   {
    "name": "FSA211AuthorizationAggregate",
    "root": "FSA211Authorization",
    "context": "Documentation Filing",
    "purpose": "Hold the executed Power of Attorney scope and expiry.",
    "entities": [
     "FSA211Authorization"
    ],
    "value_objects": [
     "AuthorizationScope"
    ],
    "invariants": [
     "Any FilePack command is rejected if no valid, unexpired FSA211Authorization exists for that farm"
    ],
    "commands": [
     "ExecuteFSA211",
     "RevokeFSA211"
    ],
    "events": [
     "FSA211Verified",
     "FSA211Revoked"
    ],
    "repository": "FSA211AuthorizationRepository",
    "transaction_boundary": "One authorization per transaction"
   },
   {
    "name": "SignoffAggregate",
    "root": "Signoff",
    "context": "Quality Assurance",
    "purpose": "Bind specialist identity + timestamp + artifact hash immutably.",
    "entities": [
     "Signoff"
    ],
    "value_objects": [
     "SignatureManifest"
    ],
    "invariants": [
     "Signature bound to a live authenticated session, not a form field",
     "Signed artifacts are immutable"
    ],
    "commands": [
     "ApproveArtifact"
    ],
    "events": [
     "ArtifactSigned"
    ],
    "repository": "SignoffRepository",
    "transaction_boundary": "One signoff per transaction"
   },
   {
    "name": "RetractionAggregate",
    "root": "Retraction",
    "context": "Quality Assurance",
    "purpose": "Handle formal correction/withdrawal of a filed pack.",
    "entities": [
     "Retraction"
    ],
    "value_objects": [
     "RetractionReason",
     "ImpactStatement"
    ],
    "invariants": [
     "A retraction requires senior specialist co-signature"
    ],
    "commands": [
     "RetractArtifact"
    ],
    "events": [
     "ArtifactRetracted"
    ],
    "repository": "RetractionRepository",
    "transaction_boundary": "One retraction per transaction"
   }
  ],
  "invariants": [
   {
    "invariant": "A CompletenessPack cannot be filed without a valid Specialist Review approval",
    "context": "Documentation Filing",
    "aggregate": "CompletenessPackAggregate",
    "why": "No packet is ever submitted on an AI draft alone",
    "enforcement": "Deterministic code gate on the FilePack command"
   },
   {
    "invariant": "Any FilePack command is rejected if no valid, unexpired FSA211Authorization exists for that farm",
    "context": "Documentation Filing",
    "aggregate": "FSA211AuthorizationAggregate",
    "why": "Filing without authorization is both illegal and a hard business-trust breach",
    "enforcement": "Deterministic code gate on the FilePack command"
   },
   {
    "invariant": "No eligibility read is published without a cited rule-library version",
    "context": "Eligibility Reasoning",
    "aggregate": "EligibilityScreenAggregate",
    "why": "Prevents exactly the stale-figure failure mode found in this build's fresh verification",
    "enforcement": "Output validator rejects any eligibility memo missing a rule_version field"
   },
   {
    "invariant": "AgReliefClear never issues a coverage or payment determination",
    "context": "Evidence Coordination",
    "aggregate": "EvidenceBundleAggregate",
    "why": "Hard licensing boundary — only a state-licensed adjuster may adjust an insured loss",
    "enforcement": "Deterministic output filter blocks coverage-determination language patterns"
   }
  ],
  "ai_agents": [
   {
    "name": "Extraction Agent",
    "context": "Documentation Filing",
    "responsibility": "Extract and normalize structured fields from yield-monitor exports, elevator settlement sheets, insurance policy documents, and FSA acreage records.",
    "inputs": [
     "Uploaded documents"
    ],
    "outputs": [
     "Structured field values with per-field confidence score"
    ],
    "tools": [
     "OCR",
     "document classifier"
    ],
    "forbidden_actions": [
     "Guessing a value for an illegible/absent field instead of returning null+confidence 0"
    ],
    "memory_scope": "Single farm intake session",
    "retrieval_sources": [
     "None (extraction only, no retrieval)"
    ],
    "validations": [
     "Confidence score attached to every field"
    ],
    "confidence_scoring": "0-100 per field, threshold 85",
    "escalation_triggers": [
     "Any required field below 85% confidence"
    ],
    "human_approval": "Specialist confirms during review",
    "failure_modes": [
     "Misread handwritten field",
     "Wrong document-type classification"
    ],
    "audit_logs": [
     "Every extraction run logged with document hash and confidence scores"
    ],
    "metrics": [
     "Extraction accuracy vs. specialist-corrected value"
    ],
    "versioning": "Prompt versioned independently of the underlying model"
   },
   {
    "name": "Eligibility Reasoning Agent",
    "context": "Eligibility Reasoning",
    "responsibility": "Screen a farm's structured data against the versioned SDRP/NAP/ERP rules library and draft a cited eligibility memo.",
    "inputs": [
     "Structured farm data",
     "Current rule-library version"
    ],
    "outputs": [
     "Eligibility memo citing rule version and specific rule triggered"
    ],
    "tools": [
     "Rules-library lookup"
    ],
    "forbidden_actions": [
     "Stating or implying a specific dollar payment amount the farm 'will' receive",
     "Stating or implying an insurance coverage determination"
    ],
    "memory_scope": "Single eligibility screen session",
    "retrieval_sources": [
     "Versioned internal rules database"
    ],
    "validations": [
     "Output must cite a rule_version field"
    ],
    "confidence_scoring": "Qualitative (likely eligible / possibly eligible / not eligible) with rule citation, not a numeric score",
    "escalation_triggers": [
     "Rule ambiguity across overlapping programs"
    ],
    "human_approval": "Specialist confirms/overrides edge cases",
    "failure_modes": [
     "Applying a stale rule version",
     "Misapplying an eligibility gate across programs"
    ],
    "audit_logs": [
     "Every eligibility read logged with rule-library version and timestamp"
    ],
    "metrics": [
     "Eligibility-read accuracy vs. FSA outcome (post-filing)"
    ],
    "versioning": "Prompt versioned independently of the underlying model"
   },
   {
    "name": "Drafter Agent",
    "context": "Documentation Filing",
    "responsibility": "Populate FSA-504 and required supporting forms from structured farm/evidence data.",
    "inputs": [
     "Structured farm data",
     "Eligibility memo",
     "Evidence bundle"
    ],
    "outputs": [
     "Populated form drafts",
     "Evidence-gap list"
    ],
    "tools": [
     "Form-schema validator"
    ],
    "forbidden_actions": [
     "Inventing any value not present in source data"
    ],
    "memory_scope": "Single Completeness Pack draft session",
    "retrieval_sources": [
     "Farm's own extracted data only"
    ],
    "validations": [
     "Field-level validation against FSA form schema"
    ],
    "confidence_scoring": "Inherits per-field confidence from Extraction Agent",
    "escalation_triggers": [
     "Any required field with no source value"
    ],
    "human_approval": "Specialist reviews before signature",
    "failure_modes": [
     "Leaving a required field blank silently instead of flagging as a gap"
    ],
    "audit_logs": [
     "Every draft version logged"
    ],
    "metrics": [
     "Draft-to-filed edit rate"
    ],
    "versioning": "Prompt versioned independently of the underlying model"
   }
  ],
  "prompt_chain_map": [
   "Intake -> Classifier (route + program category) -> Extraction Agent (extract + score) -> Eligibility Reasoning Agent (cite + screen) -> Drafter Agent (populate + gap-list) -> OutputValidator -> Specialist (approve or escalate)",
   "Retraction analysis -> Evaluator (assist only) -> Legal + Specialist co-sign"
  ],
  "rag_map": [
   "Per-farm document store -> retrieval router -> farm-scoped hits -> Extraction Agent",
   "Versioned internal FSA/RMA rules database (read-only cache, quarterly re-verified) -> shared retrieval -> Eligibility Reasoning Agent (cited)"
  ],
  "ai_evaluation": [
   "Golden dataset of past specialist-accepted Completeness Packs",
   "Regression requirements on acceptance rate + citation coverage",
   "Every prompt release requires a passing Evaluator run"
  ],
  "hallucination_controls": [
   "Retrieval-first (no free-form eligibility generation without a cited rule version)",
   "Structured-output validator enforces citation-per-claim",
   "Confidence-scored escalation on extraction",
   "Specialist gate on all outbound filings",
   "Deterministic filter blocks any coverage/payment-determination language pattern before it reaches Specialist Review"
  ],
  "human_in_the_loop_plan": [
   "Specialist signoff on every filed Completeness Pack",
   "Senior specialist co-sign on retractions",
   "Owner approval on public-release readiness",
   "Ops sign-off on prompt-version rollout"
  ],
  "ai_audit_plan": [
   "Every AgentRun logged with prompt version, retrieval hit ids, cost, latency, validator verdict",
   "13-month rolling retention on run logs",
   "Financial/PII data scrubbed from log payloads"
  ],
  "prompt_versioning": "Prompt versions immutable once published; rolled out via feature flag; every rollout paired with an Evaluator run.",
  "human_roles": [
   {
    "role": "Farm Operator",
    "responsibilities": [
     "Supply records",
     "Sign FSA-211",
     "Confirm loss estimate"
    ],
    "contexts": [
     "Documentation Filing"
    ],
    "decisions_owned": [
     "Whether to engage",
     "Which records to supply"
    ],
    "ai_support": [
     "[PLACEHOLDER] owner to complete"
    ],
    "approval_authority": "Authorizes the engagement and the FSA-211",
    "escalation_authority": "None (escalates to AgReliefClear, not from it)",
    "quality_metrics": [
     "Intake completeness"
    ],
    "workload_risks": [
     "Harvest-season time scarcity"
    ]
   },
   {
    "role": "Agricultural-Loss Documentation Specialist",
    "responsibilities": [
     "Review AI drafts",
     "Verify evidence sufficiency",
     "Sign off before filing"
    ],
    "contexts": [
     "Documentation Filing",
     "Quality Assurance"
    ],
    "decisions_owned": [
     "Approve, escalate, or reject a packet"
    ],
    "ai_support": "Extraction, eligibility reasoning, and drafting agents",
    "approval_authority": "Sole authority to approve a pack for filing",
    "escalation_authority": "Escalates coverage questions to the farmer's licensed adjuster; ambiguous eligibility to senior specialist",
    "quality_metrics": [
     "FSA completeness-rejection rate",
     "Review cycle time"
    ],
    "workload_risks": [
     "Volume spike near Aug 12 deadline"
    ]
   },
   {
    "role": "Authorized Filer",
    "responsibilities": [
     "Submit completed packages under executed FSA-211"
    ],
    "contexts": [
     "Documentation Filing"
    ],
    "decisions_owned": [
     "Submission timing within the filing window"
    ],
    "ai_support": "None (human-only by design)",
    "approval_authority": "Filing authority under FSA-211",
    "escalation_authority": "Escalates submission failures to founder",
    "quality_metrics": [
     "On-time filing rate"
    ],
    "workload_risks": [
     "County office channel variability"
    ]
   }
  ],
  "human_review_checkpoints": [
   "AI draft -> Specialist approval",
   "Public release -> owner acceptance",
   "Retraction -> senior specialist co-sign",
   "Prompt rollout -> ops + evaluator"
  ],
  "escalation_matrix": [
   "AI -> Specialist -> Senior Specialist -> Owner -> Agricultural legal counsel",
   "Coverage dispute -> Specialist -> Farmer's own licensed adjuster"
  ],
  "manual_override_rules": [
   "Any manual override captured as an explicit override event with actor + reason",
   "No override may bypass the Specialist Review or FSA-211-verification invariant"
  ],
  "separation_of_duties": [
   "Extraction/Drafter Agents cannot sign; Specialist cannot draft on behalf of AI without an override event; Senior Specialist cannot silently retract"
  ],
  "quality_control_workflow": [
   "Weekly specialist calibration meeting",
   "Monthly evaluator regression report",
   "Quarterly rules-library re-verification review with owner + counsel"
  ],
  "data_objects": [
   {
    "name": "FarmProfile",
    "meaning": "One farm operation's eligibility and intake record",
    "owner_context": "Documentation Filing",
    "writers": [
     "Extraction Agent",
     "Farm Operator"
    ],
    "readers": [
     "Specialist",
     "Eligibility Reasoning"
    ],
    "source_of_truth": "Documentation Filing context",
    "retention": "3 years + 6 months (FSA/NAD appeal window + buffer)",
    "privacy": "Sensitive business/financial data, farm-isolated",
    "audit": "Every field change logged"
   },
   {
    "name": "CompletenessPack",
    "meaning": "One filed or in-progress documentation deliverable",
    "owner_context": "Documentation Filing",
    "writers": [
     "Drafter Agent",
     "Specialist"
    ],
    "readers": [
     "Farm Operator",
     "Quality Assurance"
    ],
    "source_of_truth": "Documentation Filing context",
    "retention": "3 years + 6 months",
    "privacy": "Sensitive",
    "audit": "Full version history retained"
   },
   {
    "name": "EligibilityMemo",
    "meaning": "The cited eligibility read for one farm/program",
    "owner_context": "Eligibility Reasoning",
    "writers": [
     "Eligibility Reasoning Agent"
    ],
    "readers": [
     "Farm Operator",
     "Specialist",
     "Documentation Filing"
    ],
    "source_of_truth": "Eligibility Reasoning context",
    "retention": "3 years + 6 months",
    "privacy": "Sensitive",
    "audit": "Rule-version citation logged per memo"
   }
  ],
  "read_models": [
   "OperatorDashboard read model (per tenant): open intakes, in-review, filed this week",
   "SpecialistQueue read model: packets awaiting review with confidence + escalation reason",
   "ComplianceLedger read model: open owner actions + release-decision",
   "AnalyticsRollup read model: metric definitions rolled up daily"
  ],
  "reporting_models": [
   "Outcome report per farm: packs filed, cycle time, FSA completeness-rejection status, retractions",
   "Ops report: AI cost per pack, escalation rate, specialist load"
  ],
  "data_duplication_notes": [
   "Specialist identity is stored in Onboarding, referenced by Quality Assurance — QA does not own it",
   "OwnerActionLedger duplicates minimal facts into read models for Documentation Filing consumption"
  ],
  "data_retention": [
   "Completeness Packs + evidence + signoffs: 3 years + 6 months (mirrors the FSA/NAD appeal-window duty + buffer)",
   "AgentRun logs: 13 months rolling",
   "Users + sessions: life of account + 2 years"
  ],
  "data_quality_risks": [
   "Silent schema drift from FSA form-revision updates",
   "Stale rules-library indices after a program-rule change (realized this build with the SDRP payment-factor update)",
   "Missing retraction cross-links after legacy import"
  ],
  "use_cases": [
   {
    "name": "File an SDRP Stage 2 Completeness Pack",
    "actor": "Farm Operator",
    "context": "Documentation Filing",
    "goal": "Get a complete, filed SDRP Stage 2 application inside the Aug 12, 2026 deadline",
    "preconditions": [
     "Farmer completed the free Eligibility Screen with a likely-eligible result"
    ],
    "main_flow": [
     "Farmer sends yield/insurance/acreage records via upload link",
     "Extraction Agent normalizes the records",
     "Eligibility Reasoning Agent produces a cited eligibility memo",
     "Drafter Agent populates FSA-504 and supporting forms",
     "Specialist reviews and signs off",
     "Authorized filer submits under FSA-211",
     "Farmer receives Filed Confirmation"
    ],
    "alternative_flows": [
     "Evidence gap found -> farmer sends missing document -> resumes at Extraction step"
    ],
    "business_rules": [
     "No filing without Specialist Review approval and valid FSA-211"
    ],
    "ai_role": "Extraction, eligibility reasoning, drafting",
    "human_role": "Specialist review, FSA-211 execution, filing",
    "commands": [
     "OpenIntake",
     "AttachEvidence",
     "RequestDraft",
     "SubmitForSpecialistReview",
     "FilePack"
    ],
    "events": [
     "FarmProfileCreated",
     "EvidenceCollected",
     "CompletenessPackDrafted",
     "SpecialistReviewApproved",
     "PackFiled"
    ],
    "aggregates": [
     "FarmProfileAggregate",
     "CompletenessPackAggregate",
     "FSA211AuthorizationAggregate"
    ],
    "success": "Filed Confirmation delivered before the deadline",
    "failure_handling": "FSA completeness request routed back to intake within 1 business day",
    "audit": "Full event history retained through the appeal window"
   },
   {
    "name": "Coordinate insurance evidence without adjusting the claim",
    "actor": "Specialist",
    "context": "Evidence Coordination",
    "goal": "Hand the farmer's licensed adjuster an organized evidence package",
    "preconditions": [
     "Farmer purchased the Insurance Claim Evidence Coordination add-on"
    ],
    "main_flow": [
     "Specialist indexes evidence",
     "Package prepared",
     "Handoff delivered to farmer's adjuster"
    ],
    "alternative_flows": [
     "Adjuster requests additional evidence -> routed back to farmer"
    ],
    "business_rules": [
     "AgReliefClear never issues a coverage determination"
    ],
    "ai_role": "Evidence indexing",
    "human_role": "Specialist prepares handoff; licensed adjuster (external) decides",
    "commands": [
     "PrepareAdjusterHandoff"
    ],
    "events": [
     "EvidenceHandoffPrepared"
    ],
    "aggregates": [
     "EvidenceBundleAggregate"
    ],
    "success": "Adjuster confirms receipt of a complete package",
    "failure_handling": "Incomplete package flagged before handoff",
    "audit": "Handoff logged with contents manifest"
   },
   {
    "name": "Respond to an FSA completeness request",
    "actor": "Specialist",
    "context": "Documentation Filing",
    "goal": "Resolve an FSA completeness request without missing the filing window",
    "preconditions": [
     "Pack already filed; FSA requests a specific additional item"
    ],
    "main_flow": [
     "FSA request logged",
     "Farmer notified of specific missing item",
     "Item collected and attached",
     "Specialist re-verifies and resubmits"
    ],
    "alternative_flows": [
     "Farmer cannot produce the item -> escalate to founder for a workaround"
    ],
    "business_rules": [
     "Response routed to intake within 1 business day"
    ],
    "ai_role": "Drafts the farmer-facing request summary",
    "human_role": "Specialist verifies and resubmits",
    "commands": [
     "AttachEvidence",
     "FilePack"
    ],
    "events": [
     "FSACompletenessRequestReceived",
     "PackFiled"
    ],
    "aggregates": [
     "CompletenessPackAggregate"
    ],
    "success": "FSA accepts the completed packet",
    "failure_handling": "Escalate to founder if the farmer cannot produce the item in time",
    "audit": "Request and response logged with timestamps"
   }
  ],
  "architecture": {
   "style": "modular-monolith-event-driven",
   "why": "Single team + single regulated vertical per blueprint + strong consistency requirements around signoff / delivery / release-decision favor a monolith. Event-driven internals give us the audit-friendly append-only log without the operational cost of microservices.",
   "rejected_alternatives": [
    "Microservices — no independent scaling or team boundary justifies distributed cost yet.",
    "Serverless-workflow-only — reviewer signoff and audit invariants are easier to keep correct in a monolith.",
    "No-code / low-code — cannot enforce OutputValidator, prompt versioning, or per-tenant retrieval isolation with fidelity."
   ],
   "backend_modules": [
    "Service Fulfillment",
    "AI Orchestration",
    "Quality Assurance",
    "Compliance & Governance",
    "Sales & Intake",
    "Client Onboarding & Profile",
    "Client Delivery & Success",
    "Knowledge Base & Retrieval",
    "Analytics & Reporting"
   ],
   "frontend_modules": [
    "Operator dashboard",
    "Reviewer console",
    "Client portal",
    "Owner console",
    "Ops (prompt registry) console"
   ],
   "api_boundaries": [
    "/intake/*",
    "/artifacts/*",
    "/reviewer/*",
    "/compliance/*",
    "/knowledge/*",
    "/admin/*"
   ],
   "database_strategy": "One managed Postgres; schema-per-context; cross-context reads via published projections; RLS on protected tables.",
   "event_bus": "In-process event dispatcher backed by an outbox table (transactional publish); upgrade path to a real broker if throughput demands.",
   "queue": "Background job queue (managed) for AI runs, delivery adapters, and reindex jobs.",
   "workflow_engine": "None initially — orchestrate via domain events + policies; add a workflow engine if orchestrations exceed 5 sequential steps.",
   "ai_orchestration": "AI Orchestration context owns bounded agents; OutputValidator + prompt registry + tenant-scoped retrieval; retries with backoff.",
   "rag_layer": "Per-tenant partitioned retrieval indices in a managed vector DB; ingestion pipeline in Knowledge Base context.",
   "file_storage": "Managed blob storage with per-tenant prefixes + signed URLs; artifacts hashed on write.",
   "authn_authz": "IdP (Google / Okta) for authn; RBAC via dedicated roles table with server-side checks + RLS.",
   "admin_dashboard": "Ops-facing admin for tenants, users, feature flags, prompt versions.",
   "client_portal": "Customer-facing portal: submit intake, see status, receive artifacts.",
   "operator_dashboard": "Internal: intake queue, reviewer queue, escalation queue, delivery health.",
   "observability": "Structured logs with tenant + request ids; RED metrics per workflow; error tracking with source maps; model-call spans with cost + latency; SLO review weekly.",
   "audit_logging": "Append-only audit log for all state transitions; hash-chained snapshots on signed artifacts.",
   "deployment": "Single production region + multi-AZ managed DB; per-PR preview deploys; migrations gated on review."
  },
  "module_structure": {
   "tree": "/src\n  /contexts\n    /sales-intake\n      /domain\n      /application\n      /infrastructure\n      /interfaces\n    /client-onboarding\n      /domain\n      /application\n      /infrastructure\n      /interfaces\n    /service-fulfillment\n      /domain\n      /application\n      /infrastructure\n      /interfaces\n    /ai-orchestration\n      /domain\n      /application\n      /infrastructure\n      /interfaces\n    /quality-assurance\n      /domain\n      /application\n      /infrastructure\n      /interfaces\n    /compliance-governance\n      /domain\n      /application\n      /infrastructure\n      /interfaces\n    /client-delivery\n      /domain\n      /application\n      /infrastructure\n      /interfaces\n    /knowledge-base\n      /domain\n      /application\n      /infrastructure\n      /interfaces\n    /analytics\n      /domain\n      /application\n      /infrastructure\n      /interfaces\n  /shared\n    /kernel        # tiny — Ids, Money, Tenant, Actor\n    /events        # published-language event contracts\n    /auth          # session + role primitives\n    /observability # logging, metrics, tracing\n    /config",
   "modules": [
    {
     "name": "service-fulfillment",
     "purpose": "ServiceEvent → Completeness Pack lifecycle",
     "owned_domain": [
      "ServiceEvent",
      "Draft",
      "Completeness Pack",
      "Delivery"
     ],
     "application_services": [
      "OpenIntake",
      "AttachEvidence",
      "SubmitForSignoff",
      "DeliverCompletenessPack"
     ],
     "infra_adapters": [
      "Delivery adapter",
      "Outbox publisher"
     ],
     "public_interfaces": [
      "/intake/*",
      "/artifacts/*"
     ],
     "forbidden_deps": [
      "billing infra",
      "identity provider internals"
     ]
    },
    {
     "name": "ai-orchestration",
     "purpose": "Bounded AI agents",
     "owned_domain": [
      "AgentRun",
      "PromptVersion"
     ],
     "application_services": [
      "StartAgentRun",
      "PublishPromptVersion"
     ],
     "infra_adapters": [
      "OpenAI/Anthropic client",
      "Retrieval router"
     ],
     "public_interfaces": [
      "internal"
     ],
     "forbidden_deps": [
      "cross-tenant retrieval",
      "direct delivery"
     ]
    },
    {
     "name": "quality-assurance",
     "purpose": "Signoff + retraction",
     "owned_domain": [
      "Signoff",
      "Retraction"
     ],
     "application_services": [
      "ApproveArtifact",
      "FileRetraction"
     ],
     "infra_adapters": [
      "Signature service"
     ],
     "public_interfaces": [
      "/reviewer/*"
     ],
     "forbidden_deps": [
      "draft content mutation"
     ]
    },
    {
     "name": "compliance-governance",
     "purpose": "Owner-action ledger + release decision",
     "owned_domain": [
      "OwnerActionLedger",
      "ReleaseDecision",
      "DSARRequest"
     ],
     "application_services": [
      "ResolveOwnerAction",
      "ProcessDSAR"
     ],
     "infra_adapters": [
      "Email adapter"
     ],
     "public_interfaces": [
      "/compliance/*"
     ],
     "forbidden_deps": [
      "draft content"
     ]
    }
   ],
   "dependency_rules": [
    "Domain layer must not depend on infrastructure.",
    "Application layer may depend on domain.",
    "Infrastructure implements ports defined by application/domain.",
    "Interfaces call application services.",
    "Shared kernel must remain small (Ids, Money, Tenant, Actor).",
    "Contexts communicate through published events or explicit application APIs — never via direct database access to another context."
   ]
  },
  "security_governance": {
   "controls": [
    {
     "risk": "Prompt injection via customer input",
     "context": "AI Orchestration",
     "impact": "high",
     "control": "Input scrubber + OutputValidator + tenant-scoped retrieval",
     "audit": "AgentRun trace"
    },
    {
     "risk": "Cross-tenant retrieval lien",
     "context": "Knowledge Base",
     "impact": "severe",
     "control": "Per-tenant index partitions + TenantIsolationSpec enforced at router",
     "audit": "Retrieval call log"
    },
    {
     "risk": "Signature spoofing",
     "context": "Quality Assurance",
     "impact": "severe",
     "control": "Signature bound to authenticated session; server-side validation",
     "audit": "Signature manifest"
    },
    {
     "risk": "Premature public claim",
     "context": "Compliance & Governance",
     "impact": "high",
     "control": "ReleaseReadinessSpec on OwnerActionLedger",
     "audit": "Release-decision log"
    },
    {
     "risk": "Privilege escalation",
     "context": "Identity & Access",
     "impact": "high",
     "control": "Roles in dedicated table + server-side checks + RLS",
     "audit": "Role assignment log"
    },
    {
     "risk": "Silent delivery failure",
     "context": "Client Delivery & Success",
     "impact": "medium",
     "control": "Adapter receipt required; alert customer within 1h on failure",
     "audit": "Delivery receipt archive"
    }
   ],
   "ai_governance": [
    "Every prompt version has a named owner + evaluator run + rollout flag",
    "AI outputs marked as suggestions until reviewer signoff",
    "Model + prompt inventory maintained in Ops console"
   ],
   "prompt_injection_defense": [
    "Strip / neutralize instruction-like patterns in customer inputs before prompt assembly",
    "Never concatenate raw customer input into a system prompt",
    "OutputValidator rejects outputs that reference forbidden actions"
   ],
   "sensitive_data_handling": [
    "PII scrubbed from logs",
    "Regulated data classes never sent to external model providers unless BAA/DPA covers it",
    "Per-tenant blob storage prefixes + signed URLs"
   ],
   "access_control_matrix": [
    {
     "role": "Customer operator",
     "context": "Service Fulfillment",
     "capabilities": [
      "OpenIntake",
      "AttachEvidence",
      "View own artifacts"
     ]
    },
    {
     "role": "attorney reviewer",
     "context": "Quality Assurance",
     "capabilities": [
      "ApproveArtifact",
      "RejectArtifact",
      "Co-sign retraction"
     ]
    },
    {
     "role": "Business owner",
     "context": "Compliance & Governance",
     "capabilities": [
      "ResolveOwnerAction",
      "Set release decision"
     ]
    },
    {
     "role": "Legal",
     "context": "Quality Assurance + Compliance",
     "capabilities": [
      "Co-sign retraction",
      "Handle DSAR"
     ]
    },
    {
     "role": "Ops",
     "context": "AI Orchestration",
     "capabilities": [
      "PublishPromptVersion",
      "Set confidence requirement"
     ]
    },
    {
     "role": "Platform admin",
     "context": "Identity & Access",
     "capabilities": [
      "Provision users",
      "Assign roles"
     ]
    }
   ],
   "audit_log_requirements": [
    "Append-only",
    "Actor + tenant + timestamp + command + before/after hash",
    "PII scrubbed",
    "Exportable per tenant on request (DSAR support)"
   ]
  },
  "observability": {
   "metrics": [
    {
     "metric": "Reviewer-signed artifacts / week / tenant",
     "type": "business",
     "context": "Service Fulfillment",
     "why": "North star: repeatable value delivery",
     "target": "≥ contracted cadence",
     "alert_threshold": "< 80% of contracted cadence"
    },
    {
     "metric": "AI draft acceptance rate",
     "type": "ai-quality",
     "context": "AI Orchestration",
     "why": "Signals grounding + prompt fit",
     "target": "≥ 70% by Phase 2",
     "alert_threshold": "< 50% weekly"
    },
    {
     "metric": "Escalation rate",
     "type": "ai-quality",
     "context": "AI Orchestration",
     "why": "Guardrails firing correctly",
     "target": "5-15%",
     "alert_threshold": "> 30% weekly"
    },
    {
     "metric": "Cycle time to signoff (p50 + p95)",
     "type": "operational",
     "context": "Quality Assurance",
     "why": "Reviewer throughput",
     "target": "p95 ≤ 5 business days",
     "alert_threshold": "> 5 business days"
    },
    {
     "metric": "Signoff-to-retraction ratio",
     "type": "risk",
     "context": "Quality Assurance",
     "why": "Correctness signal",
     "target": "< 1%",
     "alert_threshold": "any retraction week-over-week"
    },
    {
     "metric": "Delivery failure rate",
     "type": "reliability",
     "context": "Client Delivery & Success",
     "why": "Customer-facing reliability",
     "target": "< 0.5%",
     "alert_threshold": "> 1% daily"
    },
    {
     "metric": "Owner-action open count",
     "type": "business",
     "context": "Compliance & Governance",
     "why": "Public-release readiness",
     "target": "0 for launched blueprints",
     "alert_threshold": "any blocker aging > 30 days"
    },
    {
     "metric": "Model cost per artifact",
     "type": "financial",
     "context": "AI Orchestration",
     "why": "Margin control",
     "target": "≤ target per pricing model",
     "alert_threshold": "> 1.5× target"
    },
    {
     "metric": "Cross-tenant retrieval violation attempts",
     "type": "risk",
     "context": "Knowledge Base",
     "why": "Security invariant",
     "target": "0",
     "alert_threshold": "any > 0"
    },
    {
     "metric": "First-artifact time per tenant",
     "type": "customer",
     "context": "Client Onboarding & Profile",
     "why": "Activation",
     "target": "≤ 2 weeks",
     "alert_threshold": "> 4 weeks"
    }
   ],
   "dashboards": [
    "Operator dashboard",
    "Reviewer queue",
    "Delivery health",
    "AI cost + escalation",
    "Compliance blockers"
   ],
   "audit_reports": [
    "Per-tenant audit-log export",
    "Signature manifest export"
   ],
   "quality_review_reports": [
    "Reviewer calibration report",
    "Escalation-outcome report"
   ],
   "ai_evaluation_reports": [
    "Evaluator regression report",
    "Prompt-rollout diff"
   ],
   "client_outcome_reports": [
    "Artifacts delivered",
    "Cycle time",
    "Retraction rate"
   ]
  },
  "testing_strategy": {
   "tests": [
    {
     "type": "Domain unit",
     "validates": "Aggregate invariants",
     "context": "all core contexts",
     "example": "CompletenessPackAggregate rejects deliver without signoff"
    },
    {
     "type": "Aggregate invariant",
     "validates": "Consistency boundaries",
     "context": "Service Fulfillment / QA",
     "example": "Signed artifact is immutable"
    },
    {
     "type": "Policy",
     "validates": "Reactive rules",
     "context": "AI Orchestration",
     "example": "Escalates below confidence requirement"
    },
    {
     "type": "Specification",
     "validates": "Reusable rules",
     "context": "Compliance",
     "example": "ReleaseReadinessSpec blocks 'ready' with open owner actions"
    },
    {
     "type": "Application use-case",
     "validates": "End-to-end command flow",
     "context": "Fulfillment + QA",
     "example": "Deliver signed artifact happy path"
    },
    {
     "type": "Integration",
     "validates": "Adapter behavior",
     "context": "External Integrations",
     "example": "Stripe subscription webhook translates correctly"
    },
    {
     "type": "Contract",
     "validates": "Published-language event schemas",
     "context": "cross-context",
     "example": "DraftProduced payload matches consumer expectations"
    },
    {
     "type": "AI prompt eval",
     "validates": "Prompt quality vs golden dataset",
     "context": "AI Orchestration",
     "example": "Drafter accepts ≥ 40% in shadow mode"
    },
    {
     "type": "RAG retrieval",
     "validates": "Tenant isolation + coverage",
     "context": "Knowledge Base",
     "example": "Cross-tenant lookup returns zero rows"
    },
    {
     "type": "Golden dataset",
     "validates": "AI regression",
     "context": "AI Orchestration",
     "example": "No regression on past accepted artifacts"
    },
    {
     "type": "Human review simulation",
     "validates": "Escalation UX",
     "context": "QA",
     "example": "Reviewer can complete signoff in ≤ 5 clicks"
    },
    {
     "type": "End-to-end",
     "validates": "Critical path",
     "context": "all",
     "example": "Intake → signoff → delivery in staging"
    },
    {
     "type": "Security",
     "validates": "Auth + RLS + injection defense",
     "context": "Identity + AI Orchestration",
     "example": "Prompt-injection payload is neutralized"
    },
    {
     "type": "Regression",
     "validates": "No drift on prior fixes",
     "context": "all",
     "example": "Prior retraction bug does not reappear"
    }
   ],
   "critical_domain_rules": [
    "No delivery without signoff",
    "No AI output without OutputValidator pass",
    "No retrieval outside tenant partition",
    "No public-release flip with open blockers"
   ],
   "ai_eval_dataset": [
    "50 past reviewer-accepted artifacts per vertical (redacted)",
    "20 rejected drafts (ground truth for escalation)",
    "10 injection-payload cases"
   ],
   "regression_plan": "Every PR runs domain + policy + spec unit tests. Every prompt release runs Evaluator with regression gate. Weekly critical-path smoke test in staging.",
   "contract_testing_plan": "Published-language event schemas versioned in /shared/events; consumer tests run in CI against schema-version compatibility.",
   "manual_qa_checklist": [
    "Signoff flow: signature captured + timestamp + hash",
    "Retraction flow: co-sign captured + customer notified",
    "Delivery flow: receipt archived",
    "DSAR flow: export completes end-to-end"
   ]
  },
  "mvp_roadmap": [
   {
    "phase": "Phase 0 — Discovery + pilot LOI",
    "goal": "Confirm willingness-to-pay and specialist availability before building anything custom.",
    "features": [
     "Free Eligibility Screen (manual, phone/email)",
     "Intake checklist"
    ],
    "contexts": [
     "Eligibility Reasoning",
     "Documentation Filing"
    ],
    "ai_needs": [
     "None yet — manual eligibility read"
    ],
    "human_workflows": [
     "Founder-run intake calls"
    ],
    "data_needs": [
     "Public FSA disaster-declaration county list"
    ],
    "integrations": [
     "None"
    ],
    "risks": [
     "No signed pilot farm in 4 weeks"
    ],
    "exit_criteria": [
     "3-5 pilot LOIs signed"
    ]
   },
   {
    "phase": "Phase 1 — Thin vertical slice",
    "goal": "Prove the intake -> eligibility -> specialist signoff -> filing loop end-to-end for SDRP Stage 2.",
    "features": [
     "Document upload link",
     "Extraction + eligibility drafting",
     "Specialist review console"
    ],
    "contexts": [
     "Documentation Filing",
     "Eligibility Reasoning",
     "Quality Assurance"
    ],
    "ai_needs": [
     "Extraction Agent",
     "Eligibility Reasoning Agent",
     "Drafter Agent"
    ],
    "human_workflows": [
     "Specialist review and signoff",
     "FSA-211 execution"
    ],
    "data_needs": [
     "Versioned SDRP Stage 2 rules library"
    ],
    "integrations": [
     "E-signature provider"
    ],
    "risks": [
     "Specialist signoff cycle >5 business days"
    ],
    "exit_criteria": [
     "1 real Completeness Pack filed + specialist-signed"
    ]
   },
   {
    "phase": "Phase 2 — Pilot cohort",
    "goal": "File up to 10 pilot Completeness Packs before the Aug 12, 2026 deadline.",
    "features": [
     "Full intake -> filing workflow",
     "Evidence-gap tracking"
    ],
    "contexts": [
     "Documentation Filing",
     "Eligibility Reasoning",
     "Quality Assurance",
     "Evidence Coordination"
    ],
    "ai_needs": [
     "All three agents at pilot volume"
    ],
    "human_workflows": [
     "Weekly specialist calibration"
    ],
    "data_needs": [
     "Pilot-cohort intake data"
    ],
    "integrations": [
     "FSA county submission channel"
    ],
    "risks": [
     "FSA completeness-rejection rate above 5%"
    ],
    "exit_criteria": [
     "10 pilot farms filed or logged with reason"
    ]
   }
  ],
  "scaling_roadmap": [
   {
    "stage": "NAP as second program line",
    "trigger": "Day-90 targets met (COGS, rework, cycle time)",
    "architecture_change": "Extend rules library and Drafter Agent to NAP forms",
    "operational_change": "Cross-train specialist on NAP evidence requirements",
    "risk": "Rules-library drift if NAP added without the same re-verification discipline as SDRP"
   },
   {
    "stage": "Portfolio/multi-entity tier",
    "trigger": "First management-company inbound",
    "architecture_change": "Multi-farm-number FarmProfile grouping",
    "operational_change": "Portfolio-level engagement letter template",
    "risk": "Entity-structure complexity increases evidence-gap rate"
   },
   {
    "stage": "Next-Cycle Monitor subscription at scale",
    "trigger": "50+ filed clients",
    "architecture_change": "Scheduled program-opening watcher against FSA/RMA sources",
    "operational_change": "Lightweight recurring-billing ops",
    "risk": "False-positive alerts erode trust if rules library isn't kept current"
   }
  ],
  "risk_register": [
   {
    "risk": "FSA-facing claim proves incorrect",
    "likelihood": "medium",
    "impact": "severe",
    "signal": "Specialist flags a factual error pre-filing",
    "mitigation": "Every claim linked to a cited rule version + specialist signoff",
    "owner": "legal",
    "context": "Eligibility Reasoning"
   },
   {
    "risk": "Rules library goes stale between quarterly re-verifications",
    "likelihood": "medium",
    "impact": "high",
    "signal": "A client-facing figure contradicts a fresh source (realized this build)",
    "mitigation": "Quarterly primary-source re-verification task; ad hoc re-verification on any known program-rule change",
    "owner": "owner",
    "context": "Eligibility Reasoning"
   },
   {
    "risk": "Specialist bottleneck during the Aug 12 filing spike",
    "likelihood": "high",
    "impact": "medium",
    "signal": "Review queue depth exceeds 2x normal",
    "mitigation": "Pilot cap of 10; surge contracting of a second specialist ahead of the deadline",
    "owner": "owner",
    "context": "Quality Assurance"
   }
  ],
  "adrs": [
   {
    "id": "ADR-001",
    "decision": "No farmer-facing portal at launch",
    "status": "accepted",
    "context": "The product thesis is done-for-you, not self-serve.",
    "options": [
     "Build a portal",
     "Upload link/email only"
    ],
    "chosen": "Upload link/email only",
    "business_reason": "A portal contradicts the core differentiation from FarmRaise/Ambrook (buyer-operated tools)",
    "technical_reason": "Removes an entire frontend surface and its auth/UX burden from the MVP",
    "tradeoffs": [
     "[PLACEHOLDER] owner to complete"
    ],
    "risks": [
     "[PLACEHOLDER] owner to complete"
    ],
    "revisit_trigger": "50+ filed clients with explicit portal demand"
   },
   {
    "id": "ADR-002",
    "decision": "Rules library stored as a versioned internal database, not a live external API",
    "status": "accepted",
    "context": "No unified FSA/RMA API exists for program eligibility rules.",
    "options": [
     "Live scraping",
     "Manual versioned database with scheduled re-verification"
    ],
    "chosen": "Manual versioned database with scheduled re-verification",
    "business_reason": "Predictable, auditable, and avoids brittle scraping against government sites",
    "technical_reason": "Simplicity and citation traceability outweigh staleness risk given the mitigating quarterly review",
    "tradeoffs": "Requires disciplined manual re-verification (this build's material deviation shows the cost of skipping it)",
    "risks": "Staleness between reviews",
    "revisit_trigger": "Any known program-rule change event"
   }
  ],
  "self_audit": {
   "scores": [
    {
     "category": "Domain modeling",
     "score": 8,
     "weakness": "Eligibility Reasoning context's rule-versioning discipline is new and unproven at volume",
     "improvement": "Add automated staleness alerts once volume justifies it"
    },
    {
     "category": "Evidence integrity",
     "score": 8,
     "weakness": "No real filings exist yet to validate the evidence-gap detection rate",
     "improvement": "Measure against the first 5 pilot filings"
    },
    {
     "category": "Licensing-boundary discipline",
     "score": 9,
     "weakness": "Deterministic output filter for coverage-determination language is specified but not yet load-tested",
     "improvement": "Red-team the filter with adversarial prompts before launch"
    }
   ],
   "weakest_parts": [
    "National addressable-farm-count sizing is Inferred, not directly measured",
    "Demand durability beyond the current SDRP cycle is Inferred from historical pattern"
   ],
   "biggest_assumptions": [
    "Farm operators will pay for a documentation service over DIY FSA filing",
    "The 5-business-day cycle time is achievable at pilot volume with one specialist"
   ],
   "highest_risk_decisions": [
    "No farmer-facing portal at launch",
    "Rules library as manually re-verified database, not a live feed"
   ],
   "needs_domain_expert": [
    "[PLACEHOLDER] owner to complete"
   ],
   "needs_legal": [
    "[PLACEHOLDER] owner to complete"
   ],
   "needs_prototype": [
    "[PLACEHOLDER] owner to complete"
   ],
   "validate_before_prod": [
    "[PLACEHOLDER] owner to complete"
   ]
  },
  "final_recommendations": [
   "Ship a modular-monolith, evidence-linked, specialist-gated vertical slice for AgReliefClear. Preserve the invariant that no Completeness Pack leaves the system without a signed human release — specialist on green/yellow, senior specialist or agricultural legal counsel on red. Do not launch commercially until owner-action facts close and at least one human-released Completeness Pack is filed.",
   "Do NOT default to microservices. Extract a module only when a specific pressure demands it.",
   "Do NOT allow AI outputs to leave the Eligibility Reasoning or Documentation Filing contexts without OutputValidator pass and citation coverage.",
   "Do NOT ship any public claim on the AgReliefClear microsite while owner-action facts (entity, specialist identity, trademark clearance) remain open.",
   "Do NOT reuse a dollar figure or deadline in client-facing copy without a rule-version citation from the current quarter's re-verification — this exact failure mode was found and corrected in this build."
  ],
  "extensions": {
   "service_business_reality_check": {
    "is_service_business": true,
    "paid_outcome_clear": true,
    "workflow_present": true,
    "ai_native_fit_score": 8,
    "red_flags": [
     "[PLACEHOLDER] owner to complete"
    ]
   },
   "ai_native_fit": {
    "score": 8,
    "why": "Multi-program eligibility reasoning, document extraction from inconsistent formats, and per-farm cost efficiency all directly benefit from frontier-model capability improvements.",
    "disqualifiers": [
     "[PLACEHOLDER] owner to complete"
    ]
   },
   "domain_evidence_register": [
    {
     "claim": "SDRP total allocation $16.09B; $6.7B paid to date; deadline Aug 12, 2026",
     "evidence_type": "primary government source",
     "source": "USDA press release, Apr 24, 2026",
     "strength": "high",
     "gaps": "No precise current Stage-2-remaining figure published"
    },
    {
     "claim": "USDA-navigation consultants already charge fee-for-service/percentage-of-award for materially similar work",
     "evidence_type": "trade journalism",
     "source": "Ambrook/Offrange reporting",
     "strength": "medium-high",
     "gaps": "Exact fee schedules not disclosed"
    },
    {
     "claim": "FSA-211 is USDA's official power-of-attorney mechanism for authorized filers",
     "evidence_type": "primary government source",
     "source": "USDA FSA-211 form and instructions",
     "strength": "high",
     "gaps": "None"
    },
    {
     "claim": "State crop-insurance adjuster licensing is required to formally adjust an insured loss",
     "evidence_type": "primary government source (state)",
     "source": "California DOI, Washington OIC licensing pages",
     "strength": "high",
     "gaps": "Only 2 states checked this run; verify others before operating there"
    },
    {
     "claim": "1.88M U.S. farms in 2024, lowest count in over a century",
     "evidence_type": "primary government statistics",
     "source": "USDA ERS / NASS 2024 Census of Agriculture",
     "strength": "high",
     "gaps": "None"
    }
   ],
   "assumption_register": [
    {
     "assumption": "Farm operators will pay for evidence-linked, human-reviewed filings",
     "impact_if_wrong": "severe",
     "how_to_validate": "First 5 pilot sales calls",
     "blocking": true
    },
    {
     "assumption": "The 5-business-day cycle time is achievable at pilot volume with one contracted specialist",
     "impact_if_wrong": "high",
     "how_to_validate": "Measure actual cycle time across the first 10 pilot filings",
     "blocking": false
    },
    {
     "assumption": "40-50% of clients return for the next open disaster/insurance cycle",
     "impact_if_wrong": "medium",
     "how_to_validate": "Track renewal rate post-SDRP-cycle via the Next-Cycle Monitor opt-in rate",
     "blocking": false
    },
    {
     "assumption": "Crop-insurance agents will refer clients without perceiving AgReliefClear as competitive",
     "impact_if_wrong": "medium",
     "how_to_validate": "First 3 referral-partner conversations",
     "blocking": false
    }
   ],
   "language_conflict_map": [
    {
     "term": "Pack",
     "meaning_a": "Completeness Pack (the filing deliverable)",
     "context_a": "Documentation Filing",
     "meaning_b": "N/A — no conflicting use in this domain",
     "context_b": "N/A",
     "resolution": "Single canonical meaning; no conflict found"
    }
   ],
   "build_buy_integrate": [
    {
     "subdomain": "Documentation Filing",
     "decision": "build",
     "reason": "Core differentiator"
    },
    {
     "subdomain": "Referral & Outreach",
     "decision": "buy",
     "reason": "Off-the-shelf CRM suffices"
    }
   ],
   "core_protection_strategy": [
    "[PLACEHOLDER] owner to complete"
   ],
   "boundary_stress_tests": [
    {
     "scenario": "A farm's insurance policy spans both insured and NAP-covered acreage",
     "contexts_touched": [
      "Eligibility Reasoning",
      "Documentation Filing"
     ],
     "breaks_if": "The eligibility engine doesn't segment acreage by coverage type",
     "verdict": "handled — segmented eligibility gates per acreage type"
    },
    {
     "scenario": "Farmer disputes their insurer's coverage determination mid-engagement",
     "contexts_touched": [
      "Evidence Coordination",
      "Documentation Filing"
     ],
     "breaks_if": "Specialist attempts to resolve the coverage question directly",
     "verdict": "handled — hard policy routes to the farmer's own licensed adjuster"
    },
    {
     "scenario": "A multi-farm-number management company submits a portfolio engagement",
     "contexts_touched": [
      "Documentation Filing"
     ],
     "breaks_if": "FarmProfile aggregate assumes a single farm number per engagement",
     "verdict": "flagged — portfolio tier needs a FarmProfile grouping extension before scale (see scaling_roadmap)"
    }
   ],
   "unresolved_ownership": [
    {
     "concept": "Next-Cycle Monitor alert ownership",
     "candidates": [
      "Documentation Filing",
      "a new Retention context"
     ],
     "recommendation": "Keep in Documentation Filing until subscription volume justifies a dedicated context"
    }
   ],
   "published_language_contracts": [
    {
     "producer": "Eligibility Reasoning",
     "consumer": "Documentation Filing",
     "contract": "EligibilityMemo{rule_version, program, likely_eligible, gaps}",
     "versioning": "Semantic version on the rules library, immutable per version"
    }
   ],
   "shared_kernel_warnings": [
    "Do not let FarmProfile identity fields drift between Documentation Filing and Evidence Coordination — single source of truth in Documentation Filing"
   ],
   "aggregate_stress_tests": [
    {
     "aggregate": "CompletenessPackAggregate",
     "scenario": "Specialist approval revoked after FSA211Verified but before FilePack",
     "invariant_at_risk": "A CompletenessPack cannot be filed without a valid Specialist Review approval",
     "verdict": "handled — FilePack re-checks signoff validity at execution time, not just at request time"
    },
    {
     "aggregate": "FSA211AuthorizationAggregate",
     "scenario": "Farmer revokes FSA-211 mid-filing-cycle",
     "invariant_at_risk": "Any FilePack command is rejected if no valid, unexpired FSA211Authorization exists",
     "verdict": "handled — RevokeFSA211 immediately blocks all pending FilePack commands for that farm"
    },
    {
     "aggregate": "SignoffAggregate",
     "scenario": "Specialist account compromised",
     "invariant_at_risk": "Signature bound to a live authenticated session, not a form field",
     "verdict": "handled — MFA + session-bound signature claim per STRIDE spoofing mitigation"
    }
   ],
   "agent_stress_tests": [
    {
     "agent": "Eligibility Reasoning Agent",
     "scenario": "Prompted to state a specific dollar amount the farm will receive",
     "failure_mode": "Could imply a payment guarantee",
     "guardrail": "Deterministic output filter blocks the pattern before Specialist Review",
     "verdict": "guardrail specified, needs load-testing before launch"
    },
    {
     "agent": "Extraction Agent",
     "scenario": "Illegible handwritten yield-monitor printout uploaded",
     "failure_mode": "Could guess a plausible-looking but wrong number",
     "guardrail": "Returns null + confidence 0 rather than guessing; routes to manual re-keying",
     "verdict": "guardrail specified, needs load-testing before launch"
    }
   ],
   "regulated_domain_handling": [
    {
     "regime": "FSA-211 Power of Attorney",
     "applies_because": "AgReliefClear files on the farmer's behalf",
     "controls": [
      "Human-only execution and verification",
      "Expiry enforcement on every filing"
     ],
     "evidence_required": [
      "[PLACEHOLDER] owner to complete"
     ]
    },
    {
     "regime": "State crop-insurance adjuster licensing",
     "applies_because": "AgReliefClear coordinates but never adjusts insurance claims",
     "controls": [
      "Deterministic output filter",
      "Hard referral policy to the farmer's own licensed adjuster"
     ],
     "evidence_required": "No AgReliefClear output ever issues a coverage determination"
    }
   ],
   "unit_economics": {
    "price_model": "Flat per Completeness Pack, per program-year",
    "unit_of_value": "One filed Completeness Pack",
    "gross_margin_pct": "35-40% at launch, rising to 55-65% by month 12",
    "cost_drivers": [
     "Model inference",
     "Specialist review minutes",
     "Document-collection labor",
     "E-signature/software fees",
     "Rework",
     "FSA filing/admin costs"
    ],
    "breakeven_note": "CAC payback under one program cycle given flat $1,200+ pricing"
   },
   "margin_leakage_map": [
    {
     "leakage": "Rework from low-confidence extraction",
     "cause": "Poor-quality scanned documents",
     "impact": "Adds specialist minutes per pack",
     "mitigation": "Confidence-threshold routing to manual re-keying before it reaches specialist review"
    }
   ],
   "slop_findings": [
    {
     "pattern": "Stale headline dollar figure reused without re-verification",
     "status": "found and corrected this build",
     "note": "The blueprint's $10.3B figure was retired after fresh verification found it materially outdated; see evidence e4"
    }
   ],
   "drift_checks": [
    {
     "stage": "Blueprint to build",
     "status": "drift found and corrected",
     "findings": [
      "[PLACEHOLDER] owner to complete"
     ]
    }
   ],
   "gates": [
    {
     "id": "gate-licensing-boundary",
     "title": "Licensing boundary enforced in every artifact",
     "passed": true,
     "checks": [
      {
       "name": "Verbatim disclaimer present on landing page",
       "ok": true,
       "evidence": "compliance section, site/index.html"
      },
      {
       "name": "No coverage/payment-guarantee language in marketing copy",
       "ok": true,
       "evidence": "banned-phrase and manual copy review"
      }
     ]
    },
    {
     "id": "gate-design-standard",
     "title": "DESIGN-STANDARD.md done criteria met",
     "passed": true,
     "checks": [
      {
       "name": "File self-contained, <=120KB, no external requests",
       "ok": true,
       "evidence": "23KB, zero external src/href"
      },
      {
       "name": "Contrast >=4.5:1 computationally verified",
       "ok": true,
       "evidence": "contrast-check script, all pairs pass"
      }
     ]
    }
   ],
   "contradiction_scan": [
    {
     "id": "cs-1",
     "severity": "medium",
     "message": "Blueprint's $10.3B unclaimed-funds headline contradicted by Apr 24 2026 SDRP payment-factor increase found during fresh verification",
     "refs": [
      "evidence-e4",
      "compliance-checklist.md#6"
     ]
    }
   ],
   "rubric": {
    "categories": [
     {
      "category": "Domain modeling",
      "score": 8,
      "min": 6,
      "passed": true
     },
     {
      "category": "Evidence integrity",
      "score": 8,
      "min": 6,
      "passed": true
     },
     {
      "category": "Licensing-boundary discipline",
      "score": 9,
      "min": 7,
      "passed": true
     }
    ],
    "pass": true,
    "average": 8.33
   },
   "foundry_package": {
    "version": "1.0",
    "checksum": "computed-on-write",
    "counts": {
     "subdomains": 4,
     "bounded_contexts": 4,
     "aggregates": 5,
     "events": 6,
     "commands": 5,
     "policies": 4,
     "ai_agents": 3,
     "invariants": 4,
     "integrations": 3,
     "adrs": 2
    },
    "subset": {
     "subdomains": [
      "[PLACEHOLDER] owner to complete"
     ],
     "bounded_contexts": [
      "[PLACEHOLDER] owner to complete"
     ],
     "aggregates": [
      "[PLACEHOLDER] owner to complete"
     ],
     "events": [
      "[PLACEHOLDER] owner to complete"
     ],
     "commands": [
      "[PLACEHOLDER] owner to complete"
     ],
     "policies": [
      "[PLACEHOLDER] owner to complete"
     ],
     "ai_agents": [
      "[PLACEHOLDER] owner to complete"
     ],
     "invariants": [
      "[PLACEHOLDER] owner to complete"
     ],
     "integrations": [
      "[PLACEHOLDER] owner to complete"
     ],
     "adrs": [
      "[PLACEHOLDER] owner to complete"
     ]
    }
   }
  }
 },
 "ddd_coverage": {
  "slug": "farm-disaster-relief-claims-completeness-pack-engine",
  "total": 17,
  "passed": 17,
  "pct": 100,
  "checks": [
   {
    "key": "actors",
    "label": "Actors",
    "count": 3,
    "min": 3,
    "ok": true,
    "gate": "domain",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "glossary",
    "label": "Glossary",
    "count": 8,
    "min": 6,
    "ok": true,
    "gate": "domain",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "decisions",
    "label": "Business decisions",
    "count": 4,
    "min": 4,
    "ok": true,
    "gate": "domain",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "events",
    "label": "Domain events",
    "count": 5,
    "min": 5,
    "ok": true,
    "gate": "domain",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "subdomains",
    "label": "Subdomains",
    "count": 4,
    "min": 4,
    "ok": true,
    "gate": "core",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "bcs",
    "label": "Bounded contexts",
    "count": 4,
    "min": 4,
    "ok": true,
    "gate": "boundary",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "ctx_map",
    "label": "Context map",
    "count": 3,
    "min": 3,
    "ok": true,
    "gate": "boundary",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "event_storm",
    "label": "Event storm rows",
    "count": 6,
    "min": 6,
    "ok": true,
    "gate": "boundary",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "aggregates",
    "label": "Aggregates",
    "count": 5,
    "min": 3,
    "ok": true,
    "gate": "invariant",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "invariants",
    "label": "Invariants",
    "count": 4,
    "min": 4,
    "ok": true,
    "gate": "invariant",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "ai_agents",
    "label": "AI agents",
    "count": 3,
    "min": 2,
    "ok": true,
    "gate": "ai-safety",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "use_cases",
    "label": "Use cases",
    "count": 3,
    "min": 3,
    "ok": true,
    "gate": "buildability",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "evidence_reg",
    "label": "Evidence register",
    "count": 5,
    "min": 5,
    "ok": true,
    "gate": "domain",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "assumptions",
    "label": "Assumption register",
    "count": 4,
    "min": 4,
    "ok": true,
    "gate": "domain",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "stress_boundary",
    "label": "Boundary stress tests",
    "count": 3,
    "min": 3,
    "ok": true,
    "gate": "boundary",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "stress_agg",
    "label": "Aggregate stress tests",
    "count": 3,
    "min": 3,
    "ok": true,
    "gate": "invariant",
    "unblock": "Not needed — check passes at current counts."
   },
   {
    "key": "stress_agent",
    "label": "Agent stress tests",
    "count": 2,
    "min": 2,
    "ok": true,
    "gate": "ai-safety",
    "unblock": "Not needed — check passes at current counts."
   }
  ],
  "failingGates": [
   "[PLACEHOLDER] owner to complete"
  ]
 },
 "architecture": {
  "slug": "farm-disaster-relief-claims-completeness-pack-engine",
  "archetypes": [
   "regulated system",
   "CRUD/workflow application",
   "internal operations platform"
  ],
  "archetype_impact": "Program cycle is a global query parameter — every read/write is scoped by farm, program type, and filing-window status, not just tenant.",
  "personality": [
   "workflow-heavy",
   "cost-sensitive",
   "highly regulated",
   "highly secure"
  ],
  "forces_ranked": [
   {
    "force": "compliance",
    "why": "Regulated verticals gate release; the architecture must prove, not assert, compliance."
   },
   {
    "force": "auditability",
    "why": "Every release decision, every evidence toggle, must be defensible in review."
   },
   {
    "force": "reliability",
    "why": "A broken blueprint is a broken release gate — availability is a product feature."
   },
   {
    "force": "data integrity",
    "why": "Evidence is the product; a corrupted citation is a shipped defect."
   },
   {
    "force": "maintainability",
    "why": "One team maintains dozens of blueprints; the shape must be identical across them."
   }
  ],
  "tradeoffs": [
   "Prioritizing auditability slows raw throughput — accepted; the product IS the audit trail.",
   "Choosing a modular monolith trades independent scaling for a single deploy story — accepted while the team is small.",
   "Using managed Cloud primitives trades some portability for zero ops — accepted; data is portable, runtime is not the moat."
  ],
  "quality_scenarios": [
   {
    "attribute": "Performance (interactive p95)",
    "target": "600 ms on Blueprint detail routes",
    "assumption": "Measured from Cloud edge, warm cache."
   },
   {
    "attribute": "Availability",
    "target": "99.5% (with March-reporting-window freeze protection)",
    "assumption": "Rolling 30-day window; excludes announced maintenance."
   },
   {
    "attribute": "RTO",
    "target": "24h"
   },
   {
    "attribute": "RPO",
    "target": "24h (daily backups)"
   },
   {
    "attribute": "Latency (edge function warm)",
    "target": "≤ 800ms p95 excluding upstream AI calls"
   },
   {
    "attribute": "Data durability",
    "target": "11 nines via managed Postgres + storage replication"
   },
   {
    "attribute": "Security",
    "target": "OWASP ASVS L1 baseline"
   },
   {
    "attribute": "Auditability",
    "target": "100% of release decisions + evidence toggles logged with actor + timestamp"
   },
   {
    "attribute": "Maintainability",
    "target": "New blueprint reaches validation-microsite state in ≤ 1 working session"
   },
   {
    "attribute": "Deployment frequency",
    "target": "≥ 5 deploys/week without incident"
   },
   {
    "attribute": "Observability",
    "target": "Every edge function emits correlationId; retries + phases visible in diagnostics drawer"
   },
   {
    "attribute": "Cost envelope",
    "target": "Idle per-blueprint cost ≈ $0; active < $5/month at MVP traffic"
   },
   {
    "attribute": "Scalability",
    "target": "Horizontal by blueprint count; single blueprint sized for < 10 req/s sustained"
   }
  ],
  "options": [
   {
    "style": "simple monolith",
    "fits_when": "Single team, low traffic, no independent scaling concerns.",
    "fits_here": "Matches the per-blueprint scope — one microsite, one schema, one code path.",
    "wrong_here": "Would couple every blueprint into a single deploy — not acceptable at network scale.",
    "complexity": "low",
    "cost": "low",
    "ops_burden": "low",
    "security_impact": "Small surface, single audit boundary.",
    "scaling_path": "Vertical scale only; hits ceiling on team velocity, not compute.",
    "team_fit": "Ideal for one dev; fine at MVP.",
    "recommended": false
   },
   {
    "style": "modular monolith",
    "fits_when": "Multiple bounded contexts but shared deploy lifecycle acceptable.",
    "fits_here": "Each blueprint is a module inside the network shell; shared shell, isolated data.",
    "wrong_here": "Wrong only if a blueprint needs independent SLOs — none currently do.",
    "complexity": "moderate",
    "cost": "low",
    "ops_burden": "low",
    "security_impact": "Single trust boundary; row-level isolation carries the tenancy load.",
    "scaling_path": "Modules become services only when SLOs or teams diverge.",
    "team_fit": "Best fit for a small team maintaining many blueprints.",
    "recommended": true
   },
   {
    "style": "serverless",
    "fits_when": "Bursty, per-request workloads with idle-to-zero cost targets.",
    "fits_here": "Edge functions already handle sync, docs, legal, seed articles, integrity — pay-per-invoke.",
    "wrong_here": "Wrong for long-running orchestrations; IDLE_TIMEOUT already bit us on legal docs.",
    "complexity": "moderate",
    "cost": "low",
    "ops_burden": "moderate",
    "security_impact": "Function-scoped IAM; secrets via managed vault.",
    "scaling_path": "Auto; watch cold-start p95 and per-invocation cost.",
    "team_fit": "Good — team already ships functions weekly.",
    "recommended": false
   },
   {
    "style": "microservices",
    "fits_when": "Multiple teams, divergent SLOs, independent release cadence required.",
    "fits_here": "Nothing here justifies it; single team, single deploy cadence, shared data plane.",
    "wrong_here": "Adds network, discovery, deploy topology, and observability cost with zero product benefit.",
    "complexity": "very high",
    "cost": "high",
    "ops_burden": "high",
    "security_impact": "Bigger attack surface, more inter-service auth to get right.",
    "scaling_path": "Best-in-class if the org can afford it.",
    "team_fit": "Wrong for this team.",
    "recommended": false
   },
   {
    "style": "event-driven",
    "fits_when": "Async fan-out, decoupled producers/consumers, replayable history required.",
    "fits_here": "Only the sync + integrity pipeline is fan-out; keep it as background jobs, not a broker.",
    "wrong_here": "Broker + schema registry + DLQ topology is overkill for current volumes.",
    "complexity": "high",
    "cost": "moderate",
    "ops_burden": "high",
    "security_impact": "Extra ACLs; message-level auth needed.",
    "scaling_path": "Excellent for future audit-log fan-out, revisit at 10x volume.",
    "team_fit": "Team can operate a small in-process queue; not a full broker yet.",
    "recommended": false
   },
   {
    "style": "workflow/orchestration",
    "fits_when": "Long, multi-step, resumable pipelines with human-in-the-loop steps.",
    "fits_here": "Blueprint pipeline (sources → articles → integrity → smoke test) already smells like this.",
    "wrong_here": "Full engine (Temporal/Airflow) is heavy; a typed in-app queue with retries covers today's needs.",
    "complexity": "high",
    "cost": "moderate",
    "ops_burden": "moderate",
    "security_impact": "Central choke point — must be hardened.",
    "scaling_path": "Adopt engine once we cross ~10 concurrent long-running jobs per blueprint.",
    "team_fit": "Would require operator ramp-up.",
    "recommended": false
   }
  ],
  "chosen_style": "modular monolith",
  "chosen_rationale": "Modular monolith with edge functions for bursty AI/generation — one audit boundary, low ops burden, easy per-team ownership.",
  "rejected": [
   {
    "style": "microservices",
    "why_rejected": "Adds network, discovery, deploy topology, and observability cost with zero product benefit."
   },
   {
    "style": "event-driven",
    "why_rejected": "Broker + schema registry + DLQ topology is overkill for current volumes."
   }
  ],
  "target": {
   "overview": "React shell → Lovable Cloud (Postgres + Auth + Storage + Edge Functions). Every blueprint is a module inside the shell; per-vertical differences live in derived DNA, not in separate deploys. Compliance posture: Domain-specific (agency completeness-pack records, attestation signers, retention schedules).",
   "frontend": "Vite + React + TypeScript + Tailwind + shadcn primitives; per-blueprint themed via Design DNA; job queue for background pipelines; URL-persisted filter state on audit + diagnostics.",
   "backend": "Deno-based edge functions per capability. Long generations split into per-item endpoints to stay under IDLE_TIMEOUT.",
   "data": "Managed Postgres with RLS + JSONB for shape drift. Object storage for source files + generated artifacts.",
   "api": "REST-ish RPC over edge functions with typed payloads; correlationId on every call for retry/diagnostics.",
   "authn_authz": "Managed OAuth (Google default). Roles in a dedicated user_roles table + has_role() SECURITY DEFINER function referenced by RLS policies.",
   "integrations": "GitHub (public read for sync + sources), Lovable AI Gateway (all LLM calls), Cloud Storage (artifacts). No third-party CRM/email yet.",
   "background_jobs": "blueprintJobQueue in-app: per-slug concurrency limit, exponential backoff + jitter, cancel + invalidate, retention of last error diagnostics.",
   "object_storage": "Cloud Storage buckets scoped per blueprint slug; signed URLs for artifact download.",
   "notifications": "In-app toasts + audit trail entries. Email/webhook deferred until owners request it.",
   "search": "Postgres FTS on blueprint titles + evidence claims; client-side filter for audit trail. Dedicated index deferred.",
   "analytics": "Lightweight event log in Postgres; dashboard-grade analytics deferred until we have a paying tenant.",
   "ai": "not applicable",
   "observability": "correlationId per request, per-phase timings, retry timeline in diagnostics drawer, per-blueprint pipeline status panel, JSON report export.",
   "deployment": "Preview + Production environments; edge functions deploy with the app; Postgres migrations shipped via managed migration tool.",
   "security": "RLS on every public table; roles in user_roles; secrets in managed vault; OWASP ASVS L1 baseline.",
   "dr": "Daily backups; restore drill twice/year."
  },
  "modules": [
   {
    "name": "Blueprint Core",
    "responsibility": "Owns the SeedBusiness catalog, release decisions, evidence register, owner actions.",
    "owned_data": [
     "seed business rows",
     "release_decision",
     "evidence items",
     "owner-action state"
    ],
    "entities": [
     "SeedBusiness",
     "EvidenceItem",
     "OwnerAction",
     "ReleaseDecision"
    ],
    "interfaces": [
     "React store (SlipProvider)",
     "public read via microsite route"
    ],
    "depends_on": [
     "Content Pipeline (for source files + articles)",
     "Cloud auth"
    ],
    "events_produced": [
     "release.decision.changed",
     "evidence.status.changed",
     "owner.action.resolved"
    ],
    "events_consumed": [
     "sync.blueprint.applied",
     "integrity.check.completed"
    ],
    "failure_risks": [
     "Duplicate slug in seed → React key crash (mitigated by dedupe in mergedSeed)",
     "Evidence drift after sync"
    ],
    "scaling": "Bounded by SEED size; irrelevant even at 10x.",
    "future_split_trigger": "Split out Blueprint Core when its throughput or a distinct scaling profile (e.g. search-vendor volume) justifies an independent deployment; not warranted pre-revenue."
   },
   {
    "name": "Content Pipeline",
    "responsibility": "Fetches GitHub sources, generates docs/seed articles, runs citation integrity, per slug with concurrency + backoff.",
    "owned_data": [
     "blueprint_sources",
     "blueprint_seed_articles",
     "job status per slug",
     "integrity results"
    ],
    "entities": [
     "SourceFile",
     "SeedArticle",
     "IntegrityReport",
     "JobState"
    ],
    "interfaces": [
     "blueprintJobQueue API",
     "edge functions: fetch-blueprint-sources, generate-seed-articles, generate-blueprint-docs"
    ],
    "depends_on": [
     "Cloud edge functions",
     "AI Gateway",
     "GitHub public read"
    ],
    "events_produced": [
     "sources.fetched",
     "articles.generated",
     "integrity.completed",
     "cache.invalidated"
    ],
    "events_consumed": [
     "blueprint.cache.invalidate"
    ],
    "failure_risks": [
     "Edge IDLE_TIMEOUT on long generations (mitigated: per-doc endpoints + retries)",
     "Upstream AI 5xx storms"
    ],
    "scaling": "Concurrency + backoff configurable in UI; scales with edge function limits.",
    "future_split_trigger": "If cross-blueprint queueing coordination is needed, promote to a shared job service."
   },
   {
    "name": "Runtime & Capabilities",
    "responsibility": "Per-blueprint runtime modules — verification, SEO, legal docs, chatbot — with retry + diagnostic history.",
    "owned_data": [
     "capability status per slug",
     "runtime module errors",
     "chatbot threads + FAQ"
    ],
    "entities": [
     "CapabilityStatus",
     "RuntimeError",
     "ChatMessage"
    ],
    "interfaces": [
     "React Runtime tab",
     "edge functions: verify-blueprint, generate-seo-posts, generate-legal-docs/*, blueprint-chat"
    ],
    "depends_on": [
     "Content Pipeline (grounding)",
     "AI Gateway"
    ],
    "events_produced": [
     "capability.status.changed",
     "runtime.error.recorded"
    ],
    "events_consumed": [
     "cache.invalidated"
    ],
    "failure_risks": [
     "AI provider outage",
     "Prompt drift causing ungrounded output"
    ],
    "scaling": "Per-slug; independent of network size.",
    "future_split_trigger": "Split out Runtime & Capabilities when its throughput or a distinct scaling profile (e.g. search-vendor volume) justifies an independent deployment; not warranted pre-revenue."
   },
   {
    "name": "Sync & Rollback",
    "responsibility": "Daily GitHub sync of blueprint definitions with dry-run, partial-apply, and server-backed rollback of last snapshot.",
    "owned_data": [
     "sync_runs",
     "sync_snapshots per slug",
     "audit_trail"
    ],
    "entities": [
     "SyncRun",
     "SyncDiff",
     "SyncSnapshot",
     "AuditEntry"
    ],
    "interfaces": [
     "/github-sync page",
     "edge functions: github-sync-blueprints, rollback-blueprint-sync"
    ],
    "depends_on": [
     "Blueprint Core",
     "Cloud storage for snapshots"
    ],
    "events_produced": [
     "sync.run.completed",
     "sync.blueprint.applied",
     "sync.blueprint.rolled_back"
    ],
    "events_consumed": [],
    "failure_risks": [
     "Partial apply leaving mixed state (mitigated by per-blueprint snapshots)",
     "Audit trail size growth"
    ],
    "scaling": "Paginate audit trail; snapshot retention window is finite.",
    "future_split_trigger": "Split out Sync & Rollback when its throughput or a distinct scaling profile (e.g. search-vendor volume) justifies an independent deployment; not warranted pre-revenue."
   },
   {
    "name": "Design & Architecture DNA",
    "responsibility": "Deterministic per-blueprint design + architecture briefs used to gate release readiness.",
    "owned_data": [
     "derived only — no persistence"
    ],
    "entities": [
     "DesignDNA",
     "ArchitectureDNA"
    ],
    "interfaces": [
     "React panels in Business Detail"
    ],
    "depends_on": [
     "Blueprint Core"
    ],
    "events_produced": [],
    "events_consumed": [],
    "failure_risks": [
     "Vertical → profile drift if new verticals are not mapped"
    ],
    "scaling": "Pure functions; free.",
    "future_split_trigger": "Split out Design & Architecture DNA when its throughput or a distinct scaling profile (e.g. search-vendor volume) justifies an independent deployment; not warranted pre-revenue."
   }
  ],
  "data_architecture": {
   "primary_db": "Managed Postgres (Cloud)",
   "secondary": [
    "Object storage for artifacts + snapshots",
    "Client localStorage for UI state (filters, drawer state) — never for auth"
   ],
   "cache": "React Query + module-level memoization; no dedicated cache service.",
   "search": "Postgres FTS on titles + evidence; consider pg_trgm on slugs.",
   "vector": "not applicable",
   "object_storage": "Per-slug prefixes; lifecycle rules to prune stale sync snapshots.",
   "schema_strategy": "Normalized core + JSONB for evolving shapes (evidence details, capability status).",
   "migrations": "Forward-only migrations reviewed in PR; every CREATE TABLE ships GRANTs + RLS enable + policies in the same migration.",
   "backups": "Managed daily backups with 30-day retention.",
   "retention": "Audit trail retained ≥ 1y; sync snapshots retained 90d; error diagnostics retained 30d.",
   "audit_logs": "audit_trail table + append-only pattern; export CSV from UI.",
   "soft_delete": "Soft-delete evidence via status transition; hard-delete only via owner-initiated purge.",
   "privacy": "Only owner-supplied facts persist; service records, attestations, regulator correspondence handled per vertical policy.",
   "encryption": "TLS 1.2+ in transit; AES-256 at rest via managed storage.",
   "multi_tenancy": "Row-level tenancy keyed on auth.uid() + blueprint slug; RLS policies enforce isolation."
  },
  "api": {
   "style": "REST-ish RPC over edge functions with JSON payloads; typed client wrappers.",
   "public_vs_internal": "Public microsite reads via Postgres RLS-protected queries; internal capability calls via authenticated edge functions.",
   "versioning": "Version via function name suffix (v1, v2) when breaking; additive changes preferred.",
   "rate_limiting": "Per-user + per-slug in edge functions; UI-level concurrency caps for AI calls.",
   "idempotency": "Sync + rollback carry an idempotency key; retries safe.",
   "pagination": "Cursor pagination on audit trail; offset paging tolerated on small lists.",
   "error_format": "{ code, message, correlationId, retryable, details? } — normalized in client.",
   "webhook_security": "HMAC-signed webhooks (deferred until we accept inbound webhooks).",
   "retries": "Exponential backoff + jitter, capped attempts, respect idempotency keys.",
   "contract_testing": "Zod schemas shared between client + edge; smoke test runner exercises each endpoint.",
   "backward_compat": "Additive fields only; deprecations announced in audit trail before removal.",
   "contract_testing_plan": "Intake, search-result, and Pack-delivery payload schemas tested per consumer; the notice/program stakeholder JSON contract between AI layers is schema-pinned."
  },
  "security": {
   "authn": "Managed OAuth (Google default). Session in httpOnly cookie / managed client storage.",
   "authz": "user_roles table + has_role() SECURITY DEFINER, referenced from RLS policies. Never store roles on profiles.",
   "tenant_isolation": "RLS on every public table; every query filters by auth.uid() or by an explicit owner grant.",
   "secrets": "Managed vault; never in client bundle; edge functions read via runtime env.",
   "encryption": "TLS in transit; AES-256 at rest; column-level encryption only when regulation requires.",
   "session": "Short-lived access tokens + refresh rotation; SSR cookie parity for edge routes.",
   "input_validation": "Zod schemas at the edge boundary; reject on unknown fields.",
   "api_protection": "Rate limits + WAF rules on public endpoints; correlationId logging for abuse forensics.",
   "audit_log": "Every release decision, evidence toggle, sync, and rollback records actor + timestamp + before/after.",
   "admin_access": "Admin actions gated behind role check + two-key confirmation on destructive operations.",
   "supply_chain": "Lockfile pinning + weekly dependency scan; SBOM produced on release.",
   "threat_model": [
    "Prompt injection via ingested source files → sanitize + refuse instructions from ingested content.",
    "Cross-tenant read via missing RLS on new table → migration checklist blocks merge.",
    "Rollback abuse to overwrite recent legitimate edits → rollback preview + confirm-typed pattern.",
    "AI cost DOS by repeated regeneration → per-slug rate limits + concurrency cap."
   ],
   "abuse_cases": [
    "Malicious owner uploads privileged content into a public microsite field.",
    "Sync run tampered with to inject a slug that overlaps a real blueprint.",
    "Attacker triggers regeneration loop to drive AI cost."
   ],
   "zero_trust": "Every service call authenticates; no implicit trust between edge functions.",
   "asvs_notes": "OWASP ASVS L1 baseline."
  },
  "reliability": {
   "failure_modes": [
    "Edge function IDLE_TIMEOUT on long AI generations.",
    "Upstream AI provider 5xx / rate limit.",
    "GitHub API rate limit during sync.",
    "Postgres connection saturation during sync fan-out."
   ],
   "graceful_degradation": "Runtime tab modules degrade independently; microsite serves cached last-known-good content when generation fails.",
   "retry_policy": "Exponential backoff + jitter, max 5 attempts, respect Retry-After.",
   "timeouts": "Edge function ≤ 120s wall clock (safety margin under 150s limit); client fetch ≤ 60s per call.",
   "circuit_breaker": "Client-side per-endpoint breaker: after 3 consecutive IDLE_TIMEOUTs, pause 5m and surface to UI.",
   "queueing": "In-app blueprintJobQueue with concurrency limits per slug.",
   "idempotency": "Sync + rollback idempotent via key; generation endpoints idempotent per (slug, doc_key).",
   "dlq": "Failed jobs recorded in error diagnostics; user re-triggers manually (no auto-DLQ needed at current volume).",
   "transactions": "Multi-row writes wrapped in single transaction; audit entry written in the same transaction as the mutation.",
   "dr": "Daily backup + semi-annual restore drill.",
   "incident_response": "correlationId in every log line; on-call runbook per capability module; smoke test replays post-incident.",
   "slos": [
    {
     "name": "Interactive p95",
     "target": "600 ms on blueprint detail"
    },
    {
     "name": "Availability",
     "target": "99.5% (with March-reporting-window freeze protection)"
    },
    {
     "name": "Sync success rate",
     "target": "≥ 99% per daily run over rolling 7 days"
    },
    {
     "name": "Generation success rate",
     "target": "≥ 95% per doc across last 7d (excludes provider outages)"
    }
   ]
  },
  "scaling": {
   "mvp_can_stay_simple": [
    "Single Postgres, single region.",
    "No dedicated search or vector index.",
    "In-app job queue; no message broker."
   ],
   "modular_now": [
    "Content Pipeline is already isolated behind blueprintJobQueue — future extraction is a 1-day job.",
    "Runtime capabilities are one function per module — swap in isolation."
   ],
   "deferrable": [
    "Workflow engine (Temporal/Airflow).",
    "Vector DB / RAG.",
    "Multi-region replication.",
    "Feature flag service (env-based toggle covers MVP)."
   ],
   "breaks_first": "Edge function IDLE_TIMEOUT under multi-doc generation — already addressed by per-doc endpoints; watch for regression.",
   "db_path": "Vertical scale → read replica → partition by tenant if a single tenant dominates load.",
   "jobs_path": "In-app queue → dedicated worker → workflow engine, gated by concurrency + resumability need.",
   "cache_path": "React Query only → HTTP cache headers → CDN edge cache for microsite content.",
   "search_path": "Postgres FTS → pg_trgm → dedicated search only when p95 breaches SLO.",
   "files_path": "Managed object storage → CDN → per-region cache if traffic warrants.",
   "api_path": "Vertical edge function scale → per-capability autoscaling → extract hot module to its own service.",
   "multi_region": "Not planned; introduce only on customer contract with residency requirement.",
   "cost_control": "Per-blueprint AI budget, concurrency cap, smoke-test cache; monthly cost review with per-blueprint attribution."
  },
  "ai": {
   "provider": "Frontier LLM via API, provider-agnostic prompt contracts; second vendor configured for failover so a released Completeness Pack never depends on one model.",
   "prompt_mgmt": "Extraction, notice-drafting, and program stakeholder-matrix prompts held in versioned files; eval-gated deploys; one-step rollback.",
   "rag": "Versioned SDRP Stage 2 (7 CFR part 760) rule pack + FSA procedure notes retrieved with statute-scoped filters; drafting is grounded and citation-anchored to statute text, never free-form legal generation.",
   "vector": "Not pre-revenue; the SDRP Stage 2 rule pack is small and structured, so keyword/section lookups suffice until a larger corpus justifies similarity search.",
   "embeddings": "Deferred with the vector store; rule-pack keys are structured (element, search source, subsection), not semantic.",
   "eval": "Gold set of specialist-released Packs: notice-element extraction F1 and completeness-gate agreement per model release; identity-match accuracy vs specialist labels reviewed monthly.",
   "hitl": "Notice-specialist release and the federal-attorney gate on high-value/documented farm operations are never automated; sampling QA on 10% of Packs plus counsel red-team on the first 20.",
   "guardrails": "Field-locked five-element templates, amount-ties-to-ledger rule, four-source search-completeness rule, and AGI-eligibility screen — a draft missing a statutory field emits MISSING_ELEMENT rather than inventing content.",
   "prompt_injection": "Ledger and search-result text is treated as data, never instructions; the red-team suite includes injected-instruction PDFs disguised as ledgers.",
   "leakage": "Farm and farm-owner identifiers scoped per case; retrieval scoped per farm operation; provider training-use disabled; no cross-farm operation corpus.",
   "fallback": "Manual specialist workbench runbook plus the second LLM vendor keep Pack production moving if the primary model is unavailable.",
   "latency_cost": "Inference cost per Pack ≤ ~$8 at launch → ≤ ~$4 by year 1; the 5-business-day SLA leaves generous headroom over model latency.",
   "memory": "Agents are stateless per case; durable knowledge lives in the versioned SDRP Stage 2 rule pack and SOP library, not model memory.",
   "tool_permissions": "The prompt runner has no tool access beyond returning JSON; search ordering, PDF assembly, and delivery are deterministic code.",
   "auditability": "Every prompt+output pair is logged to the per-case audit trail with version tags alongside the specialist release record.",
   "citation": "Every drafted notice element carries the SDRP Stage 2 subsection it satisfies, and every matrix program stakeholder carries its source search."
  },
  "devops": {
   "environments": [
    "Preview (per branch)",
    "Production"
   ],
   "cicd": "Lovable build pipeline; deploys on merge; edge functions ship atomically with the app.",
   "iac": "Cloud managed; migrations + config in-repo.",
   "secrets": "Managed vault; separate values per environment.",
   "preview_envs": "Automatic per branch; seeded with anonymized fixtures.",
   "migrations": "Forward-only; migrations reviewed for GRANT + RLS + policies; every table gated by the migration checklist.",
   "rollback": "App: redeploy previous build. Data: server-backed rollback per blueprint via rollback-blueprint-sync.",
   "release_style": "Continuous deploy with feature flags; canary only when a change touches shared shell.",
   "feature_flags": "Env-based booleans at MVP; consider a flag service when we have > 20 flags in flight.",
   "monitoring": "Cloud platform metrics + per-function logs + client error reporting.",
   "alerting": "SLO burn-rate alerts + IDLE_TIMEOUT rate alert + AI cost anomaly alert.",
   "logs": "Structured JSON with correlationId; retained per platform defaults.",
   "error_tracking": "Client-side error capture wired to console + in-app diagnostics drawer.",
   "uptime": "Synthetic checks on microsite + shell login every 5 minutes.",
   "cost_monitoring": "Per-blueprint cost view; alert on 3x baseline over 24h."
  },
  "testing": {
   "unit": "Vitest for pure derivations (DNA, business helpers).",
   "integration": "Edge function contract tests with recorded fixtures.",
   "contract": "Zod schemas shared client + edge; smoke test runner as continuous contract check.",
   "e2e": "Playwright against localhost preview for critical flows (sign in, evidence toggle, sync apply).",
   "security": "Weekly dependency scan; RLS policy audit script; abuse-case checklist per release.",
   "a11y": "Axe checks + keyboard-only smoke on shell components; WCAG 2.2 AA target.",
   "load": "k6 scenarios against edge functions before enabling a new capability network-wide.",
   "chaos": "Manual fault injection on AI provider (simulate 500s) during release rehearsal.",
   "migration": "Every migration runs in preview + dry-run on prod snapshot before apply.",
   "backup_restore": "Semi-annual restore drill.",
   "ai_eval": "not applicable",
   "test_data": "Deterministic fixtures per vertical; no real PHI/PII ever in fixtures."
  },
  "observability": {
   "logs": "Structured JSON with correlationId, phase, attempt, doc_key, slug.",
   "metrics": "Per-endpoint latency, error rate, retry count, AI token spend.",
   "traces": "Cross-function trace via correlationId propagation.",
   "audit_events": "Release decision, evidence toggle, sync, rollback, cache invalidation.",
   "business_events": "Blueprint promoted to ready, first microsite view, first customer-visible export.",
   "error_tracking": "In-app diagnostics drawer + persistent per-slug error history.",
   "security_monitoring": "Failed auth + rate-limit breach + admin action logs.",
   "cost_monitoring": "Per-blueprint + per-capability cost attribution.",
   "dashboards": [
    "SLO burn",
    "AI cost per blueprint",
    "Sync success rate",
    "Generation success rate"
   ],
   "alert_thresholds": [
    "IDLE_TIMEOUT rate > 3/day for one blueprint.",
    "Sync run failure > 1 in rolling 7 days.",
    "AI cost > 3x rolling 7-day baseline over 24h.",
    "p95 breach on Blueprint detail > 800ms for 15 min."
   ],
   "triage": "correlationId → diagnostics drawer → retry timeline → JSON report export → runbook link."
  },
  "cost": {
   "drivers": [
    {
     "name": "AI generation",
     "note": "Dominant driver; capped by concurrency + per-slug budget."
    },
    {
     "name": "Edge function invocations",
     "note": "Bursty at sync + generation; idle-to-zero otherwise."
    },
    {
     "name": "Managed Postgres",
     "note": "Small; scales with audit trail retention."
    },
    {
     "name": "Object storage",
     "note": "Snapshots + artifacts; lifecycle rules prevent growth."
    },
    {
     "name": "Bandwidth",
     "note": "Low; static microsite content."
    }
   ],
   "likely_traps": [
    "Regeneration loops on failure (mitigated by circuit breaker).",
    "Audit trail unbounded growth (mitigated by retention policy).",
    "Storing large HTML snapshots per sync (mitigated by delta snapshots)."
   ],
   "controls": [
    "Per-blueprint AI budget with hard cap.",
    "Smoke-test result caching in localStorage.",
    "Concurrency cap in blueprintJobQueue.",
    "Retention policy on audit + diagnostics."
   ]
  },
  "multi_tenancy": {
   "model": "Row-level tenancy: one shared Postgres, tenant scope by auth.uid() + blueprint slug.",
   "isolation": "RLS policies on every public table; policies reference has_role() where role checks are needed.",
   "tenant_aware_authz": "Every query filters by auth.uid(); admin overrides go through explicit role check + audit entry.",
   "tenant_config": "Per-slug config stored as JSONB on the blueprint row; no per-tenant deploy.",
   "branding": "Per-blueprint Design DNA drives theme; no runtime branding upload at MVP.",
   "tenant_export": "Owner can export evidence + audit trail as JSON/CSV from the UI.",
   "tenant_deletion": "Owner-initiated purge cascades across blueprint rows + storage prefix; soft-delete window of 30 days.",
   "tenant_audit": "Per-slug audit trail table view with actor + timestamp on every mutation.",
   "noisy_neighbor": "Per-slug concurrency cap in blueprintJobQueue; per-slug AI budget.",
   "tenant_rate_limits": "Edge functions apply per-slug + per-user rate limits.",
   "billing": "Not billed at MVP; per-blueprint cost attribution feeds the future billing model.",
   "why_this_fits": "Team size and blueprint scale don't justify schema/db-per-tenant; RLS covers the isolation requirement with negligible ops burden."
  },
  "privacy_compliance": {
   "data_classification": "Owner-supplied facts and evidence citations are the sensitive classes; service records, attestations, regulator correspondence per vertical.",
   "minimization": "Only owner-supplied facts persist; no third-party enrichment; no PII scraping.",
   "consent": "Consent captured at intake for owner-supplied contact info; microsite visitors get standard cookie/consent banner where required.",
   "access_logs": "Every admin + edge function invocation logged with correlationId + actor.",
   "audit_trails": "Immutable append-only audit_trail table; export from UI.",
   "retention": "Audit ≥ 1y; sync snapshots 90d; error diagnostics 30d; artifacts per lifecycle rule.",
   "legal_hold": "Deferred until a matter requires it.",
   "right_to_delete": "Owner-initiated purge honored within 30 days; downstream copies pruned by lifecycle rules.",
   "right_to_export": "JSON + CSV export for evidence, audit trail, and generated artifacts.",
   "sensitive_handling": "No PHI/PII in prompts; owner-supplied facts only; secrets in managed vault.",
   "boundaries": "Domain-specific (agency completeness-pack records, attestation signers, retention schedules)",
   "residency": "Single region at MVP; residency contract triggers per-tenant residency planning.",
   "vendor_risk": "Lovable Cloud + AI Gateway are the only critical vendors; both reviewed for security posture.",
   "breach_response": "correlationId + audit trail enables scope determination; disclosure per compliance policy within statutory window.",
   "admin_controls": "Admin actions gated by role check + two-key confirm for destructive operations; every admin session logged.",
   "evidence_collection": "Access reviews, change management, restore drills produce artifacts filed into the evidence pipeline."
  },
  "frontend": {
   "framework": "React 18 + Vite + TypeScript.",
   "rendering": "SPA with per-route code-split; microsite routes prerender-friendly.",
   "routing": "react-router-dom v6 with URL-persisted filter/drawer state.",
   "state": "React context + useSyncExternalSlip for the job queue; localStorage only for UI state, never for auth.",
   "server_state": "@tanstack/react-query for cache + retries.",
   "forms": "Controlled components + Zod validation on submit; RHF only where forms grow.",
   "error_handling": "Error boundary at shell + per-panel skeletons + retry affordances.",
   "components": "shadcn primitives + per-blueprint themed panels; deterministic Design DNA drives look.",
   "design_system": "Tailwind semantic tokens (index.css); no hardcoded color utilities in components.",
   "auth_ui": "Managed OAuth callback via Cloud client; session hydration before protected routes render.",
   "authz_aware_ui": "UI hides actions the current role cannot perform; server-side check is authoritative.",
   "a11y": "WCAG 2.2 AA target; visible focus rings; keyboard shortcuts in diagnostics drawer.",
   "i18n": "Copy budgets assume +35% expansion for DE/FR; Intl APIs for dates/currencies.",
   "performance": "Route-level code split; lazy-load Runtime tab; memoize DNA derivations.",
   "bundling": "Vite defaults; per-route lazy imports for heavy panels.",
   "testing": "Vitest for unit; Playwright for critical flows.",
   "offline": "Not required; last-known-good served from React Query cache.",
   "realtime": "Not required at MVP; audit trail is polled on interaction."
  },
  "backend": {
   "framework": "Deno-based edge functions on Lovable Cloud, one function per capability.",
   "layering": "Handler → validator (Zod) → service → repository → Postgres.",
   "domain": "Blueprint, Evidence, OwnerAction, SyncRun, RuntimeCapability, ChatMessage.",
   "services": "Pure functions kept out of edge boundary; shared logic imported from a common module.",
   "repositories": "Thin Postgres wrappers; RLS enforces tenant scope.",
   "validation": "Zod at the edge boundary; reject unknown fields.",
   "authorization": "has_role() SECURITY DEFINER in Postgres; edge function also asserts role for defense in depth.",
   "jobs": "In-app blueprintJobQueue on the client for user-triggered pipelines; server-side cron only for daily sync.",
   "events": "Domain events emitted to audit_trail; no external broker.",
   "files": "Signed URLs from Cloud Storage; virus scan on upload (deferred until user uploads exist).",
   "email_sms": "Deferred; owner-configured inbox required before enabling outbound mail.",
   "scheduled": "Daily GitHub sync via scheduled function; retention prune weekly.",
   "errors": "Normalized error envelope { code, message, correlationId, retryable, details? }.",
   "logging": "Structured JSON logs with correlationId, phase, attempt, slug.",
   "config": "Env-based; secrets from managed vault.",
   "di": "Not required at current size; explicit imports.",
   "testing": "Contract tests per function with recorded fixtures + smoke-test runner."
  },
  "diagrams": {
   "context_mermaid": "flowchart LR\n  Owner([Blueprint Owner]) --> Shell[Network Shell]\n  Reviewer([Reviewer]) --> Shell\n  Public([Public Visitor]) --> Micro[Public Microsite farm-disaster-relief-claims-completeness-pack-engine]\n  Shell --> Cloud[(Lovable Cloud: DB + Auth + Storage + Edge)]\n  Cloud --> AI[[AI Gateway]]\n  Cloud --> GH[[GitHub API]]\n  Micro --> Cloud",
   "container_mermaid": "flowchart TB\n  subgraph Client\n    UI[React Shell + Blueprint Detail]\n    Queue[blueprintJobQueue]\n  end\n  subgraph Cloud[Lovable Cloud]\n    DB[(Postgres + RLS)]\n    Store[(Object Storage)]\n    subgraph Edge[Edge Functions]\n      Sync[github-sync-blueprints]\n      Roll[rollback-blueprint-sync]\n      Src[fetch-blueprint-sources]\n      Seed[generate-seed-articles]\n      Docs[generate-blueprint-docs]\n      Legal[generate-legal-docs/*]\n      Verify[verify-blueprint]\n      SEO[generate-seo-posts]\n      Chat[blueprint-chat]\n    end\n  end\n  UI --> DB\n  Queue --> Src\n  Queue --> Seed\n  UI --> Docs\n  UI --> Legal\n  UI --> Verify\n  UI --> SEO\n  UI --> Chat\n  UI --> Sync\n  UI --> Roll\n  Seed --> AI[[AI Gateway]]\n  Docs --> AI\n  Legal --> AI\n  Chat --> AI\n  Src --> GH[[GitHub]]",
   "data_flow_mermaid": "flowchart LR\n  A[Owner edits Evidence] --> B[Store: evidence.custom]\n  B --> C{Release Gate}\n  C -- ready --> D[Business marked Ready]\n  C -- blocker --> E[Owner Actions queue]\n  F[GitHub Sync] --> G[Diff + Snapshot]\n  G --> H[(Postgres)]\n  H --> I[Audit trail]\n  H --> J[React store]",
   "auth_flow_mermaid": "sequenceDiagram\n  participant U as User\n  participant UI as Network Shell\n  participant Auth as Cloud Auth\n  participant API as Edge Function\n  participant DB as Postgres+RLS\n  U->>UI: sign in\n  UI->>Auth: OAuth (Google)\n  Auth-->>UI: session (JWT)\n  UI->>API: call with JWT\n  API->>DB: query as auth.uid()\n  DB-->>API: rows filtered by RLS\n  API-->>UI: response",
   "authz_flow_mermaid": "flowchart LR\n  Req[Request w/ JWT] --> Fn[Edge Function]\n  Fn --> Role[has_role user_id, role]\n  Role --> DB[(user_roles + RLS policies)]\n  DB -- allow --> Ok[Return rows]\n  DB -- deny --> Err[403 + audit entry]",
   "deployment_mermaid": "flowchart LR\n  Dev[Developer] --> Repo[Git]\n  Repo --> CI[Lovable Build]\n  CI --> Preview[Preview Env]\n  CI --> Prod[Production]\n  Prod --> Cloud[(Lovable Cloud)]\n  Prod --> CDN[[Edge CDN]]",
   "background_job_mermaid": "flowchart LR\n  UI[Blueprint Detail] --> Enq[blueprintJobQueue.enqueue]\n  Enq --> Slot{Concurrency slot?}\n  Slot -- yes --> Run[Run job]\n  Slot -- no --> Queued[queued]\n  Run -->|success| Done[Persist result + emit event]\n  Run -->|error| Back[Exponential backoff + jitter]\n  Back -->|attempts left| Run\n  Back -->|exhausted| Fail[Record diagnostic + expose retry button]",
   "event_flow_mermaid": "flowchart LR\n  Sync[sync.blueprint.applied] --> Core[Blueprint Core]\n  Integ[integrity.completed] --> UI\n  CacheInv[cache.invalidated] --> Pipe[Content Pipeline]\n  Pipe --> Sources[sources.fetched]\n  Sources --> Articles[articles.generated]\n  Articles --> Integ",
   "failure_flow_mermaid": "flowchart LR\n  Call[Edge Function call] --> Timeout{Timeout / 5xx?}\n  Timeout -- no --> Ok[Success]\n  Timeout -- yes --> Retry[Backoff + retry]\n  Retry --> Cap{Attempts cap?}\n  Cap -- no --> Call\n  Cap -- yes --> Breaker[Open circuit]\n  Breaker --> Cache[Serve last-known-good]\n  Breaker --> Owner[Surface diagnostic + owner action]",
   "multi_tenant_flow_mermaid": "flowchart LR\n  Owner1([Owner A]) --> UI\n  Owner2([Owner B]) --> UI\n  UI --> API[Edge Function w/ JWT]\n  API --> Policy{RLS: auth.uid + slug scope}\n  Policy -- match --> Rows[Owner-scoped rows]\n  Policy -- no match --> Deny[403]",
   "ai_flow_mermaid": "graph LR; LEDGER[Ledger + farm data as DATA]-->P1[Extract + normalize identity]-->SRCH[Order 4-source eligibility verification]-->MTX[Build program-eligibility matrix]-->DRAFT[Draft 5-element notices]-->GATE[Deterministic completeness gates]-->SPEC[Notice specialist release]-->DEL[Deliver Pack]; GATE-.exception.->SPEC; SPEC-.high-value/documented.->ATT[federal attorney review]"
  },
  "adrs": [
   {
    "id": "ADR-001",
    "decision": "Adopt modular monolith as the network-wide architecture style",
    "context": "Small team maintaining many blueprints with shared shell, evidence discipline, and per-vertical trust variation.",
    "options": [
     "simple monolith",
     "modular monolith",
     "microservices",
     "serverless-only",
     "hybrid"
    ],
    "chosen": "modular monolith",
    "why": "Preserves a single audit boundary and deploy cadence while allowing edge functions for burst workloads.",
    "consequences": [
     "Shared deploy lifecycle across blueprints",
     "Row-level tenant isolation carries the security load"
    ],
    "risks": [
     "A rogue blueprint can regress network shell performance"
    ],
    "reversal": "Extract a module to its own deploy only when its SLO diverges from the network shell.",
    "revisit_when": "A blueprint acquires a divergent SLO, a second team joins, or the shell deploy time exceeds 10 minutes."
   },
   {
    "id": "ADR-002",
    "decision": "Managed Postgres as the sole primary datastore",
    "context": "All entities are relational (blueprints, evidence, sync runs, articles, audit).",
    "options": [
     "Postgres",
     "Postgres + DocumentDB",
     "Postgres + vector DB",
     "Firestore"
    ],
    "chosen": "Postgres (Cloud managed) with JSONB for semi-structured fields",
    "why": "Relational integrity + row-level security satisfies audit, tenancy, and reporting; JSONB absorbs shape drift.",
    "consequences": [
     "RLS policies are the primary tenancy control",
     "Full-text search via Postgres FTS until it stops scaling"
    ],
    "risks": [
     "Complex joins under growth"
    ],
    "reversal": "Introduce a read-replica or a dedicated search index only when p95 breaches SLO.",
    "revisit_when": "FTS p95 > SLO for 2 consecutive weeks, or a genuine RAG surface appears."
   },
   {
    "id": "ADR-003",
    "decision": "Per-document edge functions for long-running AI generation",
    "context": "IDLE_TIMEOUT (150s) on monolithic legal-docs generator forced this split.",
    "options": [
     "Single long function",
     "Chunked per-doc functions",
     "Background job with polling"
    ],
    "chosen": "Per-document endpoints with client-side fan-out + retries",
    "why": "Keeps each invocation under the timeout, isolates failures, enables partial success reporting.",
    "consequences": [
     "More endpoints to maintain",
     "Client must own orchestration"
    ],
    "risks": [
     "Client back-pressure if fan-out is too wide"
    ],
    "reversal": "Move to a real workflow engine when we cross ~10 concurrent long jobs per blueprint.",
    "revisit_when": "Concurrent long-running jobs > 10 per blueprint, or client-side orchestration becomes buggy."
   },
   {
    "id": "ADR-004",
    "decision": "Evidence-first release gate",
    "context": "Vertical compliance posture: Domain-specific (agency completeness-pack records, attestation signers, retention schedules).",
    "options": [
     "Owner-declared ready",
     "Auto-ready via checklist",
     "Evidence-gated ready"
    ],
    "chosen": "Evidence-gated ready — release requires resolved owner actions + verified evidence",
    "why": "Regulated verticals cannot ship on self-declaration; evidence provides defensibility.",
    "consequences": [
     "Slower path to ready",
     "Higher confidence at ready"
    ],
    "risks": [
     "Owners abandon incomplete blueprints"
    ],
    "reversal": "Introduce a 'ready-with-caveats' state only if the network stalls on this gate.",
    "revisit_when": "> 30% of blueprints stuck in owner-action state for > 30 days."
   },
   {
    "id": "ADR-005",
    "decision": "Defer AI adoption until a specific evidence-generation need arises",
    "context": "AI is powerful but adds cost, latency, and auditability burden.",
    "options": [
     "No AI",
     "Grounded AI only",
     "Agentic AI"
    ],
    "chosen": "No AI in this vertical",
    "why": "Vertical does not currently justify AI-shaped complexity.",
    "consequences": [
     "No prompt catalog to maintain"
    ],
    "risks": [],
    "reversal": "Introduce AI only for a scoped generation task.",
    "revisit_when": "A specific generation task appears with clear source grounding."
   },
   {
    "id": "ADR-006",
    "decision": "Managed OAuth (Google) with roles in a dedicated user_roles table",
    "context": "Storing roles on the profile row invites privilege-escalation bugs; RLS policies must reference a stable role source.",
    "options": [
     "Roles on profiles",
     "user_roles + has_role() SECURITY DEFINER",
     "External IdP with JIT claims"
    ],
    "chosen": "user_roles table + has_role() SECURITY DEFINER, referenced by RLS",
    "why": "Prevents recursive RLS, isolates authz decisions, satisfies audit review.",
    "consequences": [
     "One extra join in policies",
     "Explicit role grants required"
    ],
    "risks": [
     "Role drift if grants are not audited"
    ],
    "reversal": "Swap SECURITY DEFINER function for an IdP claim without changing policies.",
    "revisit_when": "Enterprise SSO / SAML contract signed, or role count exceeds ~10."
   },
   {
    "id": "ADR-007",
    "decision": "Single-tenant per blueprint slug with row-level isolation",
    "context": "Blueprints share infra but must never cross-read evidence, sync history, or generated artifacts.",
    "options": [
     "Shared DB + RLS",
     "Schema-per-tenant",
     "DB-per-tenant"
    ],
    "chosen": "Shared DB + RLS keyed on auth.uid() and blueprint slug",
    "why": "Simplest operable model at current scale; migration cost stays near zero.",
    "consequences": [
     "RLS is load-bearing security"
    ],
    "risks": [
     "A missing policy = a lien"
    ],
    "reversal": "Extract a specific tenant to its own schema when contract requires it.",
    "revisit_when": "First enterprise customer with a residency or dedicated-DB clause."
   }
  ],
  "roadmap": [
   {
    "phase": "MVP",
    "build": [
     "Network shell + Blueprint Core module",
     "Content Pipeline with concurrency + backoff",
     "Design + Architecture DNA per blueprint",
     "Sync + rollback + audit trail"
    ],
    "avoid": [
     "Any per-blueprint deploy pipeline",
     "Message brokers",
     "Vector DBs",
     "Multi-region"
    ],
    "defer": [
     "A workflow engine",
     "Full-text search infra",
     "Dedicated CDN rules"
    ],
    "monitor": [
     "Edge function IDLE_TIMEOUT rate",
     "AI cost per generation",
     "Duplicate-slug regressions"
    ],
    "triggers_to_change": [
     "p95 breach on Blueprint detail > 800ms",
     "≥ 3 IDLE_TIMEOUTs/day sustained"
    ],
    "acceptable_debt": [
     "Client-owned job orchestration",
     "localStorage-backed UI state"
    ],
    "dangerous_debt": [
     "Missing RLS on any public table",
     "Ungrounded AI in customer-visible surfaces"
    ]
   },
   {
    "phase": "Stabilization",
    "build": [
     "Automated smoke test per blueprint on cache invalidation",
     "Per-slug retention + audit trail export",
     "Contract tests for every edge function"
    ],
    "avoid": [
     "Premature module extraction"
    ],
    "defer": [
     "Multi-tenant admin console"
    ],
    "monitor": [
     "SLO burn rate",
     "Cost per blueprint per week"
    ],
    "triggers_to_change": [
     "A single blueprint accounts for > 30% of AI spend"
    ],
    "acceptable_debt": [
     "Manual runbook execution for rare failures"
    ],
    "dangerous_debt": [
     "Untested rollback path",
     "Backups without a restore drill"
    ]
   },
   {
    "phase": "Growth",
    "build": [
     "Optional workflow engine adapter behind the current queue interface",
     "Read replica for Postgres if analytics queries interfere",
     "Feature flags per capability module"
    ],
    "avoid": [
     "Splitting Blueprint Core into services without SLO justification"
    ],
    "defer": [
     "Real-time collaboration"
    ],
    "monitor": [
     "Fan-out concurrency vs edge function limits"
    ],
    "triggers_to_change": [
     "> 10 concurrent long jobs per blueprint",
     "New team joins with independent release cadence"
    ],
    "acceptable_debt": [
     "Env-based feature flags"
    ],
    "dangerous_debt": [
     "Skipping migration reviews",
     "Unaudited role grants"
    ]
   },
   {
    "phase": "Scale",
    "build": [
     "Extract Content Pipeline to a dedicated service if it dominates deploys",
     "Search index (Postgres FTS → dedicated) once FTS p95 breaches SLO"
    ],
    "avoid": [
     "Microservices per blueprint"
    ],
    "defer": [
     "Multi-region until a customer contract requires it"
    ],
    "monitor": [
     "DB CPU + IO under peak",
     "Search p95"
    ],
    "triggers_to_change": [
     "Regional compliance contract signed"
    ],
    "acceptable_debt": [
     "Single-region deployment"
    ],
    "dangerous_debt": [
     "Unbounded audit trail growth",
     "Missing DR drill evidence"
    ]
   },
   {
    "phase": "Enterprise/Compliance",
    "build": [
     "Formal SOC 2 evidence pipeline (access reviews, change management)",
     "Tenant-scoped encryption keys where regulation requires",
     "DR drill quarterly with restore proof"
    ],
    "avoid": [
     "Custom compliance frameworks; ride managed platform attestations"
    ],
    "defer": [
     "FedRAMP unless a customer commits"
    ],
    "monitor": [
     "Access review completion",
     "Restore-test success rate"
    ],
    "triggers_to_change": [
     "Signed contract with SOC 2 clause",
     "PHI/PII scope change"
    ],
    "acceptable_debt": [
     "Manual quarterly access review with checklist"
    ],
    "dangerous_debt": [
     "Ad-hoc admin access without approval trail"
    ]
   }
  ],
  "anti_overengineering": {
   "flagged": [
    {
     "item": "Introducing Kubernetes",
     "why": "Team size + workload shape don't justify it.",
     "simpler": "Managed Cloud primitives."
    },
    {
     "item": "Adopting microservices",
     "why": "Single deploy cadence + shared audit boundary.",
     "simpler": "Modular monolith with edge functions."
    },
    {
     "item": "Adopting a vector DB",
     "why": "Sources are small + structured; deterministic retrieval works.",
     "simpler": "Direct source fetch + Postgres FTS."
    },
    {
     "item": "Adopting event sourcing",
     "why": "Audit trail table already provides the needed reconstructibility.",
     "simpler": "Append-only audit_trail + snapshots."
    },
    {
     "item": "Multi-region from day one",
     "why": "No customer contract requires it.",
     "simpler": "Single region + documented DR plan."
    },
    {
     "item": "Custom workflow engine",
     "why": "In-app queue covers current concurrency needs.",
     "simpler": "blueprintJobQueue with backoff."
    },
    {
     "item": "Premature message queue",
     "why": "In-app queue + audit trail cover the fan-out cases.",
     "simpler": "Keep blueprintJobQueue; revisit at 10x volume."
    },
    {
     "item": "Custom auth",
     "why": "Managed OAuth + user_roles cover the model.",
     "simpler": "Cloud Auth + user_roles table."
    },
    {
     "item": "Premature caching layer",
     "why": "React Query covers the read-heavy paths.",
     "simpler": "React Query + HTTP cache headers."
    },
    {
     "item": "Data warehouse",
     "why": "No analytics contract; Postgres analytics queries suffice.",
     "simpler": "Read replica if the primary is hurt."
    }
   ]
  },
  "risks": [
   {
    "risk": "Edge function IDLE_TIMEOUT on long generations",
    "likelihood": "moderate",
    "impact": "high",
    "mitigation": "Per-document endpoints + client-side retries with exponential backoff.",
    "detection": "Smoke test runner + diagnostics drawer flags IDLE_TIMEOUT.",
    "owner": "engineering",
    "escalation": "Sustained > 3/day for one blueprint → open incident.",
    "fallback": "Fall back to last-known-good cached artifact; pause auto-generation for the affected blueprint.",
    "category": "technical"
   },
   {
    "risk": "Duplicate slugs in SEED causing UI regressions",
    "likelihood": "moderate",
    "impact": "moderate",
    "mitigation": "mergedSeed dedupes by slug; add lint on SEED at build time.",
    "detection": "React duplicate-key warning; per-slug uniqueness assertion in tests.",
    "owner": "engineering",
    "escalation": "Ship-block if reproduced on main.",
    "fallback": "Runtime dedupe in mergedSeed keeps first occurrence.",
    "category": "technical"
   },
   {
    "risk": "Ungrounded AI output shipped to microsite",
    "likelihood": "low",
    "impact": "high",
    "mitigation": "Citation-first prompts; integrity check gates Seed Articles view.",
    "detection": "Integrity report failing count > 0 blocks display.",
    "owner": "engineering",
    "escalation": "Any customer-visible ungrounded claim → rollback the blueprint.",
    "fallback": "Auto-hide the article + surface owner action to regenerate with stricter prompt.",
    "category": "product"
   },
   {
    "risk": "Cross-tenant data lien via missing RLS on new table",
    "likelihood": "low",
    "impact": "critical",
    "mitigation": "Every CREATE TABLE ships with GRANT + ENABLE RLS + policies in the same migration.",
    "detection": "Security scanner + migration checklist.",
    "owner": "engineering",
    "escalation": "Immediate lockdown + audit.",
    "fallback": "Revoke Data API grants on affected table; restore from PITR if data was modified.",
    "category": "security"
   },
   {
    "risk": "AI cost runaway on a single blueprint",
    "likelihood": "moderate",
    "impact": "moderate",
    "mitigation": "Per-slug rate limits + smoke-test cache + concurrency cap in UI.",
    "detection": "Cost monitoring dashboard; per-blueprint spend alert at 3x baseline.",
    "owner": "SRE",
    "escalation": "Auto-pause generation; require manual re-enable.",
    "fallback": "Disable AI for the offending blueprint via feature flag; serve last-known-good.",
    "category": "cost"
   },
   {
    "risk": "AI provider outage or model deprecation",
    "likelihood": "moderate",
    "impact": "moderate",
    "mitigation": "Per-capability fallback model + retry with backoff; abstract via Lovable AI Gateway.",
    "detection": "Elevated 5xx or empty completions; smoke test failing across blueprints.",
    "owner": "engineering",
    "escalation": "Sustained > 30 min → switch fallback model; notify owners.",
    "fallback": "Serve cached artifacts + disable AI-only capabilities until restored.",
    "category": "vendor"
   },
   {
    "risk": "Compliance evidence gap during audit",
    "likelihood": "low",
    "impact": "high",
    "mitigation": "Evidence-first release gate + audit trail export from UI.",
    "detection": "Missing audit entries surfaced in periodic reconciliation report.",
    "owner": "legal",
    "escalation": "Regulator-visible gap → incident + disclosure per policy.",
    "fallback": "Freeze affected blueprint's release state; produce backfill evidence pack.",
    "category": "compliance"
   },
   {
    "risk": "Solo/small-team key-person dependency",
    "likelihood": "moderate",
    "impact": "high",
    "mitigation": "Deterministic DNA modules keep decisions in code, not in one head; runbooks per capability.",
    "detection": "Bus-factor review each quarter.",
    "owner": "owner",
    "escalation": "> 1 critical path with no backup → hire or contract.",
    "fallback": "Freeze non-critical changes; document current state before further work.",
    "category": "team"
   },
   {
    "risk": "Audit trail gaps on release decisions",
    "likelihood": "low",
    "impact": "critical",
    "mitigation": "Every mutation writes audit entry in the same transaction.",
    "detection": "Audit trail row count vs mutation count reconciliation.",
    "owner": "engineering",
    "escalation": "Regulator-visible gap → incident + disclosure.",
    "fallback": "Reconstruct from Postgres WAL + application logs; disclose per compliance policy.",
    "category": "compliance"
   }
  ],
  "rules": [
   "Keep business logic out of UI components — derivations live in lib/*, panels only render.",
   "Do not introduce a new service without a clear owner and a scaling reason.",
   "All external integrations must have retries, timeouts, and failure handling.",
   "All sensitive actions must be auditable in the same transaction that performs them.",
   "All background jobs must be idempotent.",
   "All APIs must return the normalized error envelope.",
   "All tenant-scoped queries must enforce tenant isolation via RLS — never trust the client.",
   "All expensive AI calls must be logged, capped, and observable.",
   "All schema changes must be reversible or safely migratable — no destructive drops without a rollout plan.",
   "All critical workflows must have observability: correlationId, phase timings, retry timeline.",
   "Every public table ships with GRANT + ENABLE RLS + policies in the same migration.",
   "Every AI span carries a citation; no citation, no ship.",
   "Every destructive action requires typed confirmation."
  ],
  "audit": {
   "product_fit": "Architecture matches an evidence-first, regulated-adjacent workflow product per blueprint.",
   "simplicity": "One shell, one DB, edge functions for bursts — near the simplicity floor for the product's ambitions.",
   "security": "RLS + role table + audit trail; meets ASVS L1 baseline.",
   "reliability": "SLOs defined; per-module degradation; retries + diagnostics in place.",
   "scalability": "Horizontal by blueprint count is the growth axis; per-blueprint scaling is comfortably in headroom.",
   "maintainability": "Deterministic derivations (Design DNA, Architecture DNA) keep per-vertical drift out of components.",
   "performance": "p95 target 600ms is realistic on Cloud edge with warm cache.",
   "cost": "Idle-to-zero for cold blueprints; per-blueprint attribution keeps AI spend controllable.",
   "compliance": "Domain-specific (agency completeness-pack records, attestation signers, retention schedules)",
   "dx": "Single stack (React + Vite + Tailwind + Cloud); new blueprint reaches microsite state in one session.",
   "ops_burden": "Managed platform absorbs infra ops; SRE work is limited to SLO watch + runbooks.",
   "extensibility": "New capability = new edge function + new Runtime tab entry; no shell changes required.",
   "team_suitability": "Fits a small team; every added component must retire an older one.",
   "time_to_market": "New blueprint reachable to validation-microsite state within one working session.",
   "recommendation": {
    "style": "modular monolith",
    "stack": "React + Vite + TypeScript + Tailwind + shadcn on the client; Deno edge functions + managed Postgres (RLS) + object storage on the server; Lovable AI Gateway (unused in this vertical).",
    "hosting": "Lovable Cloud managed hosting; preview + production environments; edge functions co-deploy with the app.",
    "database": "Managed Postgres with RLS + JSONB; PITR enabled for critical-tier tenants.",
    "auth": "Managed OAuth (Google default) + user_roles table + has_role() SECURITY DEFINER referenced from RLS policies.",
    "integrations": "GitHub (public read) for sync + sources; Lovable AI Gateway for LLM calls; Cloud Storage for artifacts. No third-party CRM/email/SMS at MVP.",
    "ai_approach": "No AI at MVP for this vertical; revisit only when a scoped generation task with clear sources appears.",
    "build_first": [
     "Blueprint Core (evidence + release gate) — vertical-agnostic.",
     "Content Pipeline (sources → articles → integrity) — required for any evidence claim.",
     "Sync + rollback — required to safely onboard the network."
    ],
    "avoid": [
     "Any per-blueprint deploy pipeline.",
     "Autonomous AI agents that mutate data without owner confirmation.",
     "Bespoke workflow engines before the in-app queue is exhausted."
    ],
    "revisit_later": [
     "Workflow engine adoption when > 10 concurrent long jobs per blueprint.",
     "Search index dedicated infra when Postgres FTS p95 breaches SLO.",
     "Multi-region on the first residency-bound contract."
    ],
    "biggest_risks": [
     "Missing RLS on a new public table (critical).",
     "Ungrounded AI output reaching a customer-visible surface.",
     "AI cost runaway on a single blueprint.",
     "Solo/small-team key-person dependency."
    ],
    "first_10_steps": [
     "Confirm managed OAuth + user_roles table + has_role() function are in place.",
     "Enable RLS + policies on every existing public table; add the migration checklist to CI.",
     "Wire correlationId end-to-end across every edge function call.",
     "Ship the smoke test runner as a required post-deploy gate.",
     "Enable PITR + schedule the first restore drill on the calendar.",
     "Add per-slug AI budget caps and cost dashboards.",
     "Enforce evidence-first release gate for every blueprint.",
     "Set SLO burn-rate alerts on the top 3 SLIs.",
     "Document the per-capability runbook (retry, cancel, invalidate).",
     "Publish this Architecture DNA per blueprint as part of the release evidence pack."
    ],
    "top_10_rules": [
     "Every public table ships with GRANT + RLS + policies in the same migration.",
     "Every mutation writes an audit entry in the same transaction.",
     "Every AI span carries a citation; no citation, no ship.",
     "Every long AI call is per-item, never monolithic.",
     "Every edge function call carries a correlationId end-to-end.",
     "Every retry uses exponential backoff + jitter with a hard attempt cap.",
     "Every destructive action requires typed confirmation.",
     "No microservice extraction without a divergent SLO.",
     "No new dependency without a supply-chain scan.",
     "Signature element (Pack-binder tabs with regime chip) and accent (register-slate) are network invariants — respect them."
    ]
   }
  }
 },
 "design": {
  "slug": "farm-disaster-relief-claims-completeness-pack-engine",
  "archetypes": [
   "compliance/regulatory tool",
   "workflow tool",
   "operations system"
  ],
  "user_mindset": {
   "goals": "Produce a defensible SDRP Stage 2 record while an August 12, 2026 filing deadline is closing in.",
   "session_length": "Bursty around loss events and the pre-deadline filing season; otherwise weekly-digest review.",
   "confidence": "Expert-adjacent users (farm operators, not USDA-program lawyers); will not accept opaque AI output.",
   "interface_needs": "Print-parity layouts, citation chains, freeze/approval states."
  },
  "posture": [
   "authoritative",
   "trustworthy",
   "operational"
  ],
  "density": "compact",
  "trust_level": {
   "tier": "high",
   "sensitive_domains": [
    "farm financial/yield records",
    "insurance policy data",
    "FSA program filings"
   ],
   "implications": [
    "Every destructive action confirmed with typed intent, never a single-click.",
    "Errors carry remediation copy + owner, not just a message.",
    "Focus rings visible on every interactive element (WCAG 2.2 AA minimum).",
    "Named signer on any outbound filing.",
    "Explicit unsaved-changes gate on nav."
   ]
  },
  "differentiation": {
   "avoid": [
    "Material Design defaults",
    "shadcn stock look (unstyled cards + slate ring)",
    "Purple/indigo gradient heroes",
    "Stripe/Linear/Notion mimicry",
    "Vertical cliche: wheat clip-art, tractor icons, and alarm-red penalty banners"
   ],
   "strategy": "Anchor on the harvest-amber filing-desk tabs with a program-eligibility chip as the recurring signature element; every page must include it at least once. Reserve the field-green accent for evidence/status signals only."
  },
  "territories": [
   {
    "name": "Filing Desk",
    "color_mood": "harvest amber + parchment cream",
    "typography": "Sohne + Serif Display",
    "density": "tabbed binder",
    "component_feel": "government form set",
    "motion": "tab-first",
    "fits": "FSA reviewer parity",
    "risks": "bureaucratic feel"
   },
   {
    "name": "Portfolio Atlas",
    "color_mood": "map ink + field green",
    "typography": "Neue Haas Grotesk",
    "density": "map-driven",
    "component_feel": "county atlas + farm pins",
    "motion": "map pan",
    "fits": "multi-farm-number portfolios",
    "risks": "requires county geo data"
   },
   {
    "name": "Filing-Clock Timeline",
    "color_mood": "slate + amber",
    "typography": "Inter",
    "density": "timeline",
    "component_feel": "gantt of program deadlines",
    "motion": "scroll-sync",
    "fits": "recurring program cycles and deadlines",
    "risks": "gantt fatigue"
   }
  ],
  "chosen_territory": "Filing Desk",
  "chosen_rationale": "The Completeness Pack is the deliverable; the filing-desk metaphor keeps every screen artifact-shaped, the way an FSA reviewer would ask for it.",
  "prioritized_components": [
   {
    "name": "Program-eligibility chip",
    "why": "every farm is scoped to specific open programs, and the chip carries that scope everywhere"
   },
   {
    "name": "Filing-window countdown",
    "why": "the Aug 12 deadline is the single most consequential fact on the page"
   },
   {
    "name": "Evidence checklist",
    "why": "farmers need to see exactly what's missing before they can be filed"
   }
  ],
  "tokens": {
   "brand": "32 78% 34%",
   "brand-fg": "45 60% 96%",
   "surface": "42 45% 95%",
   "ink": "28 35% 12%",
   "muted": "30 20% 38%",
   "accent": "128 39% 31%"
  },
  "type": {
   "display": "'Georgia', ui-serif, serif",
   "body": "system-ui, -apple-system, 'Segoe UI', sans-serif",
   "fonts_url": ""
  },
  "signature": {
   "motif": "Filing pack cover + program-eligibility matrix row",
   "render": "dossier-tabs"
  },
  "patterns": [
   {
    "name": "Program switcher",
    "description": "Global program-cycle selector (SDRP/NAP/ERP); every query respects it."
   },
   {
    "name": "Pack release sign-off",
    "description": "Named specialist or counsel reviewer with attestation copy; red packs cannot release without the reviewer."
   }
  ],
  "states": [
   "default",
   "hover",
   "active",
   "focus",
   "disabled",
   "loading",
   "skeleton",
   "empty",
   "error",
   "warning",
   "success",
   "offline",
   "permission-denied",
   "partial-data",
   "syncing",
   "unsaved-changes",
   "ai-generating"
  ],
  "uniqueness_audit": {
   "app_specific_decisions": [
    "Filing-desk tab motif",
    "Evidence-gap-not-invented-data copy discipline"
   ],
   "cliches_avoided": [
    "Wheat/tractor clip-art",
    "Green-check compliance theatre",
    "Penalty-scare banners"
   ],
   "scale_notes": "New blueprints inherit the network shell but MUST declare their own signature element, accent role, and anti-reference before they can be marked ready. Enforced by the release gate."
  },
  "localization": [
   "Copy budgets assume +35% expansion for DE/FR translations.",
   "RTL mirror verified for AR/HE (icons flipped, numerals kept LTR).",
   "Dates/times/currencies use Intl APIs, never hardcoded formats.",
   "Touch targets >= 44px; keyboard tab order matches visual order.",
   "Density modes: comfortable (default), compact (power users), spacious (accessibility)."
  ]
 },
 "seo": {
  "slug": "farm-disaster-relief-claims-completeness-pack-engine",
  "archetype": "regulator-fluent authority site",
  "archetype_impact": "Search fit is a regulator-fluent authority site. That means depth over breadth: each page cites the specific program/form it addresses, and thin variants are refused.",
  "authority_dna": {
   "site_archetype": "regulator-fluent authority site",
   "monetization_model": "B2B lead -> eligibility-screen call -> paid engagement (not ad revenue; not affiliate).",
   "main_search_intents": [
    "informational",
    "commercial"
   ],
   "topical_authority_opportunity": "Own the \"SDRP Stage 2 farm disaster claim\" topic cluster by covering the entire farmer-side duty — Stage 2 eligibility, the five required forms, the multi-program eligibility screen, the FSA-211 filing mechanism, the August 12 deadline, and NAD appeal rights — better than any single-post trade-press explainer.",
   "local_seo_opportunity": "Not justified nationally: buyers search by program/deadline, not by city. County-level pages are justified only for the beachhead counties' specific disaster-declaration references.",
   "global_national_opportunity": "National (US-first) is the primary market. SDRP/NAP/ERP are federal programs; no international opportunity applies.",
   "easiest_ranking_path": "Long-tail, program-specific queries (\"SDRP Stage 2 eligibility if I have crop insurance\", \"FSA-504 completeness pack\", \"do I qualify for SDRP and NAP\") where the SERP is dominated by out-of-date trade-press alerts and agency PDFs.",
   "hardest_ranking_path": "Head terms like \"farm accounting software\" — dominated by aged SaaS vendor domains (Ambrook, FarmRaise). Defer until authority is established.",
   "trust_credibility_requirements": [
    "Named human authors with role + credentials",
    "Program/form/statute citations on every claim",
    "Last-reviewed date + change log on regulatory pages",
    "Direct links to primary USDA/FSA source (not aggregators)",
    "Expert reviewer attribution on YMYL pages"
   ],
   "ymyl": true,
   "expert_review_needed": true,
   "site_structure": "Authority hub + narrow high-intent service page + linkable evidence assets. Not a directory. Not a marketplace.",
   "seo_moat": "always-current SDRP/NAP/ERP rule-mapped pages with change-log timestamps (incl. the Apr 2026 payment-factor increase to 70%/75%)"
  },
  "search_market": {
   "primary_markets": [
    "SDRP Stage 2 completeness pack",
    "FSA-504 filing help",
    "farm disaster relief documentation service"
   ],
   "secondary_markets": [
    "lien records inspection-readiness",
    "completeness-pack evidence",
    "completeness-pack records checklist"
   ],
   "low_competition_subtopics": [
    "SDRP Stage 2 edge cases",
    "missing invoice-field handling",
    "SDRP Stage 2 (7 CFR part 760) lien repair for grocery and foodservice"
   ],
   "high_commercial_intent": [
    "crop loss compliance service for grocery chains",
    "done-for-you crop loss completeness-pack records",
    "completeness-pack documentation services",
    "crop loss compliance documentation consultant"
   ],
   "informational": [
    "what is the SDRP Stage 2 (7 CFR part 760) 15 lb rule",
    "SDRP Stage 2 filing requirements explained",
    "SDRP Stage 2 recordkeeping guide"
   ],
   "local_intent": [
    "[PLACEHOLDER] owner to complete"
   ],
   "transactional": [
    "SDRP Stage 2 (7 CFR part 760) compliance service demo",
    "completeness-pack pack pricing",
    "book a lien records consultation"
   ],
   "comparison": [
    "done-for-you completeness-pack packs vs farm operation billing software",
    "crop loss compliance service alternatives"
   ],
   "problem_solution": [
    "how to survive a lien records inspection",
    "completeness-pack evidence gap",
    "30-day repair deadline missed"
   ],
   "near_me": [
    "[PLACEHOLDER] owner to complete"
   ],
   "long_tail": [
    "SDRP Stage 2 (7 CFR part 760) lien repair for farm coolers",
    "crop loss completeness score calculation state-titled method example",
    "aging repeat-delinquency report The publication window requirements"
   ],
   "questions": [
    "what records does SDRP Stage 2 require?",
    "who owns SDRP Stage 2 completeness-pack records?",
    "when does the program filing-window notice clock end?",
    "how long does a Completeness Pack take?"
   ],
   "emerging": [
    "AI-assisted lien recordkeeping",
    "automated completeness-pack evidence"
   ],
   "seasonal": [
    "The publication window sale-continuity filing deadline",
    "calendar-year aging cumulative review"
   ],
   "underserved_serps": [
    "SDRP Stage 2 edge cases",
    "missing invoice-field handling"
   ],
   "weak_serps": [
    "completeness-pack records checklist",
    "crop loss completeness score requirements 30 20 10"
   ],
   "forum_dominated_serps": [
    "what happens if you miss the 30-day repair window",
    "crop loss completeness-pack penalty amounts"
   ],
   "winnable_authoritative_serps": [
    "SDRP Stage 2 (7 CFR part 760) lien repair definitive guide",
    "SDRP Stage 2 completeness-pack evidence requirements"
   ],
   "avoid_initially": [
    "farm operation billing software",
    "crop loss compliance platform",
    "best crop loss tracking tools"
   ],
   "easy_wins": [
    "SDRP Stage 2 edge cases",
    "completeness-pack records checklist",
    "crop loss notice-clock and The publication window deadlines"
   ],
   "moderate": [
    "SDRP Stage 2 (7 CFR part 760) lien repair definitive guide",
    "lien records inspection-readiness"
   ],
   "long_term_plays": [
    "farm operation billing software",
    "portfolio lien registers for large operators"
   ],
   "do_not_pursue": [
    "generic \"how to start a compliance business\" content",
    "celebrity or trend-jacking posts",
    "AI-generated listicles"
   ]
  },
  "keyword_clusters": [
   {
    "primary": "SDRP Stage 2 completeness-pack evidence requirements",
    "related": [
     "SDRP Stage 2 (7 CFR part 760) audit-ready lien records",
     "completeness-pack evidence checklist"
    ],
    "intent": "commercial",
    "user_problem": "Inspection, insurer, or diligence request is coming and crop loss evidence is scattered across vendor inboxes",
    "funnel": "BOFU",
    "business_value": "high",
    "ranking_difficulty": "medium",
    "conversion_potential": "high",
    "content_effort": "medium",
    "serp_weakness": "SERP dominated by outdated trade-press alerts and FSA PDFs",
    "local_relevance": "low",
    "global_relevance": "high",
    "suggested_page_type": "Pillar / evidence guide",
    "reason": "High buyer intent + weak SERP + our unique proof",
    "priority_score": 17,
    "priority": "P0",
    "bucket": "easy-win"
   },
   {
    "primary": "done-for-you completeness-pack packs vs farm operation billing software",
    "related": [
     "crop loss compliance service alternatives",
     "farm operation billing software comparison"
    ],
    "intent": "commercial",
    "user_problem": "Evaluating a SaaS seat nobody will operate vs a documentation service",
    "funnel": "BOFU",
    "business_value": "high",
    "ranking_difficulty": "medium",
    "conversion_potential": "high",
    "content_effort": "medium",
    "serp_weakness": "Weak — mostly self-serving SaaS vendor pages",
    "local_relevance": "low",
    "global_relevance": "high",
    "suggested_page_type": "Comparison page (honest, evidence-based)",
    "reason": "Late-funnel intent with weak competition",
    "priority_score": 17,
    "priority": "P0",
    "bucket": "easy-win"
   },
   {
    "primary": "completeness-pack records checklist",
    "related": [
     "SDRP Stage 2 owner checklist",
     "lien records audit checklist"
    ],
    "intent": "informational",
    "user_problem": "Wants a concrete one-page artifact covering the five records an inspector asks for",
    "funnel": "MOFU",
    "business_value": "medium",
    "ranking_difficulty": "low",
    "conversion_potential": "medium",
    "content_effort": "low",
    "serp_weakness": "Weak — thin listicles",
    "local_relevance": "low",
    "global_relevance": "high",
    "suggested_page_type": "Resource / lead magnet page",
    "reason": "Easy win + strong lead-magnet fit",
    "priority_score": 14,
    "priority": "P0",
    "bucket": "easy-win"
   },
   {
    "primary": "crop loss notice-clock and The publication window deadlines",
    "related": [
     "program filing-window notice clock SDRP Stage 2",
     "aging repeat-delinquency report deadline"
    ],
    "intent": "informational",
    "user_problem": "Needs authoritative deadline info for notice clocks and the The publication window aging report",
    "funnel": "TOFU",
    "business_value": "medium",
    "ranking_difficulty": "low",
    "conversion_potential": "medium",
    "content_effort": "low",
    "serp_weakness": "Weak — outdated pages ranking",
    "local_relevance": "low",
    "global_relevance": "high",
    "suggested_page_type": "Data table page (updated quarterly)",
    "reason": "Recurring seasonal traffic + easy freshness moat",
    "priority_score": 14,
    "priority": "P0",
    "bucket": "easy-win"
   },
   {
    "primary": "SDRP Stage 2 edge cases",
    "related": [
     "documented-farm R-22 and crop loss sites",
     "method switch state-titled path vs documented path",
     "TRU-equipment exclusion May 2026"
    ],
    "intent": "informational",
    "user_problem": "Facing a scenario the standard guides do not cover (documented-farm store, method switch, mid-year eligibility change)",
    "funnel": "MOFU",
    "business_value": "medium",
    "ranking_difficulty": "low",
    "conversion_potential": "medium",
    "content_effort": "medium",
    "serp_weakness": "SERP is thin and forum-heavy",
    "local_relevance": "low",
    "global_relevance": "high",
    "suggested_page_type": "How-to cluster page",
    "reason": "Easy win + high assist to product page",
    "priority_score": 13,
    "priority": "P0",
    "bucket": "easy-win"
   },
   {
    "primary": "farm operation billing software",
    "related": [
     "crop loss compliance platform",
     "best crop loss tracking tools"
    ],
    "intent": "commercial",
    "user_problem": "Ready to buy",
    "funnel": "BOFU",
    "business_value": "high",
    "ranking_difficulty": "high",
    "conversion_potential": "high",
    "content_effort": "high",
    "serp_weakness": "Strong — aged SaaS vendor domains",
    "local_relevance": "low",
    "global_relevance": "high",
    "suggested_page_type": "Product page (defer)",
    "reason": "Long-term play — do not chase before authority is built",
    "priority_score": 9,
    "priority": "P1",
    "bucket": "medium"
   },
   {
    "primary": "SDRP Stage 2 (7 CFR part 760) lien repair definitive guide",
    "related": [
     "SDRP Stage 2 filing requirements explained",
     "what is the SDRP Stage 2 (7 CFR part 760) 15 lb rule"
    ],
    "intent": "informational",
    "user_problem": "Just inherited crop loss compliance responsibility and needs to orient",
    "funnel": "TOFU",
    "business_value": "medium",
    "ranking_difficulty": "medium",
    "conversion_potential": "low",
    "content_effort": "high",
    "serp_weakness": "Moderate — mostly generic vendor content",
    "local_relevance": "low",
    "global_relevance": "high",
    "suggested_page_type": "Pillar page",
    "reason": "Anchors topical authority for the whole cluster",
    "priority_score": 7,
    "priority": "P1",
    "bucket": "medium"
   }
  ],
  "topical_authority_map": {
   "core_topics": [
    "SDRP Stage 2 (7 CFR part 760) SDRP Stage 2 lien repair — definitive guide",
    "Lien-notice evidence & inspection-readiness",
    "Rule library (SDRP Stage 2, agricultural legal counsel, state overlays)"
   ],
   "pillars": [
    {
     "name": "SDRP Stage 2 (7 CFR part 760) SDRP Stage 2 lien repair — definitive guide",
     "core_intent": "informational",
     "audience": "farm operators, ops leaders, and controllers",
     "conversion_goal": "Newsletter / checklist download → later validation call",
     "supporting_pages": [
      "The 15-lb rule explained",
      "Lien-rate methods: state-titled path vs documented path, worked examples",
      "SDRP Stage 2 edge cases (documented-farm, method switch, TRU-equipment exclusion)",
      "SDRP Stage 2 FAQs"
     ],
     "internal_links": [
      "/product",
      "/rules/fsa/sdrp-stage-2/",
      "/resources/checklist"
     ],
     "schema": [
      "Article",
      "BreadcrumbList",
      "FAQPage (where genuine)"
     ],
     "evidence_needed": [
      "Named reviewer",
      "Primary-source citations",
      "Worked example"
     ],
     "local_variants": [
      "[PLACEHOLDER] owner to complete"
     ],
     "national_variants": [
      "US-national (default)"
     ]
    },
    {
     "name": "Lien-notice evidence & inspection-readiness",
     "core_intent": "commercial",
     "audience": "farm operators, ops leaders, and controllers",
     "conversion_goal": "Book validation call",
     "supporting_pages": [
      "SDRP Stage 2 completeness-pack evidence requirements",
      "Lien records audit checklist",
      "Common completeness-pack evidence gaps (the invoice with no quantity)"
     ],
     "internal_links": [
      "/product",
      "/guides/fl-328-17-completeness-pack/",
      "/resources/evidence-checklist"
     ],
     "schema": [
      "Article",
      "FAQPage",
      "BreadcrumbList",
      "HowTo (only for real workflow)"
     ],
     "evidence_needed": [
      "Worked evidence artifact",
      "Regulator citation",
      "Reviewer credential"
     ],
     "local_variants": [],
     "national_variants": [
      "US-national"
     ]
    },
    {
     "name": "Rule library",
     "core_intent": "informational",
     "audience": "farm operators, ops leaders, and controllers",
     "conversion_goal": "Assisted conversion via internal linking",
     "supporting_pages": [
      "FSA SDRP Stage 2 (7 CFR part 760) — eligibility rules and citations",
      "CAA agricultural legal counsel / Fla. Stat. Part 82 — ODS regime, rules and citations",
      "Repeat-delinquency reporting (≥program filing-window, The publication window) — rules and citations",
      "Verification tests (initial + follow-up) — rules and citations",
      "Full-charge determination methods — rules and citations",
      "TRU-equipment exclusion (final rule, May 2026) — rules and citations",
      "CARB / state crop loss overlays — rules and citations"
     ],
     "internal_links": [
      "/guides/fl-328-17-completeness-pack/",
      "/product"
     ],
     "schema": [
      "Article",
      "BreadcrumbList"
     ],
     "evidence_needed": [
      "Primary source link",
      "Visited-on date",
      "Reviewer sign-off"
     ],
     "local_variants": [],
     "national_variants": [
      "US-national"
     ]
    }
   ],
   "supporting_page_types": [
    "definition / glossary",
    "how-to workflow",
    "edge-case handling",
    "rule-change explainer",
    "worked example",
    "FAQ",
    "comparison (only when honest)",
    "case study (only with permission)",
    "evidence artifact / template",
    "regulator update log"
   ]
  },
  "site_architecture": {
   "homepage_strategy": "Above-the-fold: one-sentence purpose + primary CTA (validation call). Below: 3 problem-cards linking to pillars, 1 evidence-asset teaser, 1 authority statement with named reviewer.",
   "main_nav": [
    "Product",
    "How it works",
    "Pillars",
    "Resources",
    "About",
    "Contact"
   ],
   "footer_nav": [
    "Editorial policy",
    "Contact",
    "Privacy",
    "Terms",
    "Sitemap",
    "Changelog"
   ],
   "hubs": [
    {
     "name": "Product / service",
     "url": "/product",
     "purpose": "High-intent commercial page"
    },
    {
     "name": "Guides pillar",
     "url": "/guides",
     "purpose": "Topical authority hub"
    },
    {
     "name": "Rule library",
     "url": "/rules",
     "purpose": "Entity/regulation reference"
    },
    {
     "name": "Resources",
     "url": "/resources",
     "purpose": "Linkable assets (templates, checklists)"
    },
    {
     "name": "Changelog",
     "url": "/changelog",
     "purpose": "Freshness + trust signal"
    }
   ],
   "url_patterns": [
    "/product",
    "/guides/[topic]/",
    "/guides/[topic]/[subtopic]/",
    "/rules/[regulator]/[rule]/",
    "/resources/[asset]/",
    "/compare/[a]-vs-[b]/",
    "/glossary/[term]/"
   ],
   "avoid_url_patterns": [
    "/[city]/[service]/ (no local intent for this buyer)",
    "/blog/[year]/[month]/[slug]/ (dated slugs decay CTR)",
    "/tag/[tag]/ (thin archive pages)",
    "Any duplicate /service/ and /solutions/ trees"
   ]
  },
  "global_national": {
   "national_clusters": [
    "SDRP Stage 2 (7 CFR part 760) SDRP Stage 2 lien repair — definitive guide",
    "SDRP Stage 2 completeness-pack filing workflow",
    "SDRP Stage 2 evidence checklist",
    "lien records inspection-readiness"
   ],
   "linkable_assets": [
    "One-page SDRP Stage 2 owner checklist (downloadable, gated by email is OK)",
    "Rule-to-record mapping table (HTML + PDF)",
    "Change-log / FSA rule update tracker (incl. the Apr 2026 payment-factor increase)",
    "Worked completeness-score examples (state-titled path + documented path, fixture data labeled illustrative)"
   ],
   "original_research_ideas": [
    "Annual multi-site lien records readiness benchmark (survey of ~50 operators)",
    "Invoice completeness index: share of farm ledgers missing SDRP Stage 2 fields (anonymized intake data)",
    "State crop loss overlay variation index (where applicable)"
   ],
   "international_needed": false,
   "international_notes": "Not needed. US-first. Do not build hreflang variants."
  },
  "local_seo": {
   "justified": false,
   "reason": "Buyers search by regulator/rule, not by city. Local pages would be doorway pages.",
   "gbp_categories_primary": [
    "[PLACEHOLDER] owner to complete"
   ],
   "gbp_categories_secondary": [
    "[PLACEHOLDER] owner to complete"
   ],
   "location_page_rules": [
    "Do not build location pages for this blueprint."
   ],
   "citations": [
    "[PLACEHOLDER] owner to complete"
   ],
   "review_strategy": "Reviews are not a Local ranking factor here; use G2/Capterra + case studies instead.",
   "local_schema": [
    "[PLACEHOLDER] owner to complete"
   ]
  },
  "programmatic": {
   "recommended": false,
   "reason": "Programmatic pages almost always become doorway pages in regulated niches. Prefer a small number of deeply-researched pages.",
   "rules": [
    "Only allowed for genuinely differentiated data (e.g., a state-by-state rule table where each state truly differs)",
    "Every programmatic page must include: unique data field + unique local/regulatory content + human review before publish",
    "noindex until minimum quality requirement met",
    "Rel=canonical to the pillar when a page falls below requirement"
   ],
   "per_page_requirements": [
    "≥1 unique data point not present on sibling pages",
    "≥1 unique paragraph of human-written analysis",
    "Verified last-reviewed date"
   ],
   "quality_gates": [
    "Editorial review before indexation",
    "Quarterly re-review or noindex",
    "Automated thin-content detector (<300 words unique) blocks publish"
   ]
  },
  "page_templates": [
   {
    "page_type": "Homepage",
    "purpose": "State the offer + route to validation call.",
    "target_intent": "commercial",
    "url_pattern": "/",
    "h1_pattern": "[One-sentence purpose]",
    "title_pattern": "[Brand] — [One-sentence purpose]",
    "meta_description_pattern": "One sentence outcome + CTA verb. ≤ 155 chars.",
    "above_the_fold": [
     "H1",
     "Sub-headline (audience + outcome)",
     "Primary CTA (validation call)",
     "1 trust chip (reviewer / cite)"
    ],
    "outline": [
     "Problem framing",
     "3 pillar cards",
     "Evidence asset teaser",
     "Named reviewer statement",
     "Contact"
    ],
    "internal_links": [
     "/product",
     "/guides",
     "/resources",
     "/about"
    ],
    "conversion_elements": [
     "Calendar CTA",
     "Checklist download secondary"
    ],
    "schema": [
     "Organization",
     "WebSite",
     "SearchAction"
    ],
    "trust_elements": [
     "Reviewer name",
     "Editorial policy link"
    ],
    "media": [
     "Original workflow diagram (SVG)"
    ],
    "faq_opportunities": [
     "Top 3 buyer questions"
    ],
    "cta_strategy": "Above-the-fold soft + end-of-page primary",
    "quality_requirements": [
     "Loads < 2.5s LCP",
     "Named reviewer visible"
    ],
    "anti_thin_rules": [
     "No stock hero",
     "No generic 'we help X do Y' filler"
    ]
   },
   {
    "page_type": "Pillar page",
    "purpose": "Anchor a topic cluster with a definitive explanation.",
    "target_intent": "informational",
    "url_pattern": "/guides/[topic]/",
    "h1_pattern": "[Topic] — Definitive Guide",
    "title_pattern": "[Topic] — Definitive Guide | [Brand]",
    "meta_description_pattern": "Definition + what the reader will learn + reviewer credential.",
    "above_the_fold": [
     "H1",
     "40–60 word definition block",
     "TOC",
     "Last-reviewed date + reviewer"
    ],
    "outline": [
     "Definition",
     "Who this applies to",
     "Workflow",
     "Rules & citations",
     "Edge cases",
     "FAQs",
     "Related pages"
    ],
    "internal_links": [
     "Cluster sub-pages",
     "Rule library",
     "Product"
    ],
    "conversion_elements": [
     "End-of-page checklist download",
     "Sidebar validation call CTA"
    ],
    "schema": [
     "Article",
     "BreadcrumbList",
     "FAQPage (only real FAQs)"
    ],
    "trust_elements": [
     "Named author + reviewer",
     "Primary source cites"
    ],
    "media": [
     "Original diagrams",
     "Rule comparison table"
    ],
    "faq_opportunities": [
     "Real questions from practitioners"
    ],
    "cta_strategy": "Assist conversion via internal link to product; primary CTA end-of-page.",
    "quality_requirements": [
     "≥ 1500 words unique",
     "≥ 3 primary sources cited",
     "Reviewer credential visible"
    ],
    "anti_thin_rules": [
     "No listicles padded with keyword variants",
     "No AI-generated body"
    ]
   },
   {
    "page_type": "How-to cluster page",
    "purpose": "Answer a specific workflow question inside a cluster.",
    "target_intent": "informational",
    "url_pattern": "/guides/[topic]/[subtopic]/",
    "h1_pattern": "[Specific action or question]",
    "title_pattern": "[Specific action] — [Pillar topic] | [Brand]",
    "meta_description_pattern": "Concrete outcome + who it applies to + one caveat.",
    "above_the_fold": [
     "H1",
     "Direct answer paragraph",
     "Numbered steps preview"
    ],
    "outline": [
     "Direct answer",
     "Steps",
     "Edge cases",
     "Common mistakes",
     "Related pages"
    ],
    "internal_links": [
     "Pillar page",
     "Sibling clusters",
     "Product"
    ],
    "conversion_elements": [
     "End-of-page checklist download",
     "Related tool link"
    ],
    "schema": [
     "Article",
     "HowTo (only if real workflow)",
     "BreadcrumbList"
    ],
    "trust_elements": [
     "Named author",
     "Reviewer for YMYL"
    ],
    "media": [
     "Screenshots of the actual workflow"
    ],
    "faq_opportunities": [
     "Follow-up questions"
    ],
    "cta_strategy": "Contextual link to product mid-page; primary CTA end-of-page.",
    "quality_requirements": [
     "Unique steps not duplicated from pillar",
     "Reviewer date visible"
    ],
    "anti_thin_rules": [
     "No spun variants of the pillar"
    ]
   },
   {
    "page_type": "Product / service page",
    "purpose": "Convert commercial intent.",
    "target_intent": "commercial",
    "url_pattern": "/product",
    "h1_pattern": "[Outcome-focused headline]",
    "title_pattern": "[Brand] — [Outcome]",
    "meta_description_pattern": "State the outcome + primary CTA verb.",
    "above_the_fold": [
     "H1",
     "Sub-headline",
     "Primary CTA",
     "Trust chip"
    ],
    "outline": [
     "Problem",
     "How we solve it",
     "Proof / worked example",
     "Objection handling",
     "FAQ",
     "CTA"
    ],
    "internal_links": [
     "Case study",
     "Pillar guide",
     "Evidence checklist"
    ],
    "conversion_elements": [
     "Calendar",
     "Secondary checklist"
    ],
    "schema": [
     "Service or SoftwareApplication (whichever fits)",
     "Organization",
     "FAQPage"
    ],
    "trust_elements": [
     "Named reviewer",
     "Primary-source cites",
     "Contact info"
    ],
    "media": [
     "Screenshot of the actual workflow, not marketing composites"
    ],
    "faq_opportunities": [
     "Buyer objections"
    ],
    "cta_strategy": "Above-the-fold + repeated end-of-page",
    "quality_requirements": [
     "Unique per audience segment (no doorway variants)"
    ],
    "anti_thin_rules": [
     "No thin '/services/X/' spin-offs of the same page"
    ]
   },
   {
    "page_type": "Rule / regulation reference page",
    "purpose": "Serve as the site's citation-grade reference for a specific rule.",
    "target_intent": "informational",
    "url_pattern": "/rules/[regulator]/[rule]/",
    "h1_pattern": "[Regulator] — [Rule] explained",
    "title_pattern": "[Rule] — [Regulator] Requirements | [Brand]",
    "meta_description_pattern": "What the rule requires + last-reviewed date.",
    "above_the_fold": [
     "H1",
     "Definition",
     "Last-reviewed + reviewer"
    ],
    "outline": [
     "What the rule says",
     "Who it applies to",
     "Deadlines",
     "Evidence required",
     "Change log"
    ],
    "internal_links": [
     "Pillar guide",
     "Product"
    ],
    "conversion_elements": [
     "Subscribe to change-log",
     "Sidebar validation call"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "trust_elements": [
     "Primary-source link",
     "Visited-on date",
     "Reviewer credential"
    ],
    "media": [
     "Rule comparison table"
    ],
    "faq_opportunities": [
     "Real practitioner questions"
    ],
    "cta_strategy": "Assist conversion via internal link",
    "quality_requirements": [
     "Primary source link required",
     "Quarterly re-review"
    ],
    "anti_thin_rules": [
     "No auto-generated rule scraping without human review"
    ]
   },
   {
    "page_type": "Comparison page",
    "purpose": "Serve genuine BOFU comparison intent.",
    "target_intent": "commercial",
    "url_pattern": "/compare/[a]-vs-[b]/",
    "h1_pattern": "[A] vs [B] — Honest Comparison",
    "title_pattern": "[A] vs [B] | [Brand]",
    "meta_description_pattern": "Honest side-by-side + when to pick which.",
    "above_the_fold": [
     "H1",
     "TL;DR verdict",
     "When-to-pick block"
    ],
    "outline": [
     "Criteria",
     "Side-by-side table",
     "Where each wins",
     "Where each loses",
     "Recommendation"
    ],
    "internal_links": [
     "Product",
     "Pillar guide"
    ],
    "conversion_elements": [
     "Calendar CTA",
     "Evidence checklist"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "trust_elements": [
     "Disclose the reviewer's relationship to each option"
    ],
    "media": [
     "Feature comparison table"
    ],
    "faq_opportunities": [
     "'Which should I choose?' style"
    ],
    "cta_strategy": "End-of-page primary CTA to the fitting option",
    "quality_requirements": [
     "Honest even when it hurts",
     "Disclose relationship"
    ],
    "anti_thin_rules": [
     "No manufactured 'X vs Y' pages for every pair"
    ]
   },
   {
    "page_type": "FAQ page",
    "purpose": "Aggregate genuine practitioner questions.",
    "target_intent": "informational",
    "url_pattern": "/faq",
    "h1_pattern": "FAQ",
    "title_pattern": "[Topic] FAQ | [Brand]",
    "meta_description_pattern": "Answers to the questions we hear most.",
    "above_the_fold": [
     "H1",
     "Table of contents"
    ],
    "outline": [
     "Grouped questions",
     "Each answer 40–120 words"
    ],
    "internal_links": [
     "Relevant pillars and rule pages"
    ],
    "conversion_elements": [
     "End-of-page CTA"
    ],
    "schema": [
     "FAQPage (only for genuine FAQs visible on-page)"
    ],
    "trust_elements": [
     "Named reviewer"
    ],
    "media": [],
    "faq_opportunities": [
     "Real questions only — never invented"
    ],
    "cta_strategy": "Related-block links, not inline mid-answer",
    "quality_requirements": [
     "No invented questions"
    ],
    "anti_thin_rules": [
     "No 'is X the best' padding"
    ]
   },
   {
    "page_type": "Glossary term page",
    "purpose": "Definition-grade authority for a single term.",
    "target_intent": "informational",
    "url_pattern": "/glossary/[term]/",
    "h1_pattern": "[Term]",
    "title_pattern": "[Term] — Definition | [Brand]",
    "meta_description_pattern": "Concise definition + who uses the term.",
    "above_the_fold": [
     "H1",
     "40-word definition"
    ],
    "outline": [
     "Definition",
     "Related terms",
     "Where it applies",
     "Common misuses"
    ],
    "internal_links": [
     "Pillar",
     "Rule pages"
    ],
    "conversion_elements": [
     "Sidebar related-tool link"
    ],
    "schema": [
     "Article",
     "BreadcrumbList",
     "DefinedTerm"
    ],
    "trust_elements": [
     "Cite the primary source of the definition"
    ],
    "media": [],
    "faq_opportunities": [],
    "cta_strategy": "Assist via internal link",
    "quality_requirements": [
     "Never duplicate the pillar's intro"
    ],
    "anti_thin_rules": [
     "No glossary spam"
    ]
   },
   {
    "page_type": "Case study page",
    "purpose": "Concrete outcome-based proof.",
    "target_intent": "commercial",
    "url_pattern": "/case-studies/[slug]/",
    "h1_pattern": "[Outcome achieved for [customer type]]",
    "title_pattern": "Case Study — [Outcome] | [Brand]",
    "meta_description_pattern": "Concrete outcome + timeframe + method.",
    "above_the_fold": [
     "H1",
     "Outcome metric",
     "Approved-for-publication chip"
    ],
    "outline": [
     "Context",
     "Approach",
     "Outcome",
     "Reviewer quote"
    ],
    "internal_links": [
     "Product",
     "Pillar guide"
    ],
    "conversion_elements": [
     "End-of-page CTA"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "trust_elements": [
     "Named customer contact (with permission)"
    ],
    "media": [
     "Redacted artifact screenshots"
    ],
    "faq_opportunities": [],
    "cta_strategy": "End-of-page primary CTA",
    "quality_requirements": [
     "Written approval on file"
    ],
    "anti_thin_rules": [
     "No fabricated case studies"
    ]
   }
  ],
  "on_page_rules": {
   "title_tag": "Pattern: [Primary keyword] — [Angle] | AgReliefClear. ≤ 60 chars. Front-load the keyword. No clickbait.",
   "meta_description": "≤ 155 chars. State the specific outcome. Include a verb + a rule citation when applicable. No stuffing.",
   "headings": "One H1. H2s follow the workflow steps or the searcher's questions. H3s for edge cases. No decorative headings.",
   "intro": "First 100 words: define the topic in the searcher's language + name the specific rule/agency + preview what the page delivers.",
   "snippet_targeting": "Add a 40–60 word definition block and a numbered how-to block near the top for featured snippet + AI overview eligibility.",
   "tables_lists": "Use tables for rule comparisons, deadlines, and requirements. Lists for steps. Never use tables for layout.",
   "images": "Original diagrams/screenshots preferred. Descriptive alt text. WebP. Explicit width/height. Never AI slop stock art.",
   "internal_links": "Every page: ≥3 contextual links up to pillar, ≥2 to sibling cluster pages, ≥1 to a commercial page.",
   "external_citations": "Cite the primary source (agency PDF / statute) — not aggregators — with the visited-on date.",
   "author_attribution": "Named author + role + linked bio page. Reviewer for YMYL.",
   "freshness": "Last-reviewed date at top; change log at bottom for regulator pages; quarterly review cadence.",
   "cta_placement": "Above the fold (soft), mid-page (contextual to the section), end-of-page (primary).",
   "mobile": "Single-column, tap targets ≥44px, no interstitials, no autoplay video.",
   "avoid": [
    "Keyword stuffing",
    "AI-generated body copy without human edit",
    "Doorway variants",
    "Unsupported superlatives ('best', 'top-rated') without evidence",
    "Meta descriptions duplicated across pages",
    "Marking up invisible content in schema"
   ]
  },
  "entity_seo": {
   "main_entities": [
    "SDRP Stage 2 (7 CFR part 760)",
    "SDRP Stage 2 (7 CFR part 760)",
    "FSA",
    "unpaid crop losss",
    "completeness score",
    "notice clock",
    "aging repeat-delinquency report",
    "farm eligibility profile"
   ],
   "related_entities": [
    "loss-severity > 53",
    "15-lb requirement",
    "program filing-window completeness-score requirements",
    "eligibility-verification verification",
    "3-year records"
   ],
   "people": [
    "Named practitioners (role-titles)",
    "qualified agricultural legal counsel reviewers",
    "FSA officials referenced"
   ],
   "orgs": [
    "FSA",
    "FMI",
    "state grocers associations",
    "restaurant associations",
    "CARB"
   ],
   "tools": [
    "Rule library",
    "Lien-rate worksheets",
    "Change-log tracker"
   ],
   "regulations": [
    "SDRP Stage 2 (7 CFR part 760) (SDRP Stage 2 (7 CFR part 760) ER&R)",
    "CAA agricultural legal counsel / Fla. Stat. Part 82",
    "Fla. Stat. §19.4 penalty adjustments",
    "TRU-equipment exclusion final rule (May 2026)",
    "CARB crop loss rules"
   ],
   "problems": [
    "SDRP Stage 2 recordkeeping risk",
    "Inspection failure",
    "Missed program filing-window notice clock",
    "Unnoticed program filing-window aging requirement",
    "Evidence gap"
   ],
   "solutions": [
    "Completeness Pack workflow",
    "Portfolio Lien Register",
    "Rule-mapped checklists"
   ],
   "processes": [
    "Invoice intake",
    "Farm eligibility resolution",
    "Lien-rate computation",
    "Release review",
    "Deliver & register",
    "Aging watch"
   ],
   "alternatives": [
    "farm operation billing software",
    "bundled search compliance managers",
    "law firm alerts"
   ],
   "synonyms": [
    "crop loss lien repair records",
    "crop loss completeness score documentation",
    "crop loss compliance binder",
    "audit-ready"
   ]
  },
  "schema_strategy": [
   {
    "type": "Organization",
    "where": "Site-wide in head",
    "required_fields": [
     "name",
     "url",
     "logo",
     "sameAs"
    ],
    "caution": "Keep in sync with visible About / contact."
   },
   {
    "type": "WebSite + SearchAction",
    "where": "Homepage",
    "required_fields": [
     "name",
     "url",
     "potentialAction"
    ],
    "caution": "Only if on-site search actually exists."
   },
   {
    "type": "BreadcrumbList",
    "where": "All hub / cluster / rule / glossary pages",
    "required_fields": [
     "itemListElement"
    ],
    "caution": "Order must match visible breadcrumbs."
   },
   {
    "type": "Article",
    "where": "Guides, pillars, rule pages",
    "required_fields": [
     "headline",
     "author",
     "datePublished",
     "dateModified"
    ],
    "caution": "Author must exist as a real person."
   },
   {
    "type": "FAQPage",
    "where": "Genuine FAQ pages only",
    "required_fields": [
     "mainEntity[]"
    ],
    "caution": "Only mark up FAQs visible on the page."
   },
   {
    "type": "HowTo",
    "where": "Real step-by-step workflows only",
    "required_fields": [
     "name",
     "step[]"
    ],
    "caution": "Google narrowed HowTo eligibility; use sparingly."
   },
   {
    "type": "Person",
    "where": "Author bio pages",
    "required_fields": [
     "name",
     "jobTitle",
     "sameAs"
    ],
    "caution": "Credentials must be real and verifiable."
   }
  ],
  "internal_linking": {
   "pillar_to_cluster": "Pillar links to every direct cluster page in a curated section (not a mega-menu dump).",
   "cluster_to_pillar": "Every cluster page links back to its pillar in the intro and in-context.",
   "cluster_to_cluster": "Link between sibling clusters only where the user's next question naturally leads there.",
   "service_to_location": "Not applicable.",
   "faq_to_commercial": "Answer the question first, then link to the commercial page in a 'related' block — never inline mid-answer.",
   "breadcrumbs": "Structured breadcrumbs on all guide, rule, and glossary pages.",
   "anchor_text_rules": [
    "Descriptive — match the target page's H1 concept",
    "Vary phrasing across links to the same target",
    "Never exact-match keyword stuffing",
    "Anchor must make sense read aloud"
   ]
  },
  "technical_seo": {
   "crawlability": "Flat depth (≤3 clicks from homepage). No orphan pages. HTML sitemap on /sitemap.",
   "indexability": "Index all real content. noindex utility pages, thank-you pages, and gated-asset landing pages.",
   "sitemaps": "XML sitemap generated at build time. Split by section if > 5k URLs.",
   "robots": "robots.txt allows all; disallow /admin/, /api/. Reference sitemap.",
   "canonicals": "Self-referencing canonical on every page. Filter/sort variants canonical to the base.",
   "pagination": "Prefer 'load more' or a single long page; if paginated, use rel=next/prev semantics via internal linking.",
   "faceted_nav": "Not applicable for this blueprint (no product catalog).",
   "duplicate_control": "One URL per topic. Consolidate before publishing new variants. No www/non-www split.",
   "redirects": "301 for permanent moves; audit chains monthly; never 302 for SEO redirects.",
   "core_web_vitals": "LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1. Test with real-user monitoring.",
   "mobile": "Mobile-first design. No tap-target failures. No horizontal scroll.",
   "accessibility": "WCAG AA. Semantic HTML. Landmarks. Focus states. Alt text.",
   "js_seo": "Content in the initial HTML. Client hydration for interactivity only.",
   "rendering": "Static generation preferred; SSR only where personalized. Never client-only for indexable pages.",
   "gsc_setup": "Verify both www and apex; submit sitemap; monitor Coverage and Enhancements weekly.",
   "analytics_setup": "GA4 + server-side event stream. Consent Mode v2. Event schema documented.",
   "rank_tracking": "Semrush or Ahrefs project set to US database; track pillar + top-20 clusters weekly."
  },
  "eeat": {
   "author_bios": "Every content page has a named author with role, credentials, and a linked author page.",
   "expert_reviewers": "Every YMYL page reviewed by a named expert with disclosed credentials.",
   "editorial_policy": "Public /editorial-policy page: sourcing rules, review cadence, correction policy.",
   "fact_checking": "Every statute/rule reference has a link + visited-on date; corrections dated and disclosed.",
   "credentials": [
    "federal Bar admission (reviewer)",
    "Relevant professional licensure where public"
   ],
   "citations": "Cite primary sources (agency PDF, statute text). No citation of aggregator blogs.",
   "first_hand_proof": [
    "Screenshots of the actual workflow",
    "Redacted worked examples",
    "Signed reviewer statement"
   ],
   "update_cadence": "Regulatory pages reviewed quarterly; commercial pages reviewed twice yearly.",
   "monetization_disclosure": "Public disclosure that leads convert to paid engagements; no undisclosed affiliate content.",
   "ymyl_notes": "This is YMYL. Language stays cautious (\"may\", \"depends on facts\"); documentation support only — no legal-advice framing, no penalty-avoidance promises; disclaimer near CTA."
  },
  "ai_search": {
   "principles": [
    "Answer the exact question in the first paragraph",
    "Provide a 40–60 word extractable definition near the top",
    "Structured lists and tables for facts",
    "Cite named primary sources",
    "Author + reviewer names on-page"
   ],
   "tactics": [
    "FAQPage schema for genuine FAQs (not stuffed)",
    "HowTo schema for real workflow pages",
    "Consistent entity naming across the site",
    "Concise summaries at the top of long guides"
   ],
   "do_not": [
    "Write pages targeting AI systems instead of humans",
    "Insert hidden 'AI-only' content",
    "Create bespoke llms.txt / manifests that bypass normal quality",
    "Mass-generate answers to invented questions"
   ]
  },
  "conversion": {
   "primary_cta": "Start a pack run from your most recent farm ledger (or book a validation call).",
   "secondary_cta": "Run the free AIM Exposure Diagnostic / download the SDRP Stage 2 owner checklist (email capture).",
   "lead_magnets": [
    "Free AIM Exposure Diagnostic (human-reviewed Gap Score in 24h)",
    "One-page SDRP Stage 2 owner checklist (PDF)",
    "Quarterly FSA rule change-log subscription"
   ],
   "trust_elements": [
    "Named reviewer + credentials",
    "Rule citations visible on-page",
    "Change-log timestamps",
    "Contact + address in footer"
   ],
   "per_page_paths": [
    {
     "page_type": "Homepage",
     "path": "Hero CTA → validation call. Secondary → guides pillar."
    },
    {
     "page_type": "Pillar",
     "path": "TOC → deep sub-pages. End-of-page → validation call."
    },
    {
     "page_type": "Cluster / how-to",
     "path": "In-content 'related tool' link → product. End-of-page → checklist download."
    },
    {
     "page_type": "Product / service",
     "path": "Above-the-fold CTA → calendar. Objection-handling block → FAQ."
    },
    {
     "page_type": "Rule page",
     "path": "Sidebar → related workflow (product). Bottom → subscribe to change-log."
    }
   ],
   "tracking": "GA4 events: cta_click, checklist_download, calendar_book. Server-side dedupe. Weekly funnel review."
  },
  "link_earning": {
   "digital_pr_ideas": [
    "Annual \"SDRP Stage 2 (7 CFR part 760) SDRP Stage 2\" lien records readiness benchmark report",
    "Invoice completeness index with a shareable result page",
    "FSA rule-change tracker with an RSS feed"
   ],
   "original_research": [
    "Small operator survey (n≥30) once per year",
    "State-by-state crop loss overlay variation index"
   ],
   "directories": [
    "G2 / Capterra category pages",
    "Industry association member lists",
    "Regulator resource pages when eligible"
   ],
   "expert_contributions": [
    "HARO / Qwoted / Featured expert responses",
    "Bylined articles in industry trade press",
    "Podcast interviews with practitioners"
   ],
   "partnerships": [
    "Association CLE / CPE sponsorships",
    "Co-authored guides with adjacent (non-competing) vendors"
   ],
   "avoid": [
    "Paid link schemes",
    "PBNs",
    "Mass guest posting",
    "Fake reviews",
    "Reciprocal link exchanges"
   ]
  },
  "roadmap_90d": [
   {
    "phase": "Days 0–30: Foundation",
    "goal": "Establish trust + ship product page + first pillar.",
    "pages": [
     "Homepage",
     "Product page",
     "Pillar: SDRP Stage 2 (7 CFR part 760) SDRP Stage 2 lien repair — definitive guide",
     "About + reviewer bio (role-titles)",
     "Editorial policy",
     "Contact"
    ],
    "keywords_targeted": [
     "SDRP Stage 2 (7 CFR part 760) lien repair",
     "SDRP Stage 2 (7 CFR part 760) 15 lb rule guide"
    ],
    "why_first": "Without a trust surface + a real product page, everything else is unmoored.",
    "difficulty": "medium",
    "business_value": "high",
    "required_assets": [
     "Reviewer bio",
     "Editorial policy",
     "One workflow diagram"
    ],
    "internal_links": [
     "Homepage ↔ Product ↔ Pillar"
    ],
    "conversion_goal": "First validation calls booked"
   },
   {
    "phase": "Days 31–60: Topical authority core",
    "goal": "Publish the first cluster of 5–7 supporting pages under the pillar + evidence checklist lead magnet.",
    "pages": [
     "SDRP Stage 2 edge cases",
     "Lien-rate calculation step by step (state-titled path + documented path)",
     "SDRP Stage 2 FAQs",
     "SDRP Stage 2 owner checklist (lead magnet)",
     "Repair-clock and The publication window deadlines"
    ],
    "keywords_targeted": [
     "SDRP Stage 2 edge cases",
     "completeness-pack records checklist",
     "crop loss notice clock deadlines"
    ],
    "why_first": "Easy-win SERPs that assist conversion to the product page.",
    "difficulty": "low",
    "business_value": "medium",
    "required_assets": [
     "Checklist PDF",
     "Rule table"
    ],
    "internal_links": [
     "All clusters ↔ pillar ↔ product"
    ],
    "conversion_goal": "Checklist downloads + assisted conversions"
   },
   {
    "phase": "Days 61–90: Reference & freshness",
    "goal": "Ship the rule library + first regulator change-log post + first comparison page.",
    "pages": [
     "Rule page: SDRP Stage 2 (7 CFR part 760)",
     "Rule page: CAA agricultural legal counsel documented-farm",
     "Rule page: sale-continuity filinging (The publication window)",
     "Comparison: done-for-you completeness-pack packs vs farm operation billing software",
     "Q1 FSA rule change-log"
    ],
    "keywords_targeted": [
     "Fla. Stat. SDRP Stage 2",
     "disaster-program-claim vs SDRP Stage 2 (7 CFR part 760)",
     "aging repeat-delinquency report The publication window"
    ],
    "why_first": "Reference pages compound in authority; change-log establishes freshness signal.",
    "difficulty": "medium",
    "business_value": "medium",
    "required_assets": [
     "Primary-source citations",
     "Reviewer sign-off"
    ],
    "internal_links": [
     "Rule pages ↔ pillar ↔ product; comparison → product"
    ],
    "conversion_goal": "BOFU comparison conversions"
   }
  ],
  "roadmap_12m": [
   {
    "phase": "Months 4–6: Linkable assets",
    "goal": "Ship the annual benchmark, the cost-of-non-compliance calculator, and the state variation index (if applicable).",
    "pages": [
     "Annual lien records readiness benchmark",
     "Invoice completeness index",
     "State crop loss overlay variation index"
    ],
    "keywords_targeted": [
     "lien records benchmark",
     "crop loss compliance cost",
     "state crop loss rules comparison"
    ],
    "why_first": "Linkable assets drive referring domains and topical authority signals.",
    "difficulty": "medium",
    "business_value": "high",
    "required_assets": [
     "Survey data",
     "Named methodology",
     "Reviewer sign-off"
    ],
    "internal_links": [
     "From every pillar + product"
    ],
    "conversion_goal": "Calculator → validation call handoff"
   },
   {
    "phase": "Months 7–9: Depth + freshness cadence",
    "goal": "Expand each pillar with 3 more cluster pages + quarterly regulator change-log.",
    "pages": [
     "Additional cluster pages (per pillar)",
     "Q3 regulator change-log",
     "First case study (with permission)"
    ],
    "keywords_targeted": [
     "Long-tail cluster expansions"
    ],
    "why_first": "Compounding topical coverage + freshness moat.",
    "difficulty": "low",
    "business_value": "medium",
    "required_assets": [
     "Customer approval for case study"
    ],
    "internal_links": [
     "Sibling cluster interlinking"
    ],
    "conversion_goal": "Assisted conversions"
   },
   {
    "phase": "Months 10–12: Scale + prune",
    "goal": "Consolidate weak pages, refresh top pages, expand into 1 adjacent topic only if authority is proven.",
    "pages": [
     "Consolidation redirects",
     "Top-10 page refreshes",
     "Adjacent topic scoping"
    ],
    "keywords_targeted": [
     "Existing top-10 clusters"
    ],
    "why_first": "Optimization > net-new after a critical mass is reached.",
    "difficulty": "low",
    "business_value": "high",
    "required_assets": [
     "Analytics review",
     "Consolidation plan"
    ],
    "internal_links": [
     "Redirect audit"
    ],
    "conversion_goal": "CTR + conversion-rate lift"
   }
  ],
  "priority_pages": [
   {
    "rank": 1,
    "page_title": "SDRP Stage 2 completeness-pack evidence requirements",
    "slug": "/guides/328-17-completeness-pack-evidence-requirements/",
    "page_type": "Pillar / evidence guide",
    "primary_keyword": "SDRP Stage 2 completeness-pack evidence requirements",
    "secondary_keywords": [
     "SDRP Stage 2 (7 CFR part 760) audit-ready lien records",
     "completeness-pack evidence checklist"
    ],
    "intent": "commercial",
    "scope": "national",
    "funnel": "BOFU",
    "difficulty": "medium",
    "business_value": "high",
    "conversion_potential": "high",
    "required_proof": [
     "Named reviewer",
     "Primary-source cites",
     "Worked example"
    ],
    "internal_links": [
     "/guides/fl-328-17-completeness-pack/",
     "/product",
     "/rules/fsa/sdrp-stage-2/"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "cta": "Book validation call",
    "production_priority": "P0",
    "why_opportunity": "High buyer intent + weak SERP + our unique proof"
   },
   {
    "rank": 2,
    "page_title": "Done-for-you completeness-pack packs vs farm operation billing software",
    "slug": "/compare/completeness-pack-packs-vs-crop loss-saas/",
    "page_type": "Comparison page (honest, evidence-based)",
    "primary_keyword": "completeness-pack packs vs farm operation billing software",
    "secondary_keywords": [
     "crop loss compliance service alternatives",
     "farm operation billing software comparison"
    ],
    "intent": "commercial",
    "scope": "national",
    "funnel": "BOFU",
    "difficulty": "medium",
    "business_value": "high",
    "conversion_potential": "high",
    "required_proof": [
     "Named reviewer",
     "Primary-source cites",
     "Worked example"
    ],
    "internal_links": [
     "/guides/fl-328-17-completeness-pack/",
     "/product",
     "/rules/fsa/sdrp-stage-2/"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "cta": "Book validation call",
    "production_priority": "P0",
    "why_opportunity": "Late-funnel intent with weak competition"
   },
   {
    "rank": 3,
    "page_title": "SDRP Stage 2 owner records checklist",
    "slug": "/guides/328-17-records-checklist/",
    "page_type": "Resource / lead magnet page",
    "primary_keyword": "completeness-pack records checklist",
    "secondary_keywords": [
     "SDRP Stage 2 owner checklist",
     "lien records audit checklist"
    ],
    "intent": "informational",
    "scope": "national",
    "funnel": "MOFU",
    "difficulty": "low",
    "business_value": "medium",
    "conversion_potential": "medium",
    "required_proof": [
     "Named reviewer",
     "Primary-source cites",
     "Worked example"
    ],
    "internal_links": [
     "/guides/fl-328-17-completeness-pack/",
     "/product",
     "/rules/fsa/sdrp-stage-2/"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "cta": "Download checklist",
    "production_priority": "P0",
    "why_opportunity": "Easy win + strong lead-magnet fit"
   },
   {
    "rank": 4,
    "page_title": "Lien notice-clock and The publication window deadlines",
    "slug": "/guides/notice-clock-march-1-deadlines/",
    "page_type": "Data table page (updated quarterly)",
    "primary_keyword": "crop loss notice-clock and The publication window deadlines",
    "secondary_keywords": [
     "program filing-window notice clock SDRP Stage 2",
     "aging repeat-delinquency report deadline"
    ],
    "intent": "informational",
    "scope": "national",
    "funnel": "TOFU",
    "difficulty": "low",
    "business_value": "medium",
    "conversion_potential": "medium",
    "required_proof": [
     "Named reviewer",
     "Primary-source cites",
     "Worked example"
    ],
    "internal_links": [
     "/guides/fl-328-17-completeness-pack/",
     "/product",
     "/rules/fsa/sdrp-stage-2/"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "cta": "Download checklist",
    "production_priority": "P0",
    "why_opportunity": "Recurring seasonal traffic + easy freshness moat"
   },
   {
    "rank": 5,
    "page_title": "SDRP Stage 2 edge cases",
    "slug": "/guides/328-17-edge-cases/",
    "page_type": "How-to cluster page",
    "primary_keyword": "SDRP Stage 2 edge cases",
    "secondary_keywords": [
     "documented-farm R-22 and crop loss sites",
     "method switch state-titled path vs documented path",
     "TRU-equipment exclusion May 2026"
    ],
    "intent": "informational",
    "scope": "national",
    "funnel": "MOFU",
    "difficulty": "low",
    "business_value": "medium",
    "conversion_potential": "medium",
    "required_proof": [
     "Named reviewer",
     "Primary-source cites",
     "Worked example"
    ],
    "internal_links": [
     "/guides/fl-328-17-completeness-pack/",
     "/product",
     "/rules/fsa/sdrp-stage-2/"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "cta": "Download checklist",
    "production_priority": "P0",
    "why_opportunity": "Easy win + high assist to product page"
   },
   {
    "rank": 6,
    "page_title": "Lien tracking software (deferred)",
    "slug": "/guides/crop loss-tracking-software/",
    "page_type": "Product page (defer)",
    "primary_keyword": "farm operation billing software",
    "secondary_keywords": [
     "crop loss compliance platform",
     "best crop loss tracking tools"
    ],
    "intent": "commercial",
    "scope": "national",
    "funnel": "BOFU",
    "difficulty": "high",
    "business_value": "high",
    "conversion_potential": "high",
    "required_proof": [
     "Named reviewer",
     "Primary-source cites",
     "Worked example"
    ],
    "internal_links": [
     "/guides/fl-328-17-completeness-pack/",
     "/product",
     "/rules/fsa/sdrp-stage-2/"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "cta": "Book validation call",
    "production_priority": "P1",
    "why_opportunity": "Long-term play — do not chase before authority is built"
   },
   {
    "rank": 7,
    "page_title": "SDRP Stage 2 (7 CFR part 760) lien repair — definitive guide",
    "slug": "/guides/fl-328-17-completeness-pack-definitive-guide/",
    "page_type": "Pillar page",
    "primary_keyword": "SDRP Stage 2 (7 CFR part 760) lien repair definitive guide",
    "secondary_keywords": [
     "SDRP Stage 2 filing requirements explained",
     "what is the SDRP Stage 2 (7 CFR part 760) 15 lb rule"
    ],
    "intent": "informational",
    "scope": "national",
    "funnel": "TOFU",
    "difficulty": "medium",
    "business_value": "medium",
    "conversion_potential": "low",
    "required_proof": [
     "Named reviewer",
     "Primary-source cites",
     "Worked example"
    ],
    "internal_links": [
     "/guides/fl-328-17-completeness-pack/",
     "/product",
     "/rules/fsa/sdrp-stage-2/"
    ],
    "schema": [
     "Article",
     "BreadcrumbList"
    ],
    "cta": "Download checklist",
    "production_priority": "P1",
    "why_opportunity": "Anchors topical authority for the whole cluster"
   }
  ],
  "competitor_gaps": {
   "typical_competitor_types": [
    "farm operation billing software",
    "bundled search compliance managers",
    "law firm alerts"
   ],
   "common_weaknesses": [
    "Outdated regulator citations",
    "Missing last-reviewed date",
    "No named author or reviewer",
    "Copy-paste content across state / product variants",
    "No worked examples",
    "Thin FAQ padded with generic questions",
    "Poor mobile Core Web Vitals"
   ],
   "how_to_beat_them": [
    "Fresh citations with visited-on dates",
    "Named reviewer + credentials visible",
    "Real, redacted worked examples",
    "Better structured tables for rule comparisons",
    "Faster + more accessible pages"
   ]
  },
  "metrics": {
   "weekly": [
    "GSC impressions/clicks by pillar",
    "Top-20 keyword position",
    "New indexed pages",
    "Core Web Vitals regressions"
   ],
   "monthly": [
    "Organic sessions by hub",
    "Assisted conversions",
    "CTR by template",
    "Content decay list (positions dropped)",
    "Backlink net-new"
   ],
   "quarterly": [
    "Pillar coverage audit",
    "Rule freshness audit",
    "Consolidation / prune list",
    "Conversion path funnel review"
   ],
   "annual": [
    "Full topical authority audit",
    "Benchmark report refresh",
    "Editorial policy refresh"
   ]
  },
  "risks": [
   {
    "risk": "Thin content",
    "applies": true,
    "mitigation": "Minimum-word + reviewer-sign-off gate before publish."
   },
   {
    "risk": "Duplicate content across state/product variants",
    "applies": true,
    "mitigation": "One URL per topic; no auto-generated variants; canonical to pillar."
   },
   {
    "risk": "Doorway location pages",
    "applies": true,
    "mitigation": "Local pages are refused for this vertical — buyers search by regulator, not city."
   },
   {
    "risk": "Keyword cannibalization",
    "applies": true,
    "mitigation": "Topic ownership map; kill or 301 the weaker duplicate."
   },
   {
    "risk": "AI-generated body without human edit",
    "applies": true,
    "mitigation": "Editorial policy forbids it; reviewer sign-off required."
   },
   {
    "risk": "Unsupported YMYL claims",
    "applies": true,
    "mitigation": "Cautious language + primary-source cites + reviewer credential."
   },
   {
    "risk": "Bad schema (marking up invisible content)",
    "applies": true,
    "mitigation": "Schema linter in CI; only markup what is on-page."
   },
   {
    "risk": "Link spam / paid link schemes",
    "applies": true,
    "mitigation": "Editorial link-earning only; documented policy."
   },
   {
    "risk": "Review manipulation",
    "applies": false,
    "mitigation": "Post-engagement organic prompts only; no incentives; no gating negatives."
   },
   {
    "risk": "Index bloat from tag/archive pages",
    "applies": true,
    "mitigation": "noindex utility archives; canonical to hub."
   },
   {
    "risk": "Compliance risk in claims",
    "applies": true,
    "mitigation": "Legal review of marketing claims; disclaimer near CTAs."
   },
   {
    "risk": "Programmatic doorway pages",
    "applies": true,
    "mitigation": "Programmatic refused unless per-page uniqueness rules are met."
   }
  ],
  "first_20_pages": [
   "Homepage",
   "Product / service page",
   "About + reviewer bio (role-titles)",
   "Editorial policy",
   "Contact",
   "Privacy",
   "Pillar: SDRP Stage 2 (7 CFR part 760) SDRP Stage 2 lien repair — definitive guide",
   "Lien-rate calculation step by step (state-titled path + documented path)",
   "SDRP Stage 2 edge cases",
   "SDRP Stage 2 FAQs",
   "Pillar: completeness-pack evidence & inspection-readiness",
   "SDRP Stage 2 completeness-pack evidence requirements",
   "Lien records audit checklist",
   "Repair-clock and The publication window deadlines",
   "SDRP Stage 2 owner checklist (lead magnet)",
   "Rule page: SDRP Stage 2 (7 CFR part 760)",
   "Rule page: CAA agricultural legal counsel documented-farm",
   "Rule page: sale-continuity filinging",
   "Comparison: done-for-you completeness-pack packs vs farm operation billing software",
   "Q1 FSA rule change-log post"
  ],
  "first_10_tech_fixes": [
   "XML sitemap generated at build",
   "robots.txt reviewed + sitemap referenced",
   "Self-referencing canonicals",
   "GSC + GA4 verified with server-side events",
   "Core Web Vitals baseline (LCP, INP, CLS)",
   "Structured breadcrumbs sitewide",
   "Author + editorial-policy pages published",
   "404 + 410 patterns defined",
   "Redirect audit (no chains)",
   "Semantic HTML + accessibility landmarks"
  ],
  "first_10_authority_actions": [
   "Publish named reviewer bio(s)",
   "Public editorial policy + correction policy",
   "Cite primary regulator sources with visited-on dates",
   "Launch checklist lead magnet",
   "Pitch 3 HARO / Qwoted responses per week",
   "Publish 1 original data point / benchmark",
   "Reach out to 5 non-competing directories",
   "Guest post on 1 industry association blog",
   "Podcast interview outreach (5 shows)",
   "Set up quarterly regulator change-log post cadence"
  ],
  "final_recommendation": "Build a regulator-fluent authority site around \"SDRP Stage 2 farm disaster claim completeness pack\". Ship the first 20 pages in 90 days (product + pillar + rule library + evidence assets), then compound with quarterly FSA rule-change posts and one annual benchmark. Refuse doorway pages, refuse mass AI content, treat named-reviewer (role-titled until owner facts close) + primary-source citations as non-negotiable, and never publish an unclaimed-funds dollar figure without a current primary-source citation — the exact discipline this build's own fresh verification enforced on itself.",
  "disclaimers": [
   "All volume/difficulty/CPC labels are RELATIVE ESTIMATES (low/medium/high), not exact numbers. Validate with Semrush, Ahrefs, or Google Search Console before committing spend.",
   "This brief is deterministic per blueprint — it will not shift between renders. Any changes should be made in code, not in prompts.",
   "YMYL topic: language must stay cautious; nothing here is legal/medical/financial advice."
  ]
 },
 "microsite": {
  "category": "Agriculture / federal disaster-program documentation",
  "shortTitle": "AgReliefClear",
  "audience": "row-crop and specialty-crop farm operators (200-3,000+ acres) with a 2023-2024 weather-related crop loss",
  "problem": "A farm took a 2023 or 2024 weather-related loss that crop insurance didn't fully cover, and the operator has no time during harvest season to chase it. Under SDRP Stage 2, the farm may be owed federal relief on top of any insurance payment — but claiming it requires filing FSA-504 with FSA-578 acreage records, AD-1026 certification, CCC-901/902 entity documentation, and (for high-AGI-from-farming operators) FSA-510, all lined up correctly before August 12, 2026. Farm-operated software ages nothing and files nothing; it never assembles any of that. Get one form wrong and FSA sends the whole packet back for incompleteness.",
  "offer": "On AgReliefClear, farm operators stop guessing at SDRP Stage 2 and start filing packs. Send us the farm's yield records, insurance policy summary, and acreage report; AI extracts and normalizes the eligibility profile and amounts, we run the multi-program eligibility screen, deterministic rules check every required field and the filing window, and an agricultural-loss documentation specialist releases a Completeness Pack — filing-ready — in five business days. FSA-211-authorized filing on every pack; agricultural legal counsel referral for any NAD appeal.",
  "faq": [
   {
    "q": "Is AgReliefClear for the farm office or for a USDA consultant?",
    "a": "For the farm operator directly. At 200-3,000+ acres the operator or a family bookkeeper owns the paperwork and there's usually no in-house USDA-program specialist. We do the documentation production — eligibility screening, form population, evidence bundling, and filing — and route the coverage judgment calls to your own licensed crop-insurance adjuster when they arise."
   },
   {
    "q": "How is a pack run audit-ready?",
    "a": "Every eligibility claim traces to a rules-library version and a source document, and every amount ties to your own yield/insurance records. Missing items ship as explicit exceptions, never invented. An agricultural-loss documentation specialist signs every release; a coverage question is always routed to your own licensed adjuster, never resolved by us."
   },
   {
    "q": "What arrives at the end of a pack run?",
    "a": "A Completeness Pack PDF — the eligibility memo, populated FSA-504 and supporting forms, the indexed evidence bundle, a filing-window calendar, and (once filed) a Filed Confirmation — plus the register row for your farm's filing history."
   },
   {
    "q": "What if my farm is also NAP-covered on some acres?",
    "a": "Then we screen both your insured and NAP-covered acreage against each program's own rules in the same intake. Multi-program farms fall in the Bundle tier because the eligibility work is heavier and touches more forms."
   },
   {
    "q": "How fast, and what do you need from me?",
    "a": "Five business days from complete intake. We need your yield-monitor export or elevator settlement sheets, your crop-insurance policy summary or NAP documentation, your FSA-578 acreage report, and a signed FSA-211 Power of Attorney so we can file on your behalf."
   },
   {
    "q": "Do you determine my insurance payout or run my appeal?",
    "a": "No. We stop at the filed pack (and, with the add-on, organizing evidence for your own adjuster). Your Approved Insurance Provider's licensed adjuster makes any coverage determination; qualified agricultural legal counsel represents you at a NAD hearing if FSA denies your application."
   },
   {
    "q": "Are you a USDA employee or acting on FSA's behalf?",
    "a": "No. We are your authorized representative under a Power of Attorney you sign and control. You can revoke it at any time. FSA — not us — makes every eligibility and payment determination."
   },
   {
    "q": "What does it cost?",
    "a": "Flat fee per released pack: $1,200-$2,500 standard, $2,500-$5,000 for a multi-program bundle, $800 pilot pricing for the first cohort. The Eligibility Screen is free. Never hourly, never a percentage of what you recover."
   },
   {
    "q": "Can this work outside SDRP Stage 2?",
    "a": "Yes, as a second line: NAP and the annual crop-insurance claims cycle recur regardless of SDRP's one-time window, and a Next-Cycle Monitor alerts you when a new disaster program opens for your county."
   }
  ],
  "process": [
   {
    "title": "Intake: send your farm's records",
    "body": "Send your yield-monitor export or elevator settlement sheets, insurance policy summary, FSA-578 acreage report, and sign a limited FSA-211 authorization so we can file as your agent. Each document is logged and hashed on arrival; missing items are flagged before any work starts, not after."
   },
   {
    "title": "Run the multi-program eligibility screen",
    "body": "We screen your farm against SDRP Stage 2, NAP, and ERP eligibility rules in parallel to protect the five-business-day cycle time, and build an eligibility matrix from the results, with every program tied to a rule-library version."
   },
   {
    "title": "Draft and score in deterministic rules",
    "body": "AI drafts the eligibility memo and populates FSA-504 and required supporting forms from your structured data. Deterministic code — not a language model — confirms every required field is present, ties the claimed loss to your own records, sets the filing-window deadline, and screens for AGI-eligibility and multi-entity structure gaps."
   },
   {
    "title": "Specialist release gate",
    "body": "An agricultural-loss documentation specialist certifies every release. Anything ambiguous — unconfirmed acreage, an incomplete search, a coverage dispute, or a high-value or multi-entity filing — is held for senior review or routed to your own licensed adjuster before anything ships."
   },
   {
    "title": "Deliver and calendar",
    "body": "The Completeness Pack PDF, filed confirmation once submitted, and a filing-window calendar are delivered the day the pack releases."
   }
  ],
  "northStarCta": {
   "label": "Start a free Eligibility Screen",
   "href": "#diagnostic",
   "secondary_label": "See what's in the pack",
   "secondary_href": "#deliverables"
  },
  "trust": {
   "standards": [
    "Documentation-completeness service — not a licensed insurance adjuster, agent, or attorney",
    "Every eligibility claim traces to a rule-library version; gaps ship as explicit notes",
    "Specialist release on every pack; second-specialist review on high-value or first-time-program filings"
   ],
   "response_time": "5 business days from complete intake",
   "data_handling": "Per-farm isolated files, least-privilege access, hash-stamped originals, audit trail retained through the FSA/NAD appeal window"
  },
  "hook": "Free 5-minute check tells you if your farm qualifies for SDRP Stage 2 — file it before August 12, 2026.",
  "sub_headline": "You send your farm's yield records, insurance policy, and acreage report. You get back a specialist-released Completeness Pack — FSA-504 and every supporting form, an indexed evidence bundle, and your filing-window calendar — in five business days, flat fee.",
  "dream_outcome": "A filing-ready, audit-ready SDRP Stage 2 pack that gets filed cleanly before the deadline — so a real crop loss becomes a filed claim, not a missed one.",
  "specific_pains": [
   "A farm took a 2023 or 2024 shallow loss, and nobody has drafted the FSA-504 filing or confirmed whether insurance already covered it — the file just says 'check later.'",
   "Ask for the eligibility record on a farm's disaster claim and someone opens a folder of PDFs — that is the record an FSA completeness reviewer would find first.",
   "A general model can draft a plausible-looking eligibility memo; only a versioned rules-library screen with a specialist release produces a pack a later FSA completeness request won't unwind.",
   "The farm is also NAP-covered on some acreage, so a second program may apply — miss that segment and you've filed for the wrong program on part of the farm.",
   "An FSA reviewer reads the file as a package: eligibility memo, populated forms, evidence bundle, and the filing-window calendar. Miss any piece and the packet comes back incomplete."
  ],
  "cost_of_inaction": "Every week without a filed pack is a week closer to the August 12, 2026 deadline passing with that program-year's relief unclaimed. A defective or incomplete filing is worse: FSA sends the whole packet back for incompleteness, costing days you don't have.",
  "mechanism": {
   "name": "The AgReliefClear SDRP Stage 2 completeness-pack factory",
   "steps": [
    {
     "title": "Intake: send your farm's records",
     "body": "Send your yield-monitor export or elevator settlement sheets, insurance policy summary, FSA-578 acreage report, and sign a limited FSA-211 authorization so we can file as your agent. Each document is logged and hashed on arrival; missing items are flagged before any work starts, not after."
    },
    {
     "title": "Run the multi-program eligibility screen",
     "body": "We screen your farm against SDRP Stage 2, NAP, and ERP eligibility rules in parallel to protect the five-business-day cycle time, and build an eligibility matrix from the results, with every program tied to a rule-library version."
    },
    {
     "title": "Draft and score in deterministic rules",
     "body": "AI drafts the eligibility memo and populates FSA-504 and required supporting forms from your structured data. Deterministic code — not a language model — confirms every required field is present, ties the claimed loss to your own records, sets the filing-window deadline, and screens for AGI-eligibility and multi-entity gaps."
    },
    {
     "title": "Specialist release gate",
     "body": "An agricultural-loss documentation specialist certifies every release. Anything ambiguous — unconfirmed acreage, an incomplete search, a coverage dispute, or a high-value or multi-entity filing — is held for senior review or routed to your own licensed adjuster before anything ships."
    },
    {
     "title": "Deliver and calendar",
     "body": "The Completeness Pack PDF, filed confirmation once submitted, and a filing-window calendar are delivered the day the pack releases."
    }
   ]
  },
  "offer_stack": [
   {
    "item": "Completeness Pack per farm, per program-year",
    "note": "eligibility memo, populated FSA-504 and supporting forms, indexed evidence bundle, filing-window calendar, specialist release"
   },
   {
    "item": "Multi-program eligibility screen",
    "note": "SDRP Stage 2, NAP, and ERP screened together, tied to a rule-library version; a program we can't confirm eligibility for ships as an explicit note, never a guess"
   },
   {
    "item": "Specialist release on every pack",
    "note": "an agricultural-loss documentation specialist certifies completeness; a second specialist reviews any farm over the top-quartile claimed loss or a first-time-program filing"
   },
   {
    "item": "FSA-211-authorized filing",
    "note": "submitted directly to your county FSA office under your signed Power of Attorney"
   },
   {
    "item": "Insurance Claim Evidence Coordination add-on",
    "note": "for use alongside any formal insurance claim: organized, indexed evidence handed to your own licensed adjuster — never an adjustment"
   }
  ],
  "guarantee": "If a filed pack is missing any required FSA-504 field or a program screen we committed to run, we correct and refile it at no charge. The guarantee covers documentation completeness against the checklist we deliver against — not any legal or payment outcome, or that FSA will approve the claim. Cancel before filing for a full refund of the pack fee.",
  "urgency": "The filing window closes at close of business August 12, 2026 for both SDRP Stage 1 and Stage 2 — every week of delay is a week closer to forfeiting that program-year's relief entirely.",
  "objections": [
   {
    "q": "\"Aren't you a law firm, or giving legal advice?\"",
    "a": "No. AgReliefClear is a documentation-completeness service. We prepare the filing and run the eligibility screen as your authorized agent under FSA-211; we don't advise on legal disputes or represent you at a hearing. For a NAD appeal or a genuine legal dispute, we refer you to qualified agricultural legal counsel."
   },
   {
    "q": "\"Aren't you a debt collector? Will you contact my insurer?\"",
    "a": "Never. We do not contact your insurer to dispute a determination. You remain the applicant of record, and only your own licensed adjuster makes any coverage decision. Staying on the documentation side of the line keeps this a preparation service, not an adjustment service."
   },
   {
    "q": "\"Doesn't farm accounting software already handle this?\"",
    "a": "Farm software (FarmRaise, Ambrook) is great at tracking programs and grants. It does not screen multi-program eligibility, populate FSA-504 and its supporting forms, or file on your behalf under a Power of Attorney. That's the specific gap we fill."
   },
   {
    "q": "\"Will we be relying on an AI-drafted filing with no human check?\"",
    "a": "No. Every packet is reviewed and signed off by a named agricultural-loss documentation specialist before it's filed. AI drafts; a human authorizes."
   }
  ],
  "who_this_is_not_for": [
   "Farms that want us to dispute their insurer's coverage determination directly — that's your own licensed adjuster's role; we organize evidence, never adjust.",
   "Buyers looking for a \"guarantee FSA approves the claim\" — we decline that engagement and document the ask; nobody can honestly sell it.",
   "Farms with no 2023/2024 qualifying loss or ineligible county — the free Eligibility Screen will say so at no cost."
  ],
  "proof_pillars": [
   {
    "title": "Multi-program screen, tied to evidence",
    "body": "Every eligibility claim traces to a rule-library version and a source document in the evidence log. A program we can't confirm eligibility for is an explicit note, not a silent omission."
   },
   {
    "title": "Specialist-released, every time",
    "body": "No pack auto-files. A named agricultural-loss documentation specialist certifies every pack; a second specialist reviews any high-value or first-time-program filing — attesting to documentation completeness only, never as your legal representative."
   },
   {
    "title": "Form-locked, field by field",
    "body": "Every required FSA-504 field and the filing-window deadline are checked in deterministic code against the current rules library — the pack renders the checklist, it doesn't describe it."
   }
  ],
  "stakes_line": "Undocumented means unfiled: FSA reads the whole packet, and a missing form sends it back for incompleteness — with the clock still running.",
  "deliverable": "Completeness Pack",
  "unit_of_work": "pack run",
  "lexicon": {
   "regulator": "FSA",
   "regulator_full": "USDA Farm Service Agency",
   "statute": "SDRP Stage 2 (American Relief Act, 2025)",
   "statute_frame": "the intake-to-pack workflow where an unfiled pack is a self-inflicted forfeiture risk on the farmer's own disaster-relief dollars.",
   "persona": "Farm operator",
   "persona_moment": "You're the operator of a 640-acre corn and soybean farm. A spring freeze knocked out part of this year's stand, and your crop insurance only partially covered it. Someone needs an SDRP Stage 2 completeness pack that will actually get filed correctly — with every required form and every piece of evidence in place — before August 12.",
   "trigger_moment": "a 2023 or 2024 weather-related loss that insurance didn't fully cover, or an operator unsure whether they qualify for a stacked federal program",
   "enforcement_stakes": "a missed deadline forfeits that program-year's federal relief entirely (outcomes vary case-by-case and are never guaranteed)",
   "retention": "the full audit trail of the filing and any FSA completeness request",
   "cta_verb": "Start a free Eligibility Screen",
   "intake_checklist": [
    "Crop-insurance policy summary of coverage or NAP coverage documentation, exactly as it stands",
    "Yield-monitor export or elevator/gin settlement sheets for the loss year",
    "FSA-578 acreage report (current or most recent on file)",
    "Disaster-event documentation (county drought rating or declared-disaster reference)"
   ],
   "regulator_faqs": [
    {
     "q": "Does FSA know AgReliefClear is filing on my behalf?",
     "a": "Yes — your signed FSA-211 Power of Attorney is filed with your county FSA office before we submit anything, so FSA has your explicit, on-record authorization."
    },
    {
     "q": "Will FSA treat a specialist-filed pack differently than a self-filed one?",
     "a": "No — FSA evaluates the same FSA-504 and supporting forms regardless of who prepares them. What changes is completeness: a specialist-reviewed pack is far less likely to come back for an incompleteness request."
    }
   ],
   "trust_standards_specific": [
    "[PLACEHOLDER] owner to complete"
   ]
  },
  "proof_angle": {
   "id": "audit-readiness",
   "headline": "The next FSA completeness request lands on a file, not a scramble — AgReliefClear holds the appeal-window trail at rest.",
   "lever": "AgReliefClear stores every eligibility decision — source rule version, locked method, releaser — in a farm-indexed register a specialist can walk without your help.",
   "outcome_verb": "answer",
   "outcome_frame": "answer an FSA completeness request in a day instead of a week",
   "proof_promise": "The filing register is the completeness-request answer — read-only, hash-stamped, and reproducible the day the letter arrives."
  },
  "indexable": true,
  "ubiquitousLanguage": {
   "audience": "row-crop and specialty-crop farm operators (200-3,000+ acres)",
   "domain": "federal farm disaster-program and crop-insurance claims documentation (SDRP Stage 2, 7 CFR part 760)",
   "deliverable": "Completeness Pack + specialist release (agricultural legal counsel referral on denied/appealed filings)",
   "reviewer": "agricultural-loss documentation specialist",
   "record": "filing history register (program-cycle tracking with renewal triggers)",
   "unit_of_work": "pack run",
   "cta_primary": "Start a free Eligibility Screen",
   "cta_secondary": "See what's in the pack",
   "regulator": "FSA",
   "regulator_full": "USDA Farm Service Agency",
   "statute": "SDRP Stage 2 (7 CFR part 760, American Relief Act 2025)",
   "trigger_moment": "a 2023/2024 weather-related loss not fully covered by insurance, with the Aug 12 2026 filing deadline approaching",
   "event_intake_started": "farm_disaster_relief_claims_completeness_pack_engine_intake_started",
   "event_conversation_requested": "farm_disaster_relief_claims_completeness_pack_engine_conversation_requested"
  }
 },
 "evidence": [
  {
   "id": "farm-disaster-relief-claims-completeness-pack-engine-e1",
   "business_slug": "farm-disaster-relief-claims-completeness-pack-engine",
   "area": "Identity",
   "claim_or_finding": "Operating entity declared: Your Deputy, Obuke LLC, 924 W 23rd St., Erie, PA 16502 (support@yourdeputy.com); AgReliefClear is its service brand.",
   "status": "verified",
   "evidence": "Owner-supplied entity, registered address, and support email; reflected in the landing-page footer, disclaimers, and Organization structured data.",
   "verification_command": "Owner submits entity + jurisdiction pack.",
   "fix_owner": "owner",
   "remediation": "Resolved — entity, address, and contact declared. Remaining owner action: formal trademark/entity-name clearance for AgReliefClear before scaling.",
   "severity": "info"
  },
  {
   "id": "farm-disaster-relief-claims-completeness-pack-engine-e2",
   "business_slug": "farm-disaster-relief-claims-completeness-pack-engine",
   "area": "Trust boundary",
   "claim_or_finding": "Public page is a validation microsite for a documentation-support service; not a law firm, not a licensed insurance adjuster, and not a USDA/FSA representative.",
   "status": "verified",
   "evidence": "Microsite carries explicit trust-boundary and documentation-support-only disclaimer block.",
   "verification_command": "Inspect /farm-disaster-relief-claims-completeness-pack-engine/ for trust boundary.",
   "fix_owner": "engineering",
   "remediation": "None — enforced by template.",
   "severity": "low"
  },
  {
   "id": "farm-disaster-relief-claims-completeness-pack-engine-e3",
   "business_slug": "farm-disaster-relief-claims-completeness-pack-engine",
   "area": "SEO integrity",
   "claim_or_finding": "No fabricated review, rating, or aggregateRating schema; no unclaimed-funds dollar figure without primary-source support (the blueprint's original $10.3B figure was retired this build after fresh verification — see area 'Market figure revision' below). A Service/Organization node is emitted and is permitted because it reflects the real operating entity (Your Deputy, Obuke LLC).",
   "status": "verified",
   "evidence": "FAQPage + Service (with a real-entity Organization provider) schema generated; no review/rating/aggregateRating; marketing-compliance gate applied.",
   "verification_command": "View SEO Factory row for farm-disaster-relief-claims-completeness-pack-engine",
   "fix_owner": "engineering",
   "remediation": "None — enforced by SEO factory.",
   "severity": "low"
  },
  {
   "id": "farm-disaster-relief-claims-completeness-pack-engine-e4",
   "business_slug": "farm-disaster-relief-claims-completeness-pack-engine",
   "area": "Market figure revision",
   "claim_or_finding": "The source blueprint's headline \"$10.3B unclaimed under Stage 2\" (from an April 2026 AgWeb article) is stale as of this build. On Apr 24, 2026 USDA doubled the SDRP payment factor from 35% to 70%; the Farm CPA Report (Apr 27, 2026, same expert cited in the blueprint) recalculates implied Stage 1 disbursement at ~$13.4B of the $16.09B total allocation, materially shrinking the pool available for Stage 2. No primary USDA/FSA source states a current precise Stage-2-remaining figure.",
   "status": "verified",
   "evidence": "USDA press release (Apr 24, 2026); FSA SDRP Stage 2 program page (May 2026); Farm CPA Report (Apr 27, 2026) recalculation; cross-checked against farmersnavigator.com program summary.",
   "verification_command": "Re-fetch usda.gov and fsa.usda.gov SDRP pages; compare stated payment factors and deadline against this build's copy.",
   "fix_owner": "owner",
   "remediation": "Retired the \"$10.3B\" figure from every artifact in this build. Landing page, GTM kit, and DNA now cite only verified primary facts ($6.7B paid to date, 70%/75% payment factors, payment caps, Aug 12 2026 deadline). Owner notified this run per the material-contradiction trigger.",
   "severity": "medium"
  },
  {
   "id": "farm-disaster-relief-claims-completeness-pack-engine-e5",
   "business_slug": "farm-disaster-relief-claims-completeness-pack-engine",
   "area": "Licensing boundary",
   "claim_or_finding": "AgReliefClear never adjusts an insured crop loss (a state-licensed crop/independent adjuster's exclusive function) and never guarantees an FSA or insurance payment outcome.",
   "status": "verified",
   "evidence": "California DOI and Washington OIC crop-insurance adjuster licensing pages; verbatim disclaimer present on landing page, compliance-checklist.md, and engagement-letter outline.",
   "verification_command": "Inspect /farm-disaster-relief-claims-completeness-pack-engine/ compliance section and builds/farm-disaster-relief-claims-completeness-pack-engine/compliance-checklist.md for verbatim disclaimer.",
   "fix_owner": "engineering",
   "remediation": "None — enforced by template and manual review.",
   "severity": "low"
  }
 ],
 "seo_pages": {
  "id": "seo-farm-disaster-relief-claims-completeness-pack-engine",
  "business_slug": "farm-disaster-relief-claims-completeness-pack-engine",
  "route": "/farm-disaster-relief-claims-completeness-pack-engine",
  "title": "AgReliefClear — SDRP Stage 2 farm disaster claim completeness packs",
  "description": "AgReliefClear for row-crop and specialty-crop farm operators. Filed, submission-ready SDRP Stage 2 Completeness Packs from a farm's own yield and insurance records — flat fee, five business days.",
  "canonical": "/farm-disaster-relief-claims-completeness-pack-engine",
  "og_title": "AgReliefClear — Farm Disaster & Crop-Loss Claims Completeness Pack Engine",
  "og_description": "AgReliefClear for row-crop and specialty-crop farm operators. Filed, submission-ready SDRP Stage 2 Completeness Packs from a farm's own yield and insurance records — flat fee, five business days.",
  "schema_type": "FAQPage",
  "schema_status": "pending-owner-facts",
  "sitemap_include": false,
  "noindex": true
 },
 "vertical_style": {
  "accent": "harvest-amber",
  "signature": "Filing-desk tabs with a program-eligibility chip",
  "layout": "Filing desk index",
  "anti": "Wheat clip-art, tractor icons, and alarm-red penalty banners"
 },
 "canva": {
  "slug": "farm-disaster-relief-claims-completeness-pack-engine",
  "territory": "Filing Desk",
  "family": {
   "id": "agri-compliance",
   "name": "Agriculture / federal disaster-program",
   "motion": "calm"
  },
  "tokens": {
   "brand": "32 78% 34%",
   "brand-fg": "45 60% 96%",
   "surface": "42 45% 95%",
   "ink": "28 35% 12%",
   "muted": "30 20% 38%",
   "accent": "128 39% 31%"
  },
  "type": {
   "display": "Libre Caslon Text",
   "body": "Source Sans 3",
   "fonts_url": ""
  },
  "scale": {
   "h1": "clamp(2.5rem, 5.5vw, 4.25rem)",
   "h2": "clamp(1.75rem, 3vw, 2.5rem)",
   "h3": "clamp(1.25rem, 2vw, 1.5rem)",
   "body": "clamp(1rem, 1.1vw, 1.125rem)",
   "small": "0.8125rem",
   "tracking_display": "-0.02em",
   "tracking_body": "-0.005em",
   "weight_display": 700,
   "weight_body": 450
  },
  "spacing": {
   "card_padding": "1.75rem",
   "card_radius": "0.25rem",
   "card_shadow": "0 0 0 1px hsl(var(--ink) / 0.08)",
   "section_gap": "clamp(3.5rem, 8vw, 6.5rem)",
   "hero_gap": "clamp(1.25rem, 2vw, 2rem)"
  },
  "layout": {
   "hero": "split-primary",
   "card": "elevated-soft",
   "cta": "solid-brand",
   "archetype": "magazine",
   "card_silhouette": "flat-outline",
   "button_geometry": "rounded"
  },
  "background": {
   "hero_gradient": "radial-gradient(1200px 600px at 10% -10%, hsl(32 78% 34% / 0.16), transparent 60%), radial-gradient(900px 500px at 90% 10%, hsl(128 39% 31% / 0.12), transparent 55%)",
   "cta_gradient": "linear-gradient(135deg, hsl(32 78% 34%), hsl(128 39% 31%))",
   "section_wash": "linear-gradient(180deg, hsl(42 45% 97%) 0%, hsl(32 78% 34% / 0.04) 100%)"
  },
  "motif": "Filing pack cover + program-eligibility matrix row"
 },
 "capabilities": {
  "marketing": true,
  "portal": false,
  "ops": true,
  "chatbot": true,
  "payments": false
 },
 "generated_at": "2026-07-13T06:35:00Z",
 "checksum": "sha256:38c0b044895ced95"
}