---
phase: 64-human-facing-graph-reports-and-derived-navigation
plan: 01
type: execute
wave: 1
depends_on:
  - 63-consultation-context-and-artifact-maturity
files_modified:
  - research/knowledge-hub/knowledge_hub/l2_compiler.py
  - research/knowledge-hub/knowledge_hub/cli_l2_compiler_handler.py
  - research/knowledge-hub/knowledge_hub/aitp_service.py
  - research/knowledge-hub/tests/test_l2_compiler.py
  - research/knowledge-hub/tests/test_aitp_service.py
  - research/knowledge-hub/tests/test_aitp_cli.py
  - research/knowledge-hub/tests/test_aitp_cli_e2e.py
autonomous: true
requirements:
  - REQ-L2RET-04
must_haves:
  truths:
    - graph reports must stay derived from canonical inputs
    - operators must be able to inspect graph growth without raw JSONL
    - service and CLI entrypoints must regenerate the same bounded derived views
---

<objective>
Add a real human-facing graph report and derived navigation surface over the
bounded seeded `L2` graph.
</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/64-human-facing-graph-reports-and-derived-navigation/64-CONTEXT.md
@.planning/REQUIREMENTS.md
@research/knowledge-hub/knowledge_hub/l2_compiler.py
@research/knowledge-hub/tests/test_l2_compiler.py
</context>

<tasks>

<task type="auto">
  <name>Task 1: Add failing tests for graph report and navigation outputs</name>
  <files>research/knowledge-hub/tests/test_l2_compiler.py, research/knowledge-hub/tests/test_aitp_service.py, research/knowledge-hub/tests/test_aitp_cli.py, research/knowledge-hub/tests/test_aitp_cli_e2e.py</files>
  <read_first>research/knowledge-hub/tests/test_l2_compiler.py, research/knowledge-hub/knowledge_hub/l2_compiler.py</read_first>
  <action>Add red tests that require a compiled graph report command plus derived navigation pages.</action>
  <verify>python -m pytest research/knowledge-hub/tests/test_l2_compiler.py research/knowledge-hub/tests/test_aitp_service.py research/knowledge-hub/tests/test_aitp_cli.py research/knowledge-hub/tests/test_aitp_cli_e2e.py -q</verify>
  <acceptance_criteria>
    - tests fail before implementation
    - failures prove graph inspection is still too thin
  </acceptance_criteria>
  <done>A red contract exists for Phase `64`.</done>
</task>

<task type="auto">
  <name>Task 2: Implement compiled graph report and navigation pages</name>
  <files>research/knowledge-hub/knowledge_hub/l2_compiler.py, research/knowledge-hub/knowledge_hub/cli_l2_compiler_handler.py, research/knowledge-hub/knowledge_hub/aitp_service.py</files>
  <read_first>research/knowledge-hub/knowledge_hub/l2_compiler.py, research/knowledge-hub/canonical/L2_COMPILER_PROTOCOL.md</read_first>
  <action>Compile a graph report, hub summary, relation clusters, and one derived navigation page per unit through production code.</action>
  <verify>python -m pytest research/knowledge-hub/tests/test_l2_compiler.py research/knowledge-hub/tests/test_aitp_service.py research/knowledge-hub/tests/test_aitp_cli.py research/knowledge-hub/tests/test_aitp_cli_e2e.py -q</verify>
  <acceptance_criteria>
    - service and CLI can materialize the graph report
    - navigation index and unit pages are written to disk
    - graph growth becomes inspectable without raw JSONL files
  </acceptance_criteria>
  <done>Operator-facing graph navigation lands through a real entrypoint.</done>
</task>

<task type="auto">
  <name>Task 3: Re-run graph-report regressions and full suite</name>
  <files>research/knowledge-hub/tests/test_l2_compiler.py, research/knowledge-hub/tests/test_aitp_service.py, research/knowledge-hub/tests/test_aitp_cli.py, research/knowledge-hub/tests/test_aitp_cli_e2e.py, research/knowledge-hub/tests/test_maintainability_budgets.py</files>
  <read_first>.planning/REQUIREMENTS.md</read_first>
  <action>Re-run the graph-report slice and the full knowledge-hub suite before moving to milestone-close docs and acceptance.</action>
  <verify>python -m pytest research/knowledge-hub/tests -q</verify>
  <acceptance_criteria>
    - graph-report slice exits 0
    - maintainability budgets stay green
    - no full-suite regression is introduced
  </acceptance_criteria>
  <done>Phase `64` lands on a stable verified baseline.</done>
</task>

</tasks>
