Files
ai-contract-platform/project-docs/V2-phase3-legal-fulltext-versioning-smoke-verification-2026-07-02.md
yuqei a3bb78e06b
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 16m35s
release: freeze V2 release candidate
2026-07-12 15:32:24 +08:00

3.0 KiB

V2 Phase 3 Legal Fulltext Versioning Smoke Verification

Date: 2026-07-02

Environment

  • Smoke host: 192.168.3.90
  • Web: http://192.168.3.90:13000
  • Contract API: http://192.168.3.90:18100
  • Remote path: /opt/apps/ai-contract-platform-v2-smoke
  • Compose project: yuqei-contract-v2-smoke
  • Database: yuqei_contract

Deploy Result

Deploy command used the existing smoke deploy script with remote backup retained and without resetting volumes.

Result:

  • Status: pass
  • Deploy artifact: project-docs/qa-artifacts/v2-smoke-docker-deploy/2026-07-02T18-18-23
  • Checks: 11
  • Failed checks: 0

Runtime Schema Check

Endpoint:

GET http://192.168.3.90:18100/api/v1/runtime/schema-check

Result:

  • Overall status: ok
  • Database backend: postgresql
  • Database name: yuqei_contract
  • Alembic actual: 20260702_0027
  • Alembic expected head: 20260702_0027
  • Core tables checked: 27
  • Governance tables checked: 18
  • Display cache mismatch count: 0
  • Required Contract API extension: pg_trgm

Remote PostgreSQL verification:

select count(1) as legal_fulltext_versions, min(version) as min_version, max(version) as max_version
from legal_fulltext_versions;

Result:

  • legal_fulltext_versions: 14
  • min_version: v1
  • max_version: v1

This confirms the smoke database is using the new version table and not only the static fallback.

API Samples

Legal article list:

GET /api/v1/legal-articles?source_id=LAW-CIVIL-001&keyword=违约金&page_size=10

Result:

  • Total: 1
  • Returned article: LEGAL-CIVIL-0585
  • Source summary includes LAW-CIVIL-001: 1

Legal article detail:

GET /api/v1/legal-articles/LEGAL-CIVIL-0585

Result:

  • id: LEGAL-CIVIL-0585
  • source_id: LAW-CIVIL-001
  • aliases include LAW-CONTRACT-001 and LAW-CIVIL-CODE-2020
  • status: effective
  • article text contains the expected liquidated damages keyword

Legal change impact scan:

POST /api/v1/legal-change-impacts/scan

Request:

{
  "article_id": "LEGAL-CIVIL-0585",
  "change_type": "updated",
  "change_summary": "违约金调整和赔偿上限口径需要复核",
  "changed_keywords": ["违约金", "赔偿上限"],
  "include_contracts": true,
  "contract_scan_limit": 20
}

Result:

  • Event ID: lci-2e2143c385df
  • Article IDs: LEGAL-CIVIL-0585
  • Source IDs: LAW-CIVIL-001, LAW-CIVIL-CODE-2020, LAW-CONTRACT-001
  • Total impacts: 44
  • Immediate update impacts: 44
  • Target types: contract_template, review_rule, standard_clause

Conclusion

The legal fulltext versioning slice is deployed and verified in the authoritative smoke environment.

Closed:

  • Alembic migration 20260702_0027
  • runtime schema-check
  • legal article list/detail
  • legal change impact scan
  • remote PostgreSQL version table presence and seed data

Next recommended slice:

AI Platform tenant/Trace governance, including tenant fields for knowledge/trace/quality actions and trace redaction/retention/archive metadata.