Skip to content

test(contracts): rvt-ifc-usdc-lineage Slice L1b — cloud publication 契約與協議測試(tasks 2.5–2.7,L1 全結) - #657

Merged
monkey1sai merged 2 commits into
mainfrom
codex/openspec/rvt-ifc-usdc-lineage
Aug 19, 2026
Merged

monkey1sai merged 2 commits into
mainfrom
codex/openspec/rvt-ifc-usdc-lineage

Conversation

@monkey1sai

Copy link
Copy Markdown
Owner

Summary

rvt-ifc-usdc-lineage Slice L1b(tasks 2.5–2.7),L1 全結(裁決 R-2026-08-19):

  • 2.5 promotion:cloud-lineage-publication request/response schema 以 byte-identical 副本進 tests/contracts/(byte-equal 測試守護+archive 後仍存活的 deep-equal 綁定);73 個 fixtures(33 個自 change examples 搬入零漂移+40 個新作),覆蓋 locator authority ASCII 字元集、四個 stable refs、唯一 ?versionId=、no-presigned/no-element-rows、三組 metrics、zero denominator、bounded warning codes、兩種 events
  • 2.6 協議測試:protocol_validators.py+261 tests——HMAC raw-body canonicalization(golden vectors、dummy test secret)、canonical Unix-seconds timestamp header、±300s inclusive skew、header/body event match、201/200 ACK vs malformed/202、四個 wire timestamp path 的 pattern-rejects-offset 證明(不掛 format plugin)、表驅動 timestamp 有效性、九組 HTTP/code/retryable 三元組(spec/README/response-schema 三源交叉綁定)+cross-swaps、pre-validation error event_id 規則、MySQL DDL 維持 REFERENCE ONLY 守護測試
  • 2.7 對照表:lineage README §8 的 20 列 negative-case 對照——19 covered(5 個新作,含 stale-authorization-decision 語意規則)、1 個誠實記 GAP(unauthorized force release 完整規則由 task 5.4 持有,本片落地 capability 詞彙表拒絕的最小覆蓋)
  • runner 增強:additionalProperties walker 的 bare-oneOf narrowing 豁免(實測五支 L1a schema 判定完全不變+兩組 negative control);expectations 檢查器的 additive must_contain 支援(既有 182 筆不動)
  • tasks.md 2.5–2.7 勾銷(8/48);ledger current_slice 前移至 L2

不含 runtime 接線(L2 前禁止);openspec/changes/ 下的 schema 原檔未動。

Change Classification

欄位 值
Change lane B
Behavior contract changed no
Requirement source docs/plans/NOW.md(R-2026-08-19 Slice L1)+ openspec change rvt-ifc-usdc-lineage tasks 2.5–2.7

AI Coding Governance

欄位 值
Linked issue none — openspec change rvt-ifc-usdc-lineage(#354 開案)tasks 2.5–2.7 為需求正本
Requirement source docs/plans/NOW.md(R-2026-08-19 Slice L1)
CODEOWNERS / owner review CODEOWNERS=monkey1sai-blip;需 blip 一票 counted approval
GitNexus evidence not run — test-only contracts/fixtures 與 openspec bookkeeping,僅修改 tests/contracts/lineage 的測試檔與新增檔案,未觸及任何 runtime code symbol
Browser E2E evidence not applicable — 未觸及 frontend/product path
Agent workflow changed? no
Required checks expected root contracts and fakes、coordinator/streaming/governance/kit-manager-api targets(tests/contracts/** 扇出)、Agent Governance、pr-review-agent

Verification(本機實跑)

.venv pytest tests -q -p no:cacheprovider
  -> 1627 passed, 9 skipped(L1a 後基準 1082;新增 545 全綠、零回歸)
staging archive 模擬(openspec/ 移除)
  -> 1078 passed, 65 skipped, 0 failed(退化為 skip 非紅)
npx --no-install openspec validate rvt-ifc-usdc-lineage --strict -> valid
node scripts/tests/verify-openspec-repository-lifecycle.mjs -> all three sources agree
pwsh scripts/tests/verify-openspec-lifecycle.ps1 -> non_deferred=6; deferred=5
pwsh scripts/tests/test-agent-governance-check.ps1 -> all assertions passed
git diff --cached --check -> clean

工作方法:三個子代理起草(E:2.5/F:2.6/G:整合+2.7 對照),每個對交付物跑獨立 selfcheck(F 含 13 組 mutation probe 全被抓、G 含 6 組),coordinator 整合寫檔並以全套 pytest 驗收。

Known gaps / risks

  • schema regex 的 Python re $ 接受尾端換行 quirk:schema 依 ECMA-262 正典不改(ECMA 引擎下本就嚴格),語意層(validate_cloud_publication_scenario+protocol validators)封口;README 明載 3.x runtime validator 必須掛語意層。
  • 2.7 docs(openspec): add-worker-original-filename-tracking proposal #15(unauthorized force release)完整規則屬 task 5.4,本片僅落地 audit capability 詞彙表拒絕——對照表誠實記載,未宣稱全覆蓋。
  • 422 雙 code 的 status/code cross-swap 在 transport 層不可偵測(F-4),以測試文件化其極限。

🤖 Generated with Claude Code

https://claude.ai/code/session_01AgjUk3pyddn3kfByaWfY7G

…2.5-2.7)

Slice L1b of rvt-ifc-usdc-lineage completes L1 (owner ruling R-2026-08-19):

- 2.5: promote cloud-lineage-publication request/response schemas to
  tests/contracts/ as byte-identical copies (guarded by a byte-equal
  test against the change originals plus an archive-surviving
  deep-equal binding); 73 cloud fixtures (33 carried from the change
  examples, 40 authored) covering locator authority charset, four
  stable refs, unique versionId query, no-presigned/no-element-rows,
  three metrics, zero denominator, bounded warning codes, both events
- 2.6: protocol_validators.py + test_cloud_publication_protocol.py
  (261 tests): HMAC raw-body canonicalization with golden vectors and
  a dummy test secret, canonical Unix-seconds timestamp header,
  inclusive +/-300s skew, header/body event match, 201/200 ACK vs
  malformed/202 protocol failure, pattern-rejects-offset proof for all
  four wire timestamp paths without a format plugin, table-driven
  timestamp validity, the nine HTTP/code/retryable triples with
  cross-swaps, pre-validation error event_id rules, and a guard that
  the MySQL DDL stays REFERENCE ONLY
- 2.7: 20-row negative-case correspondence table in the lineage README;
  19 covered (5 newly authored incl. stale-authorization-decision
  semantic rule), 1 honestly scoped to task 5.4 (full force-release
  rule) with a minimal capability-vocabulary rejection landed
- runner: bare-oneOf narrowing exemption in the additionalProperties
  walker (verified: all five L1a schemas keep identical verdicts) and
  additive must_contain support in the expectations checker
- tasks.md 2.5-2.7 checked (8/48); ledger advanced to L2

Verified: full pytest tests 1627 passed / 9 skipped (prior baseline
1082); openspec strict valid; repository lifecycle three sources agree;
lifecycle non_deferred=6; agent-governance-check all pass.

Schemas under openspec/changes remain untouched; no runtime wiring
(blocked until L2 per ruling).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AgjUk3pyddn3kfByaWfY7G

@monkey1sai-blip monkey1sai-blip left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{"kind":"ai-bim-automated-approve-only","version":1,"automated":true,"repo":"monkey1sai/AI-BIM-governance","prNumber":657,"headOid":"3f93efd2f45d96c410115f75730a945593cc925f","baseOid":"cb92a2bf99a4cbb7ba3c67ec17bfcf2996721972","action":"approve-only"}

@monkey1sai
monkey1sai merged commit 88b7fb8 into main Aug 19, 2026
25 checks passed
@monkey1sai
monkey1sai deleted the codex/openspec/rvt-ifc-usdc-lineage branch August 19, 2026 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants