# Phase 165.5-03 Summary

Status: materially implemented in working tree

## Goal

Finish the `165.5` Obsidian-export plan by turning the new `L1` concept-graph
surface into a usable, navigable, operator-facing graph note system, first
inside the repo-local `L1` vault and then through an explicit bridge into the
external theoretical-physics brain.

## What Landed

- repo-local Obsidian-compatible concept-graph export:
  - `knowledge_hub/obsidian_graph_export.py`
  - `intake/topics/<topic_slug>/vault/wiki/concept-graph/`
- concept-graph export is now integrated into ordinary `L1` vault
  materialization:
  - `knowledge_hub/l1_vault_support.py`
- exported graph surfaces now include:
  - `manifest.json`
  - top-level `index.md`
  - one community overview page per folder
  - unclustered-node layout with its own overview page
  - node notes with frontmatter and Obsidian wikilinks
- node-note readability improvements now include:
  - source summary excerpts
  - best available locator text
  - directional relation wording for incoming/outgoing edges
  - explicit hyperedge context wording
  - full community-membership display
- multi-community nodes now behave deterministically:
  - one physical note under a primary community folder
  - links from every community overview page that contains the node
- explicit external mirror bridge now exists for the operator-primary
  theoretical-physics brain:
  - `knowledge_hub/obsidian_graph_bridge_support.py`
  - service wrapper `AITPService.sync_l1_graph_export_to_theoretical_physics_brain(...)`
  - receipt-backed local sync artifact
- operator-facing CLI entrypoint now exists for the external bridge:
  - `aitp sync-l1-graph-export-to-theoretical-physics-brain --topic-slug <slug>`

## Verification

- `python -m pytest research/knowledge-hub/tests/test_obsidian_graph_export.py -q`
- `python -m pytest research/knowledge-hub/tests/test_obsidian_graph_bridge_support.py -q`
- `python -m pytest research/knowledge-hub/tests/test_aitp_cli.py -q -k "sync_l1_graph_export_to_theoretical_physics_brain"`
- `python -m pytest research/knowledge-hub/tests/test_aitp_cli_e2e.py -q -k "sync_l1_graph_export_to_theoretical_physics_brain_cli_json_path"`
- `python -m pytest research/knowledge-hub/tests/test_runtime_scripts.py -q -k "obsidian_export or multicommunity or brain_bridge"`
- `python -m pytest research/knowledge-hub/tests/test_aitp_service.py -q -k "l1_vault or concept_graph or sync_l1_graph_export_to_theoretical_physics_brain"`
- `python research/knowledge-hub/runtime/scripts/run_l1_graph_obsidian_export_acceptance.py --json`
- `python research/knowledge-hub/runtime/scripts/run_l1_graph_obsidian_multicommunity_acceptance.py --json`
- `python research/knowledge-hub/runtime/scripts/run_l1_graph_obsidian_brain_bridge_acceptance.py --json`

## Outcome

`165.5-03 / 999.84` is now materially complete for the current roadmap scope:

- the concept graph is no longer trapped in runtime JSON or markdown summaries
- operators can browse it through repo-local Obsidian-compatible notes
- the same export can be mirrored explicitly into the external
  theoretical-physics brain with an auditable receipt
- the bridge remains explicit and side-effectful instead of being silently
  folded into `status`

## Residual Debt

- export receipts are JSON-only; a human-readable markdown receipt could still
  be added later if operators want a browseable sync log
- the external bridge currently mirrors the full export tree; a future selective
  sync mode could reduce churn
