Files
ai-contract-platform/project-docs/V2-rc-freeze-2026-07-20.md
T
yuqei 45608f436f
Build and Test Quality Gate / Contract Web typecheck and build (pull_request) Successful in 6m38s
Build and Test Quality Gate / Python tests and Contract API migration (pull_request) Successful in 13m55s
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Successful in 10m12s
ci: keep contract test databases off overlay storage
2026-07-20 22:00:25 +08:00

4.7 KiB

AI Contract Platform V2 RC Freeze - 2026-07-20

Decision

The current candidate is frozen for release review under tag v2-rc-20260720.3. After the tag is created, only blocking bug fixes, tests, deployment configuration, and release documentation may be added. New product features and schema changes are outside this RC.

This freeze does not authorize production traffic. The candidate is approved for smoke and production-candidate validation only.

Candidate scope

  • Branch: codex/v2-rc-20260712
  • Pre-freeze parent: 57fc8d35
  • Contract API migration head: 20260713_0031
  • AI Platform migration head: 20260703_0021
  • Authoritative smoke host: 192.168.3.90
  • Compose project: yuqei-contract-v2-smoke
  • Remote directory: /opt/apps/ai-contract-platform-v2-smoke

The final candidate includes the production identity-security controls, production deployment/backup/health-check tooling, AI Provider acceptance tooling, authenticated review-worker integration, ambient-proxy isolation for internal AI Platform calls, and per-key single-flight protection for Contract API read-cache misses.

Tag v2-rc-20260720.3 supersedes v2-rc-20260720.2, v2-rc-20260720.1, and v2-rc-20260720. The earlier tags remain immutable. This follow-up keeps the cross-platform UTF-8 source-scan fix and adds CI-only Contract API test resource cleanup: SQLite test files use the runner's tmpfs and each test closes its client and SQLAlchemy engine, preventing Docker overlay I/O from masking the quality gate.

Verification evidence

Gate Result Evidence
Docker smoke Pass project-docs/qa-artifacts/v2-smoke-docker-deploy/2026-07-20T17-47-25
Contract API schema-check Pass (status=ok) project-docs/qa-artifacts/v2-release-quality-gate/2026-07-20T18-20-08/contract_api-schema-check.json
AI Platform schema-check Pass; only the intentional smoke provider_runtime warning project-docs/qa-artifacts/v2-release-quality-gate/2026-07-20T18-20-08/ai_platform_api-schema-check.json
Release quality gate Pass project-docs/qa-artifacts/v2-release-quality-gate/2026-07-20T18-20-08
Remote core user flow Pass; browser console errors 0 project-docs/qa-artifacts/v2-core-regression/2026-07-20-smoke-pass2/core-user-flow-summary.json
Source secret scan Pass; 46 reviewed candidates, 0 new findings, 0 stale baseline entries project-docs/qa-artifacts/v2-source-secret-scan/2026-07-20T21-07-30/source-secret-scan-summary.json
Security scan Pass; npm 0, Bandit 0, pip-audit 0 project-docs/qa-artifacts/v2-security-scan/2026-07-20T18-45-00

Local verification also passed the complete Contract API suite, AI Platform API, worker, Python SDK and production release-tool tests. Contract Web production build and typecheck passed with 83 generated routes.

Performance baseline

The release gate ran 60 requests per scenario at concurrency 6 with zero HTTP errors.

Scenario p95 Target p95
Contract list 35.35 ms 500 ms
Contract detail 33.36 ms 500 ms
Approval todo 39.58 ms 500 ms
Unified search 84.83 ms 500 ms
AI Trace list 222.83 ms 1500 ms
Knowledge document search 72.48 ms 800 ms
Knowledge chunk hybrid search 134.08 ms 1500 ms

Functional regression

The post-deploy browser regression verified login, template drafting, Word download, asynchronous review, 2 structured risks, 4 citations, PDF report delivery, file preview/download/batch download, approval rejection/resubmission/approval, archive evidence, archived filtering, and audit-chain integrity.

Source hygiene

  • The candidate contains no runtime database, logs, QA artifacts, local build output, or .env.local file.
  • The ignored Contract Web .env.local contains local runtime credentials and was intentionally excluded from both Git and deployment archives.
  • git diff --cached --check passed before the freeze commit.

Production blockers

Production remains No-Go until all of the following have independent evidence:

  1. Real AI Provider acceptance with fallback disabled, including 10 legal-QA and 8 review samples, followed by named legal approval.
  2. Production-only secrets, immutable image digests, backend production compose, and the Alibaba Cloud frontend HTTPS/domain release.
  3. PostgreSQL and object/file storage off-host backup plus restore rehearsal.
  4. Production monitoring and alert delivery for API, database, workers, files, AI calls, and backups.
  5. CI execution for the immutable RC commit and explicit production Go/No-Go approval.

Trace-governance long-window observation remains a non-blocking pre-production check; production enablement still requires separate approval.