Files
ai-contract-platform/project-docs/V2-provider-promotion-field-evidence-2026-08-12.md
T
yuqei a0887884a8
Build and Test Quality Gate / Contract Web typecheck and build (pull_request) Successful in 5m47s
Build and Test Quality Gate / Python tests and Contract API migration (pull_request) Failing after 29m18s
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Successful in 10m7s
chore: close provider promotion field evidence
2026-08-12 00:30:29 +08:00

4.2 KiB

V2 Provider Promotion Field Evidence

Date: 2026-08-12 Scope: shared-staging signed receipt promotion, production read-only verification, and the two-node control drills.

Result

The dynamic Provider promotion gate passed on two independent nodes. Both nodes reported the same immutable release, receipt, signing key, and image digest. Receipt-key revocation propagated to both nodes in 2.64 seconds, within the 60-second drill SLA. The kill switch was restored to the fail-closed state (true) after the canary.

This evidence does not authorize public traffic. The production edge container was not started, DNS and traffic were not changed, and the production readiness gate is intentionally blocked by the restored kill switch. Identity execution, support access, and destructive identity-write APIs remain disabled.

Promotion Identity

Item Value
release d6a6752258a555f3a40894cdcf88917659538492
Provider ccswitch / gpt-5.6-sol
wire API responses
fallback disabled
acceptance run provider-acceptance-41663d1022d3f656769ed757
receipt provider-receipt-de755dae13b02c79bdce5302
receipt SHA-256 6602584347833b389c1d714a4ce08ccffdcbbc8c289657d2d9bd3bff5c6e70c7
promotion bundle SHA-256 ee7ffc871026ac56bdf2747f41484c712a037d89eef21fe1537d56b372a669ee
receipt signing key provider-acceptance-2026q3
AI image digest sha256:05faf2aa67d258708387daa7007442928b8d786814f1c5e8a619db4b1ae9d8b3
prompt runtime fingerprint 1217c23e17764684531198d7c3201e18c6af19429e6773a28e0f6cada34ec87d

The named legal approval was verified offline against the exact approved payload c3246b5b7ba5b98604acf3e7f49c3186ad79a7e77426d272c0e2745e4e230702. The approval covers 10 knowledge cards, 18 Provider results, and 31 product golden assets.

Field Evidence

Check Result Local evidence SHA-256
Initial two-node kill switch passed; both nodes blocked c462064c9fd99b2fd02bec2b76f8a506abf07e8206bd4ed27e1135e2b8676d
Receipt key revocation passed; both nodes observed receipt signing key is revoked ea11e27302b9852e4e9387e871fd8260bcb83129b9817443b4373f1752d91008
Two-node read-only canary passed; both nodes ready, acceptance verified, release allowed 28300c61073cedb5ee4af2f6b1ee85cba7e24290d00b23f6a9f754a0708e5631
Final fail-closed restore passed; both nodes blocked, kill switch active b048ba2c03a53e8ee87e107b0cfda649eb6e7c12102892726dd2b8f24ef1d6d

The revocation drill changed only the receipt keyring in memory on each node, restored the original bytes in a finally path, and verified the original keyring SHA-256 on both nodes as 1af246affb53f244681723ea328d49babcfdeedff24fdee48cfc50160ecf388d.

The second node restored the AI PostgreSQL dump into an isolated canary database and enforced default_transaction_read_only = on. Its AI API was bound to loopback only and reached through the WireGuard/SSH verification path; no public listener was created.

Backup and Recovery

Backup backup-20260811T152805Z completed with three PostgreSQL dumps, Contract file archive, manifest checksums, and three one-time restore databases. The restore verifier used database-owned markers contract_api_alembic_version and ai_platform_alembic_version, plus a public-table count for operations. Temporary restore databases were removed.

Code Regression

  • Infra Provider/promotion and production release tests: 72 passed.
  • Contract Web API base-path regression: 6/6 passed.
  • Contract Web TypeScript typecheck: passed.
  • Python compileall and git diff --check: passed.
  • Production Contract and AI APIs, workers, PostgreSQL, Redis, and MinIO: healthy at closeout.
  • Public edge container: absent by design.

Remaining Release Boundary

The Provider promotion evidence is closed. Formal public production launch remains a separate decision: first complete the production Web/edge and TLS/DNS cutover review, observability and rollback sign-off, and the independent support-access gates (external IdP/MFA, session binding, real-resource TOCTOU, immutable per-request audit, privacy/legal approval). Until then, keep the kill switch active and do not add or enable an identity execute API.