Why: The O2 P1 paid A01 run must not silently run without the route contract. Today, if the protected route file configures routeContractEOF but production's rule (runtime.RouteContractFor) does not attach it (wrong digest, model or base URL), the eval runs on the legacy [DONE] path and wastes the paid budget.
Evidence: Change is test-only under build tag live. Implemented by agent-exec unit o2-p1b-eval-contract-failfast (cursor, fresh rerun authorized after a pre-start Cannot use this model: auto failed-unknown with zero changes). Host checks on ddb6e29: gofmt -l internal/server empty; go vet -tags live ./internal/server and go vet ./internal/server pass; go test -tags live -run TestEvalRouteContract ./internal/server ok. CI (SQLite, untagged) is authoritative for the default build.
Impact: In model mode, TestServeWorkCheckpointEval now fails with the fixed message "route contract configured but not attached" (no config values) before any provider stream is created. Routes without routeContractEOF are unchanged. No production code changes.
Refs: Dev plan docs/superpowers/plans/2026-10-19-fast-slow-o2-route-contract-eof-plan.md §5 P1; approved P1 resource proposal (sha256 03f401b4…).
Why: The O2 P1 paid A01 run must not silently run without the route contract. Today, if the protected route file configures `routeContractEOF` but production's rule (`runtime.RouteContractFor`) does not attach it (wrong digest, model or base URL), the eval runs on the legacy `[DONE]` path and wastes the paid budget.
Evidence: Change is test-only under build tag `live`. Implemented by agent-exec unit `o2-p1b-eval-contract-failfast` (cursor, fresh rerun authorized after a pre-start `Cannot use this model: auto` failed-unknown with zero changes). Host checks on ddb6e29: `gofmt -l internal/server` empty; `go vet -tags live ./internal/server` and `go vet ./internal/server` pass; `go test -tags live -run TestEvalRouteContract ./internal/server` ok. CI (SQLite, untagged) is authoritative for the default build.
Impact: In model mode, `TestServeWorkCheckpointEval` now fails with the fixed message "route contract configured but not attached" (no config values) before any provider stream is created. Routes without `routeContractEOF` are unchanged. No production code changes.
Refs: Dev plan docs/superpowers/plans/2026-10-19-fast-slow-o2-route-contract-eof-plan.md §5 P1; approved P1 resource proposal (sha256 03f401b4…).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why: The O2 P1 paid A01 run must not silently run without the route contract. Today, if the protected route file configures
routeContractEOFbut production's rule (runtime.RouteContractFor) does not attach it (wrong digest, model or base URL), the eval runs on the legacy[DONE]path and wastes the paid budget.Evidence: Change is test-only under build tag
live. Implemented by agent-exec unito2-p1b-eval-contract-failfast(cursor, fresh rerun authorized after a pre-startCannot use this model: autofailed-unknown with zero changes). Host checks onddb6e29:gofmt -l internal/serverempty;go vet -tags live ./internal/serverandgo vet ./internal/serverpass;go test -tags live -run TestEvalRouteContract ./internal/serverok. CI (SQLite, untagged) is authoritative for the default build.Impact: In model mode,
TestServeWorkCheckpointEvalnow fails with the fixed message "route contract configured but not attached" (no config values) before any provider stream is created. Routes withoutrouteContractEOFare unchanged. No production code changes.Refs: Dev plan docs/superpowers/plans/2026-10-19-fast-slow-o2-route-contract-eof-plan.md §5 P1; approved P1 resource proposal (sha256 03f401b4…).