---
phase: 165.6
plan: 01
type: execute
wave: 1
depends_on:
  - 165-real-topic-l0-to-l2-e2e-validation
  - 165.2
  - 165.3
  - 165.4
  - 165.5
files_modified:
  - .planning/phases/165.6/165.6-E2E-CLOSURE-RUNBOOK.md
  - .planning/phases/165.6/165.6-ISSUE-LEDGER.md
  - .planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/POSTMORTEM.md
  - .planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/COMMANDS.md
  - .planning/v1.91-MILESTONE-AUDIT.md
  - .planning/STATE.md
  - .planning/REQUIREMENTS.md
  - .planning/ROADMAP.md
  - research/knowledge-hub/tests/test_aitp_cli_e2e.py
  - research/knowledge-hub/tests/test_runtime_scripts.py
  - research/knowledge-hub/tests/test_aitp_service.py
  - research/knowledge-hub/knowledge_hub/aitp_cli.py
  - research/knowledge-hub/knowledge_hub/aitp_service.py
autonomous: false
requirements:
  - REQ-E2E-01
must_haves:
  truths:
    - the closure proof must start from the public AITP front door and not from an existing topic shell
    - the closure proof must use one real topic and a fresh explicit topic slug rather than a synthetic fixture
    - milestone truth surfaces must be updated to match the new evidence rather than preserving stale planning state
---

<objective>
Close the remaining `v1.91` blocker by running one real topic through the
public AITP front door with a fresh topic slug, then refresh the durable
postmortem, issue ledger, milestone audit, and planning truth surfaces from the
result.
</objective>

<execution_context>
@D:/BaiduSyncdisk/Theoretical-Physics/.codex-home/get-shit-done/workflows/execute-plan.md
@D:/BaiduSyncdisk/Theoretical-Physics/.codex-home/get-shit-done/templates/summary.md
</execution_context>

<context>
@.planning/phases/165.6/165.6-CONTEXT.md
@.planning/v1.91-MILESTONE-AUDIT.md
@.planning/phases/165-real-topic-l0-to-l2-e2e-validation/165-01-SUMMARY.md
@.planning/phases/165-real-topic-l0-to-l2-e2e-validation/evidence/jones-von-neumann-algebras/POSTMORTEM.md
@research/knowledge-hub/runtime/scripts/run_first_run_topic_acceptance.py
</context>

<tasks>

<task type="auto">
  <name>Task 1: Write the closure runbook with one concrete public-front-door lane</name>
  <files>.planning/phases/165.6/165.6-E2E-CLOSURE-RUNBOOK.md</files>
  <read_first>.planning/phases/165.6/165.6-CONTEXT.md, .planning/v1.91-MILESTONE-AUDIT.md, research/knowledge-hub/runtime/scripts/run_first_run_topic_acceptance.py, .planning/phases/165-real-topic-l0-to-l2-e2e-validation/evidence/jones-von-neumann-algebras/POSTMORTEM.md</read_first>
  <action>Write a runbook that pins one fresh real-topic closure lane around the exact public entry command `aitp bootstrap --topic "Jones von Neumann Algebras Public Entry Closure" --topic-slug jones-von-neumann-algebras-public-entry --statement "Start from the Jones finite-dimensional backbone and record the first honest closure target through the public entry path." --json`. If `aitp` is unavailable on PATH, the runbook must spell out the equivalent public module invocation `python -m knowledge_hub.aitp_cli --kernel-root research/knowledge-hub --repo-root . bootstrap --topic "Jones von Neumann Algebras Public Entry Closure" --topic-slug jones-von-neumann-algebras-public-entry --statement "Start from the Jones finite-dimensional backbone and record the first honest closure target through the public entry path." --json`. The same runbook must pin the follow-on `loop`, `status`, and `replay-topic` commands for topic slug `jones-von-neumann-algebras-public-entry`, and must declare the evidence output paths under `.planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/`.</action>
  <verify>Get-Content .planning/phases/165.6/165.6-E2E-CLOSURE-RUNBOOK.md</verify>
  <acceptance_criteria>
    - `165.6-E2E-CLOSURE-RUNBOOK.md` contains the exact slug `jones-von-neumann-algebras-public-entry`
    - `165.6-E2E-CLOSURE-RUNBOOK.md` contains `bootstrap`, `loop`, `status`, and `replay-topic`
    - the runbook explicitly states that resuming an existing topic shell does not satisfy `REQ-E2E-01`
  </acceptance_criteria>
  <done>The closure lane is concrete enough to execute without improvising the public entry path.</done>
</task>

<task type="auto">
  <name>Task 2: Execute the fresh public-front-door real-topic lane and fix only blocking regressions</name>
  <files>research/knowledge-hub/tests/test_aitp_cli_e2e.py, research/knowledge-hub/tests/test_runtime_scripts.py, research/knowledge-hub/tests/test_aitp_service.py, research/knowledge-hub/knowledge_hub/aitp_cli.py, research/knowledge-hub/knowledge_hub/aitp_service.py, .planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/COMMANDS.md</files>
  <read_first>.planning/phases/165.6/165.6-E2E-CLOSURE-RUNBOOK.md, research/knowledge-hub/runtime/scripts/run_first_run_topic_acceptance.py, research/knowledge-hub/tests/test_aitp_cli_e2e.py, research/knowledge-hub/tests/test_runtime_scripts.py, research/knowledge-hub/tests/test_aitp_service.py, research/knowledge-hub/knowledge_hub/aitp_cli.py, research/knowledge-hub/knowledge_hub/aitp_service.py</read_first>
  <action>Run the exact public-front-door lane from the runbook against the fresh topic slug `jones-von-neumann-algebras-public-entry`, and append every command plus produced artifact path to `.planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/COMMANDS.md`. If the lane fails because of a real product regression in `bootstrap`, `loop`, `status`, or `replay-topic`, first add one failing regression test in `test_aitp_cli_e2e.py`, `test_runtime_scripts.py`, or `test_aitp_service.py` that reproduces the exact failure, then make the minimal production fix in `aitp_cli.py` and/or `aitp_service.py`, rerun the red test to green, and only then rerun the public-front-door lane. Do not patch unrelated surfaces and do not switch back to an existing topic shell.</action>
  <verify>Get-Content .planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/COMMANDS.md</verify>
  <acceptance_criteria>
    - `COMMANDS.md` begins with either `aitp bootstrap` or `python -m knowledge_hub.aitp_cli` and includes `--topic-slug jones-von-neumann-algebras-public-entry`
    - `COMMANDS.md` contains one successful `loop`, one successful `status`, and one successful `replay-topic` call for the same slug
    - any regression fix added during this task has a red test recorded before the production patch
    - no command in `COMMANDS.md` resumes a pre-existing topic shell for the closure proof
  </acceptance_criteria>
  <done>The milestone blocker is tested against the real public front door rather than against a side entrance.</done>
</task>

<task type="auto">
  <name>Task 3: Write the new closure postmortem and routed issue ledger</name>
  <files>.planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/POSTMORTEM.md, .planning/phases/165.6/165.6-ISSUE-LEDGER.md</files>
  <read_first>.planning/phases/165-real-topic-l0-to-l2-e2e-validation/evidence/jones-von-neumann-algebras/POSTMORTEM.md, .planning/phases/165-real-topic-l0-to-l2-e2e-validation/165-ISSUE-LEDGER.md, .planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/COMMANDS.md</read_first>
  <action>Write a fresh closure postmortem for the public-entry run under `.planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/POSTMORTEM.md` and a matching routed ledger under `.planning/phases/165.6/165.6-ISSUE-LEDGER.md`. The postmortem must explicitly answer whether the run started from the public front door, name the actual bounded outcome, list the concrete artifact refs produced by the run, and compare the closure lane to the earlier Jones postmortem. The issue ledger must preserve one row per issue, include severity, evidence refs, and a concrete GSD destination for every newly discovered blocker or residual debt.</action>
  <verify>Get-Content .planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/POSTMORTEM.md; Get-Content .planning/phases/165.6/165.6-ISSUE-LEDGER.md</verify>
  <acceptance_criteria>
    - `POSTMORTEM.md` contains the line `public front door` in the route section and does not claim a shell-resume path
    - `POSTMORTEM.md` names one bounded outcome and at least one artifact ref produced by the closure lane
    - every non-template row in `165.6-ISSUE-LEDGER.md` has a non-empty `proposed_gsd_destination` cell
    - the ledger does not leave any discovered issue only in prose outside the table
  </acceptance_criteria>
  <done>The closure run leaves the same durable evidence and routing discipline required by the milestone.</done>
</task>

<task type="auto">
  <name>Task 4: Re-audit v1.91 and synchronize planning truth surfaces</name>
  <files>.planning/v1.91-MILESTONE-AUDIT.md, .planning/REQUIREMENTS.md, .planning/STATE.md, .planning/ROADMAP.md, .planning/BACKLOG.md</files>
  <read_first>.planning/v1.91-MILESTONE-AUDIT.md, .planning/REQUIREMENTS.md, .planning/STATE.md, .planning/ROADMAP.md, .planning/phases/165.6/evidence/jones-von-neumann-algebras-public-entry/POSTMORTEM.md, .planning/phases/165.6/165.6-ISSUE-LEDGER.md</read_first>
  <action>Refresh `.planning/v1.91-MILESTONE-AUDIT.md` from the new closure evidence, then synchronize `.planning/REQUIREMENTS.md`, `.planning/STATE.md`, and `.planning/ROADMAP.md` so they match the actual milestone outcome. If `REQ-E2E-01` is now satisfied, mark it satisfied, update the audit status away from `gaps_found`, and point the next step toward milestone completion. If the public-entry lane surfaces a new blocker instead, keep the audit honest at `gaps_found`, add the new blocker to `ROADMAP.md` or `BACKLOG.md` with a concrete destination, and make `STATE.md` point to that new gap instead of pretending `v1.91` is ready to archive.</action>
  <verify>Get-Content .planning/v1.91-MILESTONE-AUDIT.md; Get-Content .planning/REQUIREMENTS.md; Get-Content .planning/STATE.md</verify>
  <acceptance_criteria>
    - `v1.91-MILESTONE-AUDIT.md` reflects the new `165.6` evidence rather than the pre-closure blocker state
    - `REQUIREMENTS.md` and `STATE.md` no longer disagree with the audit result for `REQ-E2E-01`
    - if a fresh blocker remains, that blocker is explicitly routed in `ROADMAP.md` or `BACKLOG.md`
  </acceptance_criteria>
  <done>Milestone truth surfaces are honest again and the next GSD step is unambiguous.</done>
</task>

<task type="auto">
  <name>Task 5: Re-run the final front-door and full-suite verification sweep</name>
  <files>research/knowledge-hub/runtime/scripts/run_first_run_topic_acceptance.py, research/knowledge-hub/tests/test_aitp_cli_e2e.py, research/knowledge-hub/tests/test_runtime_scripts.py, research/knowledge-hub/tests/test_aitp_service.py</files>
  <read_first>.planning/v1.91-MILESTONE-AUDIT.md, research/knowledge-hub/runtime/scripts/run_first_run_topic_acceptance.py</read_first>
  <action>After the closure lane and truth-surface updates land, re-run the bounded first-run baseline and the full knowledge-hub regression suite: `python research/knowledge-hub/runtime/scripts/run_first_run_topic_acceptance.py --json` and `python -m pytest research/knowledge-hub/tests -q`. If task 2 added a new focused regression test, include that focused command in the verification notes before the full sweep.</action>
  <verify>python -m pytest research/knowledge-hub/tests -q</verify>
  <acceptance_criteria>
    - `run_first_run_topic_acceptance.py --json` exits 0
    - `python -m pytest research/knowledge-hub/tests -q` exits 0
    - the final phase summary can cite both the public-front-door closure lane and the full green suite
  </acceptance_criteria>
  <done>The closure proof sits on a green baseline instead of on one ad hoc successful run.</done>
</task>

</tasks>
