FP-5 feature-preservation release evidence¶
The FP-5 regression gate runs the exact test nodes in feature-preservation-contract.json, collects them before execution, rejects deselection, skip and XFAIL, and emits the checked-out revision plus the SHA-256 of the installed generated-scaffold artifact. It proves only the scoped outcomes named there: governed run/stream egress, Anthropic system cache serialization and history, durable continuation, metacognition failure handling, and a full generated app's API, worker and deployment extension.
The generated app is installed from a fresh sdist and has no checkout path on PYTHONPATH. Its offline journey runs API chat and drained stream, a direct generated-host stream and HMS write/flush/recall, the generated Celery worker's DEEP phase execution in a fresh process, then a separate-process SQLite pause/resume extension with a real token-to-scope resolver. The worker scenario proves phase execution only: the scaffold's configured fallback is in-memory, so it does not claim persisted maintenance or promotion parity. The standard scaffold still refuses ASK_USER_ENABLED because a durable port and authenticated resolver are deployment facts; the tested extension uses the public build_agent(extra_capabilities=..., continuation_factory=...) seam rather than pretending that setting is wired.
python scripts/feature_preservation_gate.py --mode regression may be green. It is not release closure. --mode migration-closure remains deliberately nonzero while the inventory reports unresolved, unverified, admitted-but-inactive, or missing-outcome rows. The command's evidence JSON names every such row with its existing owner. There are no approved behavior-change exceptions in this contract, because no product decision evidence was supplied.
The compatibility window remains the documented 9.12 release line; 10.4 is a retirement-contract bound, not a shipped release. This ticket creates no deployment authorization.