What shipped
A runnable Python 3.11+ standard-library CLI with sample-desk, generate-receipts, and validate-desk. The deterministic sample creates one fictional race, exactly six ads, seven creative versions, verified local captures, three public-record styles, a reviewer-supplied AI-depiction disclosure observation, one evidence-backed resolved creative-change finding, and an unresolved payer/filing evidence chain.
Generation produces the weekly brief, ranked queue, spend/creative map, disclaimer matrix, source-gap checklist, six internal JSON receipts, six separately allowlisted client-safe Markdown receipts, and a machine-readable graph/index. Nine fixed finding codes, explicit severities, stable hash IDs, strict paths/timestamps/hashes/foreign keys, reconciliation validation, and negative mutation tests enforce the evidence boundary.
Architecture
- Five local stages: strict load/validation, deterministic identity/normalization, rule evaluation, separate internal and client renderers, and output reconciliation.
- Operator IDs are preserved; receipt and finding IDs are canonical SHA-256 derivatives.
- Inputs stay immutable and outputs contain no wall-clock time, making identical runs byte-identical.
- Client-safe receipts are constructed from an allowlist rather than redacted from internal JSON.
- The parent watchboard contributes only a narrow copied fixture contract. There is no runtime dependency on any prior build.
Trimmed scope
One race, one reviewed rule reference, manual local evidence, and the specified receipt artifacts only. There is no UI, database, hosted service, live adapter, scraping, OCR/transcription, media classification, automated rule research, multi-race operation, scoring, or publication workflow.
Limitations
Hashes prove local byte identity, not truth or authenticity. URLs are locators, not preserved evidence. Human-entered descriptions can still contain sensitive or incorrect material, so automated client-safe checks cannot replace editorial review. The operational rule registry is research metadata rather than legal advice. The simple version contract prevents duplicate (ad_id, version_number) rows and hash drift in the current workspace but is not a signed historical ledger.
Verification
From the build root, run bash verify.sh. No credentials, environment configuration, installed runtime packages, parent checkout, or network access are required.
Suggested next steps
- Run a paid, buyer-supplied sanitized one-race scan and record which manual fields cause repeated friction.
- Add a vendor-specific import only after that export format is stable and requested for repeat delivery.
- Consider signed prior-generation manifests if customers need cross-workspace historical immutability.
- Expand jurisdictional rule maintenance only with named human ownership and review cadence.