Given prediction-ledger-seed.csv,
when import runs,
then rows with prediction_id, expected_signal_type, expected_by, and risk_tier are accepted.
Pass: accepted_rows >= 3 and schema_errors = 0.
Given a prediction expects github_commit,
when a commit signal appears with matching project_id and semantic overlap,
then prediction_evidence_links.match_strength >= 0.7.
Pass: evidence link is created with source_type github_commit.
Given evidence link strength >= 0.7 before expected_by,
when scoring runs,
then verdict is hit or partial based on rubric.
Pass: hit_score >= 70 for hit, 40-69 for partial.
Given hit_rate < 60% or evidence_coverage < 80% after 20 predictions, when watchdog runs, then people_sync alert is generated for Louis/zihrou/iron.
Pass: alert includes metric, threshold, owner, due date, and remediation.
Given risk_tier = high,
when auto verdict would change project state,
then verdict is marked needs_human_review.
Pass: no high-risk project state changes without Louis or zihrou approval.
- HTML Eval Console is openable.
- JSON learning memory parses.
- Gist returns HTTP 200.
- Gist file list includes required files.
- PLS upload-files reports uploaded files.