109 lines
8.1 KiB
JSON
109 lines
8.1 KiB
JSON
{
|
||
"id": "P19-03-TABLE",
|
||
"original_plan_id": "P19-03",
|
||
"title": "分岐の到達性",
|
||
"original_work": "人物ごとの3ルートに必要なイベント・条件・中断処理を列挙する。",
|
||
"original_acceptance": "7名×3ルートの到達表があり、未制作内容は欠損として残る。",
|
||
"original_denominator": {
|
||
"packages": 30,
|
||
"units": 88,
|
||
"completed_at_start": 14,
|
||
"partial_credit": false
|
||
},
|
||
"whole_original_unit_review_required": true,
|
||
"scope": "Whole original documentation/audit unit P19-03. Neutral non-graphic state/event IDs and exact source citations only; never create intimate content, narrative events, per-character mechanics or product numbers. Does not implement or accept route gameplay, content, endings, Windows or the whole game.",
|
||
"authority": [
|
||
{
|
||
"path": "docs/traceability/original/BASELINE.txt",
|
||
"sha256": "75e4bdbdeb379c9269553f0c776bdb9cc96e01f2d6aa5ca650d132c63a8aeb1a",
|
||
"sections": "Original §6 seven-character catalog; §7 lines136–161 three routes and relation/duel/action/history rules. Read actual full relevant lines, do not trust line numbers without matching text."
|
||
},
|
||
{
|
||
"path": "docs/plans/original-completion-2026-10-02/work_packages.json",
|
||
"unit": "P19-03",
|
||
"acceptance_exact": true
|
||
},
|
||
{
|
||
"path": "docs/plans/original-completion-2026-10-02/atomic_requirements.json",
|
||
"requirements": "B-7.1 through B-7.6 and relevant character/route clauses; inspect complete selected entries."
|
||
},
|
||
{
|
||
"path": "docs/plans/original-completion-2026-10-02/decisions.json",
|
||
"rule": "Only approved decisions may fill specifications. D08 pending cells remain 原本未定義/D08 pending 欠損."
|
||
}
|
||
],
|
||
"actual_opus_selection": "dc342e4d69154660bef7e688a70fd783",
|
||
"frozen_game_input_pins_sha256": "6c778226a4cc6d0b0d682500759e7d4229c926a27bd2e247b00b9c3e5f1a2fb0",
|
||
"audit_source_anchor": "1b07b87d3736e777932315a4bdde8b70cbf9cb23",
|
||
"implementation_requirements": [
|
||
"Build REACHABILITY_TABLE.json plus deterministic REACHABILITY_TABLE.md with exactly7 canonical character IDs/names from original §6, existing catalog and scripts/relationship/original_relationship_state.gd, crossed with3 original routes 純愛/NTR/堕落. No invented or substituted character/route.",
|
||
"Every one of21 cells enumerates applicable entry/required events, source-defined state conditions, duel win/loss and route/selection effects, interruption/cancellation and save handling, history/marks and current reachability. Distinguish common baseline rules from character-specific content undefined by the original.",
|
||
"Every listed event/condition/handling item carries exact original line range+text/hash authority, concrete implementation status implemented/partial/missing, exact existing source path+SHA at the audited source anchor (or explicit not implemented with no fake path), and owning remaining original deliverable. Do not call backend model support a completed natural route.",
|
||
"Unproduced or undefined character-specific events/conditions/interruption/save/history content remains explicitly 欠損 with reason and owning remaining original item. Missing content is allowed by the unchanged original audit acceptance; it is never game acceptance. Preserve unknown numeric thresholds/rates/initial values as pending; use neutral abstract state IDs only.",
|
||
"Implement stdlib check_reachability_table.py and test_reachability_table.py under this documentation directory. This placement is inside actual Opus proposed docs/** scope and preserves the exact1368 selected native-game input set. Do not add new files under tools, game scripts, data, tests, marker registry or other game-selected paths.",
|
||
"Checker verifies exact7×3 unique complete cell set, canonical IDs, original pinned source+line text, no uncited item, exact current source SHA+anchor binding, valid status/owner and explicit gaps, no fabricated thresholds/unsupported completion, and byte-for-byte deterministic Markdown regeneration. --check must be read-only; optional --write may regenerate view during implementation.",
|
||
"Source binding enforces complete frozen selected-source map, no missing/new/changed selected files, marker/policy/engine/roster/parse identity and baseline hash. Validate FROZEN_GAME_INPUT_PINS.json against this immutable spec SHA field. Code source evidence may cite published audited anchor; checker output binds actual current commit and proves exact file equality. Do not fabricate a future self-containing commit SHA.",
|
||
"Cross-cutting UI/Runtime/save/Windows applicability is explicit: audit existing support and missing mechanisms per route; this documentation-only unit introduces no product OS behavior, so audit-unit native GUI/Windows execution is not applicable. Global/other-unit Windows and game acceptance remain open.",
|
||
"Self-tests meaningfully reject missing/duplicate cell, wrong character/route, missing category/citation, stale source/baseline text/hash, invented numeric threshold, missing content falsely marked complete, wrong owning deliverable/status, malformed JSON/types, or Markdown drift; include valid implemented/partial/missing controls. No test-count padding.",
|
||
"Reuse existing completed P13-03 content-audit checker pattern as guidance. Preserve all current game files, original text, decisions, frozen pins, immutable TASK_SPEC and selection record. Do not revise acceptance or invent D05/D08 answers.",
|
||
"Provide concise implementation report with all requirements mapped to files/checks, actual invocations/results and remaining parent/game gaps. No worker claim or exit0 substitutes for independent whole-unit review and normal gates."
|
||
],
|
||
"required_outputs": [
|
||
"REACHABILITY_TABLE.json",
|
||
"REACHABILITY_TABLE.md",
|
||
"check_reachability_table.py",
|
||
"test_reachability_table.py",
|
||
"IMPLEMENTATION_REPORT.md"
|
||
],
|
||
"validation_interface": [
|
||
{
|
||
"id": "p19-table",
|
||
"argv": [
|
||
"{python}",
|
||
"{worktree}/docs/plans/original-completion-2026-10-02/execution/p19-03/check_reachability_table.py",
|
||
"--project-root",
|
||
"{worktree}",
|
||
"--check"
|
||
]
|
||
},
|
||
{
|
||
"id": "p19-negative",
|
||
"argv": [
|
||
"{python}",
|
||
"{worktree}/docs/plans/original-completion-2026-10-02/execution/p19-03/test_reachability_table.py",
|
||
"--project-root",
|
||
"{worktree}"
|
||
]
|
||
},
|
||
{
|
||
"id": "p19-source-binding",
|
||
"argv": [
|
||
"{python}",
|
||
"{worktree}/docs/plans/original-completion-2026-10-02/execution/p19-03/check_reachability_table.py",
|
||
"--project-root",
|
||
"{worktree}",
|
||
"--source-binding-only"
|
||
]
|
||
}
|
||
],
|
||
"workflow": [
|
||
"Register fixed original acceptance P19-03 once; actual Opus confirms next registered run and chooses Sol6.1 default/Astra only justified. One managed worker, no duplicate task.",
|
||
"Worker local static+checker+self-tests only; do not run native full during implementation.",
|
||
"Required full native evidence may be reused only after independent exact candidate input equality against frozen C/S source/settings/markers/policy/engine/test inputs/roster/applicability. Doc helpers live outside selected source set; no narrowed equality definition. If equality fails do not claim reuse or launch an uncontrolled full.",
|
||
"Separate actual Opus whole-original P19-03 review against full original §6–7 and exact acceptance. Reviewer decides whether explicit D08/content gaps satisfy audit acceptance; fail honestly if not, never redefine it.",
|
||
"Normal prepare-integration, actual C/M exact equality, existing real main permission only (no fabricated new human speech), normal final, ledger+push. Only then original P19-03 may add1 to14/88."
|
||
],
|
||
"pending_not_waived": [
|
||
"P04 existing D05 owner choices",
|
||
"D08 production chapter/route/content scope",
|
||
"P19-01/02 Runtime and normal route gameplay",
|
||
"P20/P26 content/endings/encyclopedia",
|
||
"P13 four low production followups",
|
||
"Global same-Windows acceptance and held gestures remain open"
|
||
],
|
||
"model_proposal": {
|
||
"codex_model": "gpt-6.1-sol",
|
||
"actual_opus_decision": "dc342e4d69154660bef7e688a70fd783"
|
||
}
|
||
}
|