# Phase 165.5-03 Multi-Community Summary

Status: implemented in working tree

## Goal

Close the next `165.5-03 / 999.84` slice by making one exported node remain
deterministically stored once while still being navigable from every community
it belongs to.

## What Landed

- `obsidian_graph_export.py` now distinguishes:
  - primary community for physical note placement
  - full community membership for navigation
- a multi-community node is now:
  - written once under a deterministic primary community folder
  - listed in every relevant community overview page
  - listed with all community memberships on the node page itself
- community folder counting and community page counting now reflect the full
  community-membership surface rather than only the primary folder assignment
- isolated acceptance now exists for the full multi-community export path:
  - `runtime/scripts/run_l1_graph_obsidian_multicommunity_acceptance.py`

## Verification

- `python -m pytest research/knowledge-hub/tests/test_obsidian_graph_export.py -q`
- `python -m pytest research/knowledge-hub/tests/test_runtime_scripts.py -q -k "l1_vault or l1_concept_graph or obsidian_export or multicommunity"`
- `python -m pytest research/knowledge-hub/tests/test_aitp_service.py -q -k "l1_vault or concept_graph"`
- `python research/knowledge-hub/runtime/scripts/run_l1_graph_obsidian_multicommunity_acceptance.py --json`

## Outcome

`165.5-03` now has another closed export-layout slice:

- repo-local Obsidian graph export can represent overlapping graph communities
  without duplicating note files
- operators can navigate from either community overview page to the same shared
  node note
- the export layout stays deterministic and acceptance-testable

## Remaining Open Work Inside 165.5-03 / 999.84

- decide whether the export should remain repo-local or gain an explicit bridge
  into the external theoretical-physics brain
- optional later enrichment of node pages with source-specific evidence refs or
  more compact relation grouping
