# Sentinel MatchFlight > A deterministic, shell-first evidence-lineage flight recorder for autonomous decisions. ## Run locally npm ci npm run build npm run matchflight -- replay --input fixtures/correction-goal.ndjson --output artifacts/correction-report.json npm run matchflight -- verify --report artifacts/correction-report.json ## Public machine artifacts - Agent contract: ./.well-known/matchflight-agent.json - Static replay: ./demo-sequence.json - Synthetic fixture: ./fixtures/correction-goal.ndjson - Derived report: ./artifacts/correction-report.json - Correction receipt: ./artifacts/correction-receipt.json ## Optional asynchronous service handoff - Service ID: 48-hour-agent-payment-failure-reproduction-sprint - Catalog: https://terminallylazy.github.io/sentinel-recovery-support/services.json - Request contract: https://terminallylazy.github.io/sentinel-recovery-support/service-request.json A request moves no funds and authorizes no payment. The fixed-scope sprint is asynchronous, requires no meeting, and requires a separately human-approved SOW and invoice before work or payment. ## Boundary The public demo is synthetic and data-use-only. MatchFlight does not wager, trade, sign, settle, hold custody, verify settlement, authenticate a source, or assert an official result. Its SHA-256 values are unkeyed reproducibility checks, not signatures.