Freeze Opus P28-02 equivalence contract before product optimization
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
[
|
||||
{
|
||||
"id": "P28-02-EQ1",
|
||||
"requirement_id": "P28-02",
|
||||
"text": "E1 全状態: 観測の区間では、同じ PID の中で完全な S/K/C の前後の一致を確かめる(SPEC §3.3 (a))。版の間では、S 層・latest_snapshot・latest_digest と、SPEC §3.2 に列挙した K/C の欄を比べる。比べない欄は理由と実際の値を記録し、SimulationDigest だけで判定しない。",
|
||||
"validation_ids": [
|
||||
"p28-02-eq-unit",
|
||||
"p28-02-eq-native-verify"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "P28-02-EQ2",
|
||||
"requirement_id": "P28-02",
|
||||
"text": "E2 全イベント: DomainEventStream.subscribe('*') で B1 の後から30分の最後まで、全件を上限なく記録し、開始の counter が一致する場合だけ、event ID をそのまま対応させて全ての欄を比べる。",
|
||||
"validation_ids": [
|
||||
"p28-02-eq-unit",
|
||||
"p28-02-eq-native-verify"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "P28-02-EQ3",
|
||||
"requirement_id": "P28-02",
|
||||
"text": "E3 失敗時の拒否: restore_snapshot・SimulationSnapshot.validate・load_from_path に、欠けた key・違う型・範囲外・重複した ID・改ざんした world.bin を与え、code と、拒否の前後の S/K/C と全イベントを記録して検査する。",
|
||||
"validation_ids": [
|
||||
"p28-02-eq-unit",
|
||||
"p28-02-eq-native-verify"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "P28-02-EQ4",
|
||||
"requirement_id": "P28-02",
|
||||
"text": "E4 キャッシュの古さと E5 所有権: SPEC §3.3 (b) の専用の scenario の区間で、列挙した操作(コマンド・tick・restore・load・状態を変えないコマンド、返した値の入れ子の変更)だけを行い、前後の変化と双方向の非干渉を実際の値として記録して検査する。前の版での失敗(たとえば E5 の aliasing)は、既存の不具合として記録する(PASS で補わない。harness の無断の変更とは区別する)。列挙の外の状態の変更と、hook の差し替えは禁止。",
|
||||
"validation_ids": [
|
||||
"p28-02-eq-unit",
|
||||
"p28-02-eq-native-verify"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "P28-02-EQ5",
|
||||
"requirement_id": "P28-02",
|
||||
"text": "harness の正しさ: R と O の、同じ版の2 PID の間で、版の間の比較の差が0であること。compare_versions.py が、before の source map と OPT の許可された差分の集合を完全に固定し、追加・欠落・登録されていない差分を拒否すること。",
|
||||
"validation_ids": [
|
||||
"p28-02-eq-unit",
|
||||
"p28-02-eq-native-verify"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "P28-02-EQ6",
|
||||
"requirement_id": "P28",
|
||||
"text": "提出された S_eq の native(import、parse 2つ、R-A・R-B・O-A・O-B)を Root が実行し、owned PID・private profile・guard・cleanup・source map 1407・全 raw と SHA を結合する。Q で測ったとは表記しない。",
|
||||
"validation_ids": [
|
||||
"p28-02-eq-unit",
|
||||
"p28-02-eq-native-verify"
|
||||
]
|
||||
}
|
||||
]
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"project": "the-tree-p28-02-eq",
|
||||
"models": {"implementer": "codex gpt-6-astra", "reviewer": "claude-opus-5-5 (fresh, Desktop async delivery)"},
|
||||
"policy_alignment": "After normal registration, align max_llm_runs 20 -> null with the existing owner script protocol (policy lock, config digest, backups, unchanged rows and baseline, normal Runner reopen), recorded honestly as an owner-delegated decision under the existing human removal of per-item caps. max_repair_attempts stays null.",
|
||||
"unchanged": ["models of existing projects", "permissions", "auth", "billing and API fallback", "quota fallback rule (structured provider quota only, once, same role, Antigravity claude-opus-5-5-high)"],
|
||||
"original": {"completed": 23, "denominator": 88, "packages_completed": 4, "package_denominator": 30, "eq_credit": 0}
|
||||
}
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"status": "candidate; not registered, dispatched or run. Root verifies it against the original conditions, fixes eq/SPEC.md and eq/TASK_INSTRUCTIONS.md to main, and fills base_commit with that actual SHA.",
|
||||
"tracked_paths_to_commit": {
|
||||
"docs/plans/original-completion-2026-10-02/execution/p28-02/eq/SPEC.md": "eq-registration-proposal-r01/SPEC.md",
|
||||
"docs/plans/original-completion-2026-10-02/execution/p28-02/eq/TASK_INSTRUCTIONS.md": "eq-registration-proposal-r01/TASK_INSTRUCTIONS.md"
|
||||
},
|
||||
"register_project": {
|
||||
"project": "the-tree-p28-02-eq",
|
||||
"repo": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部",
|
||||
"worktrees": "/Users/korizatou114/Projects/TheTree-managed-worktrees/p28-02-eq",
|
||||
"baseline_file": "eq-registration-proposal-r01/ACCEPTANCE_BASELINE.json",
|
||||
"validations": {
|
||||
"p28-02-eq-unit": {
|
||||
"argv": [
|
||||
"{python}",
|
||||
"docs/plans/original-completion-2026-10-02/execution/p28-02/eq/test_eq.py"
|
||||
]
|
||||
},
|
||||
"p28-02-eq-native-verify": {
|
||||
"argv": [
|
||||
"{python}",
|
||||
"docs/plans/original-completion-2026-10-02/execution/p28-02/eq/verify_eq.py",
|
||||
"--project-root",
|
||||
"."
|
||||
]
|
||||
}
|
||||
},
|
||||
"validation_note": "native-verify reads the Root-built bundle at $BUILD_OUTPUT_DIR/p28-02-eq-evidence and fails when it is absent; unit PASS alone never accepts."
|
||||
},
|
||||
"register_task_contract": {
|
||||
"id": "P28-02-EQ",
|
||||
"title": "意味を保つ軽量化:同等性の先行固定(harness)",
|
||||
"requirement_ids": [
|
||||
"P28-02",
|
||||
"P28"
|
||||
],
|
||||
"acceptance_ids": [
|
||||
"P28-02-EQ1",
|
||||
"P28-02-EQ2",
|
||||
"P28-02-EQ3",
|
||||
"P28-02-EQ4",
|
||||
"P28-02-EQ5",
|
||||
"P28-02-EQ6"
|
||||
],
|
||||
"spec_ref": "docs/plans/original-completion-2026-10-02/execution/p28-02/eq/SPEC.md",
|
||||
"base_commit": "TBD: actual main SHA that adds eq/SPEC.md and eq/TASK_INSTRUCTIONS.md",
|
||||
"worker": "codex",
|
||||
"allowed_paths": [
|
||||
"docs/plans/original-completion-2026-10-02/execution/p28-02/eq/**"
|
||||
],
|
||||
"depends_on": [],
|
||||
"resource_locks": [
|
||||
"p28-02-eq"
|
||||
],
|
||||
"validation_ids": [
|
||||
"p28-02-eq-unit",
|
||||
"p28-02-eq-native-verify"
|
||||
],
|
||||
"max_repair_attempts": null
|
||||
},
|
||||
"native_contract": {
|
||||
"executor": "Root only, after the worker submits S_eq",
|
||||
"argv": [
|
||||
"python3",
|
||||
"docs/plans/original-completion-2026-10-02/execution/p28-02/eq/run_eq.py",
|
||||
"--run",
|
||||
"--readonly",
|
||||
"<collector original runtime build/p28-01-readonly (original manifest destination root)>",
|
||||
"--fixture",
|
||||
"artifacts/original-completion-2026-10-02/p28-current1299-runtime-scale-build-candidate-native-r01/fixture/reference.variant",
|
||||
"--engine",
|
||||
"/Applications/Godot.app/Contents/MacOS/Godot",
|
||||
"--output",
|
||||
"artifacts/original-completion-2026-10-02/p28-02-eq/native-<S_eq>-r01"
|
||||
],
|
||||
"phases": [
|
||||
"import",
|
||||
"parse-base",
|
||||
"parse-wrapper",
|
||||
"R-A",
|
||||
"R-B",
|
||||
"O-A",
|
||||
"O-B"
|
||||
],
|
||||
"pins": {
|
||||
"fixture_sha256": "eb4f770071eb07cd7e136fe54c3f78768cc8de7a4264e62a9af1f06a8f90f9bd",
|
||||
"engine_sha256": "c7cccbf8fb143e34e02fd6521e09be2c2b974f0d5db080b19071c9c570718ccf",
|
||||
"product_source_map_sha256": "651f703621c8ed06a724709f75d8bc05b1eef2988c3b3d5d3466096a3f759bf0",
|
||||
"machine": "Mac16,10"
|
||||
},
|
||||
"bundle_place": "$BUILD_OUTPUT_DIR/p28-02-eq-evidence"
|
||||
},
|
||||
"sequence": [
|
||||
"worker submits S_eq (local unit PASS)",
|
||||
"Root native on frozen S_eq (7 phases)",
|
||||
"Root raw join and bundle",
|
||||
"formal validation: p28-02-eq-unit + p28-02-eq-native-verify (both required)",
|
||||
"fresh independent Opus review, async delivery",
|
||||
"prepare -> Q_eq qualification (product map, engine, input, settings, EQ files equal) -> Root delegated approval -> integration -> final",
|
||||
"the S_eq native is the OPT 'before' EQ record; reused only when the Q_eq qualification holds, otherwise rerun on Q_eq",
|
||||
"then the two remaining frame-before collector runs on Q_eq (OPT_CONTRACT_T1 r02 section 4 (b))"
|
||||
],
|
||||
"assignment": {
|
||||
"worker": "codex",
|
||||
"model": "gpt-6-astra",
|
||||
"reason": "Astra built DIAG and RESTART with the same lifecycle, S/K/C, owned-phase and import-closure machinery and already hit and fixed this repo's GDScript pitfalls; EQ reuses all of them.",
|
||||
"reviewer": "fresh independent claude-opus-5-5 via Desktop async delivery"
|
||||
},
|
||||
"failure_retention": "All native, validation and review failures are kept with raw and SHA and never rewritten as success; fixes go through the normal repair on the same W.",
|
||||
"credit": "EQ adds 0; P28-02 moves 23->24 only after OPT, its whole-unit review, integration, final and the ledger."
|
||||
}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"at_jst": "2026-10-21T07:15:27.303190+09:00",
|
||||
"actual_Opus_governor_session": "local_a7f85421-3eed-4482-8030-c0dca669573a",
|
||||
"actual_Opus_request": "303; actual response304 prepared five concrete proposal files",
|
||||
"scope": "Original P28-02 same scope; EQ support only, original credit zero",
|
||||
"copies": [
|
||||
{
|
||||
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/eq/SPEC.md",
|
||||
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/eq-registration-proposal-r01/SPEC.md",
|
||||
"bytes": 10693,
|
||||
"sha256": "3791ccdcb87e8d71fe9205e1e692ebca9e0f974ea3b5fbc4fbb3943882131f1c",
|
||||
"byte_identical": true
|
||||
},
|
||||
{
|
||||
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/eq/TASK_INSTRUCTIONS.md",
|
||||
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/eq-registration-proposal-r01/TASK_INSTRUCTIONS.md",
|
||||
"bytes": 2961,
|
||||
"sha256": "f9937c3c7dff5a25ada453365d26c87fecf009d29518724f0c1e67d2b18afff3",
|
||||
"byte_identical": true
|
||||
},
|
||||
{
|
||||
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/eq/registration/REGISTRATION_PROPOSAL.json",
|
||||
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/eq-registration-proposal-r01/REGISTRATION_PROPOSAL.json",
|
||||
"bytes": 4733,
|
||||
"sha256": "9590fc853a4df8d50cc0d269d23bd9c844dc6931590ff6f24ebf95bb54a8d135",
|
||||
"byte_identical": true
|
||||
},
|
||||
{
|
||||
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/eq/registration/ACCEPTANCE_BASELINE.json",
|
||||
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/eq-registration-proposal-r01/ACCEPTANCE_BASELINE.json",
|
||||
"bytes": 2981,
|
||||
"sha256": "84628bc21205387f8a7143031bdc50c9f68a767d350e6c34b32e0ba1c7059337",
|
||||
"byte_identical": true
|
||||
},
|
||||
{
|
||||
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/eq/registration/CONFIG_PROPOSAL.json",
|
||||
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/eq-registration-proposal-r01/CONFIG_PROPOSAL.json",
|
||||
"bytes": 821,
|
||||
"sha256": "775fbbb97cda8b4d4991defdf7871b0fc79f489f4dea34c1733d4830426cf1df",
|
||||
"byte_identical": true
|
||||
},
|
||||
{
|
||||
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/eq/references/OPUS_D2_SCOPE_CLARIFICATION.txt",
|
||||
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/OPUS_D2_SCOPE_CLARIFICATION.txt",
|
||||
"bytes": 5598,
|
||||
"sha256": "5775e7b512d9e90dbcfbcb181f5b64dc0fa8207e0947c0a4a6a5c9195565f9bd",
|
||||
"byte_identical": true
|
||||
},
|
||||
{
|
||||
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/eq/references/OPUS_STARTUP_LIFECYCLE_CLARIFICATION.txt",
|
||||
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/OPUS_STARTUP_LIFECYCLE_CLARIFICATION.txt",
|
||||
"bytes": 5996,
|
||||
"sha256": "967aebf27ff412f7a16ce771ef7d68abf8cfde0bb76ed19cf6dbf2817ca7acc6",
|
||||
"byte_identical": true
|
||||
},
|
||||
{
|
||||
"target": "docs/plans/original-completion-2026-10-02/execution/p28-02/eq/references/OPT_CONTRACT_T1.md",
|
||||
"source": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/OPT_CONTRACT_T1.md",
|
||||
"bytes": 13952,
|
||||
"sha256": "ad9f3d76f3500b39263fb898d7c64588b4b47c9e11b456f938195261fd054d16",
|
||||
"byte_identical": true
|
||||
}
|
||||
],
|
||||
"existing_tracked_readonly_references": [
|
||||
"docs/plans/original-completion-2026-10-02/execution/p28-01/restart/SPEC_CLARIFICATION_01.md",
|
||||
"docs/plans/original-completion-2026-10-02/execution/p28-01/restart/SPEC_CLARIFICATION_02.md"
|
||||
],
|
||||
"registration_and_worker_not_started": true,
|
||||
"original_completed": 23,
|
||||
"original_total": 88,
|
||||
"packages_completed": 4,
|
||||
"packages_total": 30,
|
||||
"product_files_changed": [],
|
||||
"actual_Opus_scenario_clarification": "Request305/actual response306; SPEC3.3 and TASK/AC boundaries explicitly distinguish observation and intentional E3/E4/E5 scenarios",
|
||||
"pre_clarification_full_bytes_preserved": "/Users/korizatou114/Projects/とりにく工房ゲーム制作部/artifacts/original-completion-2026-10-02/p28-02-root-control-r01/eq-proposal-pre-scenario-clarification-preserved"
|
||||
}
|
||||
Reference in New Issue
Block a user