# Phase 165.5-02 Graph Community Bridge Summary

Status: implemented in working tree

## Goal

Close the next `999.83` slice by making graph analysis detect cross-source
bridges from shared community labels even when the source-local node labels do
not overlap.

## What Landed

- `graph_analysis_tools.py` now emits `shared_community_bridge` connections when
  two or more sources share the same normalized community label but do not share
  a concept label
- connection ranking now has explicit strength ordering:
  - `shared_foundation_bridge`
  - `shared_concept_bridge`
  - `shared_community_bridge`
- weaker community bridges are suppressed when a stronger bridge already covers
  the same source set + community label
- community-level bridge details now retain source titles and representative
  node labels so the graph signal remains legible in runtime surfaces
- literature-intake fast-path staging inherits the new heuristic automatically:
  - graph-derived `physical_picture`
  - graph-derived `workflow`
  - provenance tag `graph_analysis_kind=shared_community_bridge`
- isolated acceptance now exists for the full path:
  - `runtime/scripts/run_l1_graph_community_bridge_acceptance.py`

## Verification

- `python -m pytest research/knowledge-hub/tests/test_graph_analysis_tools.py -q`
- `python -m pytest research/knowledge-hub/tests/test_literature_intake_support.py -q`
- `python -m pytest research/knowledge-hub/tests/test_runtime_scripts.py -q -k "graph_analysis or graph_diff or community_bridge or mode_enforcement"`
- `python -m pytest research/knowledge-hub/tests/test_aitp_service.py -q -k "graph_diff or literature_intake_stage"`
- `python -m pytest research/knowledge-hub/tests/test_runtime_profiles_and_projections.py -q -k "graph_analysis"`
- `python research/knowledge-hub/runtime/scripts/run_l1_graph_community_bridge_acceptance.py --json`

## Outcome

`999.83` now has another closed slice:

- `L1` concept-graph analysis can surface cross-paper/common-cluster bridges
  even when terminology diverges at the node-label level
- those community-level bridges can now flow directly into bounded `L2` staging
  work instead of stopping at operator-visible runtime analysis
- the staged bridge units coexist cleanly with existing source-derived units,
  so graph heuristics extend the fast path instead of replacing it

## Remaining Open Work Inside 165.5-02 / 999.83

- richer deterministic graph heuristics beyond shared label/foundation/community
  bridges
- route- or promotion-level policy for how strongly graph-analysis signals
  should affect downstream prioritization
- any later decision to move from `999.83` completion into `165.5-03 / 999.84`
  Obsidian graph export
