Parent: #3655
Depends on: ACP-HARDEN-110
Blocks: ACP-HARDEN-210, ACP-HARDEN-230, ACP-HARDEN-240
Codex lane: contracts/execution-result-v1
背景
現在のartifact群には複数の実行status語彙がある。
- formal summary:
ok, failed, skipped, missing, unknown
- loop summary:
pass, fail, warn, not-run
- claim projection:
tested, model-checked, proved, runtime-mitigated, waived, unresolved
実行結果とclaimへの評価projectionが混在すると、unsupportedやtool-errorがfailへ、skipがpassへ、testedがprovedへ誤変換される危険がある。Private Matchではpass, fail, skip, unsupported, timeout, tool-errorを完全に保持することで、未実施・未対応・失敗を区別した。
目的
runner共通のexecution-result/v1を導入し、実行outcomeとclaim projectionを二層に分離する。
Codex CLI preflight
- Assurance Model
- Contract Catalog
- formal-summary v1/v2
- verify-lite/loop/conformance/security/benchmark summaries
- claim-evidence-manifest/assurance-summary/policy input consumers
- schema migration/dual-writeの既存方針
- Context Pack/Boundary Map
Proposed contract
推奨Schema:
schema/execution-result-v1.schema.json
最低限:
schemaVersion: execution-result/v1
resultId
producer
subject
status:
pass
fail
skip
unsupported
timeout
tool-error
ran
required
reason
startedAt
completedAt
tool:
id
version
source
inputDigests
outputDigest
configuration
resourceLimits
assumptions
limitations
artifactStatus:
real
synthetic
test-only
不変条件
ran=falseでpass|fail|timeout|tool-errorは禁止。
skipは未実行、unsupportedは能力非対応、timeoutは実行開始後期限超過、tool-errorはtool/environment failure。
- statusの相互変換は禁止。
required=falseであってもstatusを変更しない。
- synthetic/test-only resultはreal claimの充足に使用しない。
- claim projectionは別consumerがEvidence kind/scope/assumptionを評価して生成し、execution statusを書き換えない。
実装タスク
Acceptance criteria
Validation
- Schema self-validation
- status cross-field tests
- producer adapter tests
- aggregation/policy negative tests
- deterministic fixtures
pnpm -s run check:schemas
pnpm -s run check:doc-consistency
pnpm -s run verify:lite
非目標
- 既存全Schemaの一括破壊的置換
- 新しいassurance levelの追加
- unavailable toolの自動installation
- policy enforcementの即時mandatory化
Stop condition
- Draft PR
- migration ADRとcompatibility tests
- exact-head CI success
- unresolved review threads 0
- worktree clean
Parent: #3655
Depends on: ACP-HARDEN-110
Blocks: ACP-HARDEN-210, ACP-HARDEN-230, ACP-HARDEN-240
Codex lane:
contracts/execution-result-v1背景
現在のartifact群には複数の実行status語彙がある。
ok,failed,skipped,missing,unknownpass,fail,warn,not-runtested,model-checked,proved,runtime-mitigated,waived,unresolved実行結果とclaimへの評価projectionが混在すると、
unsupportedやtool-errorがfailへ、skipがpassへ、testedがprovedへ誤変換される危険がある。Private Matchではpass,fail,skip,unsupported,timeout,tool-errorを完全に保持することで、未実施・未対応・失敗を区別した。目的
runner共通の
execution-result/v1を導入し、実行outcomeとclaim projectionを二層に分離する。Codex CLI preflight
Proposed contract
推奨Schema:
schema/execution-result-v1.schema.json最低限:
不変条件
ran=falseでpass|fail|timeout|tool-errorは禁止。skipは未実行、unsupportedは能力非対応、timeoutは実行開始後期限超過、tool-errorはtool/environment failure。required=falseであってもstatusを変更しない。実装タスク
execution-result/v1Schema、fixtures、validator、Contract Catalog entryを追加する。claim-evidence-manifestがexecution resultをEvidenceとして参照し、claim statusと混同しないようにする。unsupported,timeout,tool-errorを既存failed|unknownへcollapseしない。Acceptance criteria
skip,unsupported,timeout,tool-errorがpassまたはfailへ変換されない。tested,model-checked,provedはexecution statusとして生成されない。Validation
pnpm -s run check:schemaspnpm -s run check:doc-consistencypnpm -s run verify:lite非目標
Stop condition