Sourcing Opportunity Intelligence

Deterministic, seam-validated procurement opportunity scoring — backend scaffold.

Status: backend prepped, engine pending

The contracts (src/schemas), the runScore chokepoint, the snapshot hasher, the config loader, the export redaction guard, and the floor-capable ports are in place and pinned by evals. The factor seams (identity → spend → contracts → sourcing → scoring) are stubbed and emit zero rows until built — see CLAUDE.md for the build order.

API

/api/opportunities — returns the validated OpportunityScore[] (empty until the engine seams land). Add ?as_of=YYYY-MM-DD to score against a reference date.