docs: record actual D05 approvals and P26 whole-review repairs

This commit is contained in:
Takeshi
2026-10-18 09:02:00 +09:00
parent e6fb757480
commit a13f7c0b79
11 changed files with 255 additions and 43 deletions
@@ -3,7 +3,7 @@
"original_plan_id": "P26-01",
"registered_project": "the-tree-p26-01-ledger",
"registered_task": "P26-01-LEDGER",
"state": "implementing",
"state": "repair_pending",
"actual_selection": "6b9bb7f7a8474689b4094efbfcde2eef",
"base_commit": "379a1ba8fd25b5ad24226178a2492f91761dc31d",
"original_denominator": {
@@ -16,10 +16,10 @@
"full_acceptance": "原本で要求された未制作内容を欠損として記録し、架空の完成数を置かない。",
"dependencies": "Audit observes P19/P20/P22 actual state; does not accept their production. Pending D08/D09 explicit. P04 existing D05 questions retained.",
"missing": [
"whole required content ledger and all original-source coverage",
"actual registered checks, exact source applicability",
"separate whole-unit Opus review",
"normal prepare-integration and candidate integration/final; ledger only after all pass"
"Repair original content clause omissions and independent atomic/source coverage",
"Correct requirement-level owner/status/partial support and strengthen corresponding negatives",
"Repeat only necessary modified registered checks on newS, independent whole-unit review",
"normal candidate integration/final and qualified native reuse then ledger"
],
"reuse": [
"P19-03 accepted table S903a2c566e73cebc874a6499410a1243bc190a63/C8e4f1d92fc2a2e8f1dd187e661cf52b13e4e51d4",
@@ -29,16 +29,7 @@
"model": "actual Opus selects; proposed gpt-6.1-sol",
"storage_estimate_scope": "Opus under5MB is output-material estimate, excludes required Runner checkout copies (~240MB each); stage copies, recover only ended fully restorable duplicates",
"actual_commander_run_direction": "3e55ca8b6dcf476a81ae20728bcb6290",
"actual_jobs": [
{
"id": "753fb93320c644979504a86a78501be9",
"role": "implementer",
"status": "running",
"pid": 61835,
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p26-01-ledger/runs/753fb93320c644979504a86a78501be9",
"pid_alive_observed": true
}
],
"actual_jobs": [],
"repairs": 2,
"repair_limit": null,
"setup_attempt": {
@@ -58,5 +49,28 @@
"writes": 0,
"result": "Prior commander direction incorrectly assumed existing P26 outputs. Actual Opus818862 withdrew assumption and actual3e55ca authorized creating all5newfiles; immutable spec unchanged. Three precreation invocations exited2 missing script, not actual tests or acceptance."
},
"original_unit_credit_added": 0
"original_unit_credit_added": 0,
"S": "35b3de0d59d41633fe89678e742f35f4df620618",
"submitted_source": "35b3de0d59d41633fe89678e742f35f4df620618",
"formal_validation": {
"passed": true,
"all_registered_checks": 3,
"meaningful_self_tests": 13,
"scope": "sameS35b3de0 docs/source only, not whole acceptance"
},
"whole_original_review": {
"actual_run": "8a8f40a333de4f0f993bc757c665c696",
"model": "claude-opus-5-5",
"status": "changes_requested",
"high": 2,
"medium": 2,
"low": 1,
"artifact": "ROOT_WHOLE_REVIEW_35B3DE0D.json"
},
"D05_current_human_answers": "All4remaining rules approved clientdate2026-10-18; separateP04adoptionnext. Frozenf4/379audit must explicitlylabel historicalsource.",
"native_reuse": {
"exact1368inputs_settings_policy_marker_engine_roster_defaultplayer_equal": true,
"actual_proof": "ROOT_EXACT_SUBMITTED_35b3de0d_GAME_INPUT_REUSE.json",
"new_native_runs": 0
}
}
@@ -0,0 +1,31 @@
{
"task_id": "P26-01-LEDGER",
"commit": "35b3de0d59d41633fe89678e742f35f4df620618",
"status": "changes_requested",
"summary": "Independent whole-unit review of P26-01 (AC-P26-01) at 35b3de0. What holds: all 5 outputs are inside allowed_paths. All 3 Runner validations exited 0: --check printed pass with selected_files 1368 and parse_files 329; the negative suite ran 13 tests, OK; --source-binding-only also passed. No row claims 'produced', every required_count/completed_count is null, and accounting stays at 15/88 with credit 0 and whole_unit_accepted false. D05, D08 and D09 are recorded as unresolved. The 21 route rows keep the exact 7 original names (BASELINE 118–124) crossed with 純愛/NTR/堕落, each tied to its P19 cell, where natural_route_complete is false. The 614 P22-01 usage records are kept, and their status is derived from the actual representation type: only code_drawn and placeholder_media exist, so rows are code-drawing, placeholder or missing. Rivals (line 125) and per-route event CG (line 243) appear through the P22 usage slots. Endings are split into all/bad/game_over with no invented counts, and the task-spec/selection/pin binding and the definition projection look correct. Acceptance is NOT met as a whole unit, for three reasons. (1) Some event and dialogue content the original requires is never recorded: BASELINE line 65 (night NTR events), line 196 (the 代物弁済 event), and lines 13/53/221–222 (peeping-view, recorder and intervention content). None of them are cited anywhere in the 651 rows. (2) The checker cannot catch this kind of gap. Clause coverage comes from hard-coded line spans inside the checker, and verify() finishes by comparing the ledger to a canonical document built by the same function that wrote it with --write. There is no independent clause-coverage check, which the spec forbids as the sole verification. (3) The ledger is never linked to atomic_requirements.json, which the spec lists as an authority: zero AR.* IDs are referenced, including AR.heroine.*.route.*, AR.progression.all_endings, AR.progression.encyclopedia_complete, AR.events.ntr_night_peak, AR.guest.debt_settlement_imprisonment and AR.asset.character_voice. Owner and status for the clause.* rows are also hard-coded rather than derived from evidence. Because there is no partial credit, P26-01 should not be credited and the count must stay at 15/88 until these are fixed and the unit is reviewed again.",
"acceptance_ids": [
"AC-P26-01"
],
"findings": [
{
"severity": "high",
"message": "Some original event/dialogue content clauses are missing from the ledger. BASELINE.txt line 65 (夜…NTRイベント発生のピーク), line 196 (女性客は「代物弁済」イベントで即座に奴隷化・投獄) and lines 13/53/221-222 (peeping view, 記録係 collecting 脅迫ネタ, intervention) are not cited by any of the 651 rows. Grep for 代物弁済, NTRイベント発生, 覗き見し and 記録係 returns 0 matches, and no citation starts at lines 65 or 196. dialogue.all cites only 155/230/256. The spec requires covering every original-required dialogue/event slot, or recording it as explicitly undefined, so these required-but-unproduced event contents are not recorded as missing, as AC-P26-01 requires."
},
{
"severity": "high",
"message": "Clause-coverage verification is circular. expected() builds the rows from hard-coded BASELINE spans in check_content_ledger.py:177-205, and verify() ends with an exact equality check against that same canonical document, which --write also produced (check_content_ledger.py:289, 331). Nothing independently computes which BASELINE clauses are content-relevant, for example a closed list of required line numbers, or a cross-check against atomic_requirements entries for routes, endings, encyclopedia, events, portraits and voice. So an omitted clause, like the ones in the first finding, passes --check and the 13 tests. Most negative tests (kind 'invented', extra key, identity name) are caught only by that same equality check. The spec forbids using tautological generated facts as the sole verification of 'exact original full clause coverage'."
},
{
"severity": "medium",
"message": "There is no traceability to atomic_requirements.json, although the spec lists it as an authority. The ledger references no AR.* IDs (grep returns 0). Relevant mandatory items exist and are not reconciled with the ledger, for example: AR.heroine.<7>.route.{love,ntr,corruption}, AR.progression.all_endings, AR.progression.encyclopedia_complete, AR.narrative.route_tones, AR.events.ntr_night_peak, AR.guest.debt_settlement_imprisonment, AR.unique.bad_end_transformation, AR.asset.character_voice, AR.asset.main_portraits/sub_portraits/portrait_*, AR.asset.route_event_cg, and AR.schedule.B-14.2.scenario/B-14.3.voice_*. Without this mapping, nothing shows that every relevant atomic requirement has a ledger row."
},
{
"severity": "medium",
"message": "Owner and status for the clause.* rows are hard-coded instead of derived from evidence. All eight clause rows (world, scope, route_skills, route_rules, art, cg, motion, production) get owner 'P26-03' and status 'missing' with empty evidence (check_content_ledger.py:196-205), and the owner enum is fixed to {D08, P26-02, P26-03}. This assigns game-mechanic clauses (shield, three duel types, history/pregnancy state, route skills) to the production-acceptance unit P26-03. It also leaves no way to name the P22 production packages or other upstream owners that the IMPLEMENTATION_REPORT itself names. Meanwhile, the existing OriginalRelationshipState / relationship_service support is recorded only in the top-level actual_support and is not reflected as 'partial' on the rows it relates to. The spec asks that each requirement name its actual owning remaining deliverable or decision and distinguish partial from missing."
},
{
"severity": "low",
"message": "The negative tests mutate only rows[0] (the chapters.all row) for the owner/status/kind/count checks, and only a single route row for identity. No test covers status/owner tampering on route or usage rows, or a stale evidence SHA inside a usage row's representation pin, other than through the equality check. Test strength is therefore lower than the 13-test count suggests."
}
]
}
@@ -0,0 +1,10 @@
{
"source_actual_review_packet": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p26-01-ledger/runs/8a8f40a333de4f0f993bc757c665c696/packet.txt",
"restored_path": "/private/tmp/the-tree-p24-02-control-r02/AGENTS.md",
"recorded_rules_sha256": "cb19c16aa0e2f8b70465777ae32cc5d9210733363c30206a0032a42cda625047",
"canonical_stripped_equal": true,
"permission_policy_change": false,
"repair_counter_change": false,
"cause": "missing after date boundary; deletion cause not yet established",
"date_jst": "2026-10-18"
}
@@ -0,0 +1,24 @@
{
"rows": [
{
"role": "commander",
"sha256": "d0d5825308b1b193799cb765e8d128a084c1cd1967e97239c3d269d09427ab6c",
"actual_previous_packet": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p26-01-ledger/runs/3e55ca8b6dcf476a81ae20728bcb6290/packet.txt",
"exact_template_in_previous_prefix": true
},
{
"role": "implementer",
"sha256": "5b1f0136cc36e1cbea343eadc6820e8dd5e037ede4794126a0fa67acaa11dbd8",
"actual_previous_packet": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p26-01-ledger/runs/753fb93320c644979504a86a78501be9/packet.txt",
"exact_template_in_previous_prefix": true
},
{
"role": "reviewer",
"sha256": "ef431ec4ad0fff1964a382643429b59db59e24b8cc3dfcf61fea7cdc5608c7ba",
"actual_previous_packet": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p26-01-ledger/runs/8a8f40a333de4f0f993bc757c665c696/packet.txt",
"exact_template_in_previous_prefix": true
}
],
"no_gate_model_permission_change": true,
"user_client_date_jst": "2026-10-18"
}
@@ -0,0 +1,24 @@
{
"restored_missing_files": [
{
"path": "/private/tmp/the-tree-p24-02-control-r02/schemas/result.json",
"sha256": "7cd8c0dfd013800322df8d6dee344f29677c00881ced6b586bc11d9b0b6ce44e"
},
{
"path": "/private/tmp/the-tree-p24-02-control-r02/schemas/task.json",
"sha256": "23866bc8c27e1e4782185ea1834f6211bf479585a7d9498ae8be10e78bbdba4e"
},
{
"path": "/private/tmp/the-tree-p24-02-control-r02/schemas/decision.json",
"sha256": "d0e84bb79d09c179c656a7f05553f9d95a808a1529808d4e3b950ecf6dd8fa2d"
},
{
"path": "/private/tmp/the-tree-p24-02-control-r02/policies/default.json",
"sha256": "dbafea6c8afebf8855e769f33ee8ae80a733b89b7e3cb7759e5bb0fb0a179f2a",
"authority": "existing owner-approved active P26 project effective policy, user removed caps"
}
],
"actual_result_schema_same_after_existing_task_commit_narrowing": true,
"actual_model_state_narrowing_still_OwnerCLI": true,
"existing_project_config_baseline_unchanged": true
}