Orchestrata Ultimate › Plans › briefs › 2026-10-13-adr-sync-pointers-check-bodies-rebaseline-0073

Brief: ADR graph sync treats wiki pointers as pointers, the three-way check compares bodies, ADR-0073 re-baselined once

Source: plans/briefs/2026-10-13-adr-sync-pointers-check-bodies-rebaseline-0073.md at 8a2cb42ad · last changed 2026-10-13 · first committed 2026-10-13 · 20 lines.

Prose pending.

Plan text

Brief: ADR graph sync treats wiki pointers as pointers, the three-way check compares bodies, ADR-0073 re-baselined once

Date: 2026-10-13 · DESIGN_WAIVER: ADR-0096 (Accepted ruling; the entire scope executes it) · Executor: builder (Sonnet) in a worktree off origin/master · Audit evidence: session scratchpad adr-body-drift-audit-2026-10-13.md and its JSON beside it

GOAL: scripts/sync_architecture_to_graph.py --adrs <wiki page> reports 0 BODY_DRIFT for the 35 pointer-only ids, scripts/check_adr_graph_sync.py compares body_sha and would have caught ADR-0073, and ADR-0073's graph node carries its full docs body with status Accepted — all proven against the real graph.

FILES:

CONSTRAINTS: Every Python command through uv run inside the worktree (uv sync --frozen first; load the toolchain variables the repo's own way: direnv exec <worktree> uv run … once .envrc is allowed, else state that it is blocked and ask); never system python, never .venv/bin/... by path. No test doubles; tests hit the real graph through the committed env profiles (secrets from ~/.env, never printed). The immutability guard's behaviour for genuine edits is unchanged and keeps a test. The re-baseline path refuses any id other than the one named by the authority ADR and is exercised exactly once for ADR-0073 after the parser fix is green. No changes to the 35 pointer ids' graph bodies. Mohamed authorship, no AI footers. Do not edit plans/ast-ultimate.json. timeout 300 per test command; observed pytest (pytest-live); basetemp under the worktree .bt/.

DONE WHEN: (1) a sync run over the wiki page prints 0 BODY_DRIFT lines and its summary; (2) check_adr_graph_sync.py prints body-agreement for 120 ids and a deliberately edited temp copy of one Accepted docs ADR (not committed) makes it print BODY_DRIFT for that id; (3) the graph node for ADR-0073 has non-empty context/alternatives/consequences, status Accepted, rebaselined_by = ADR-0096; (4) the new tests pass; (5) ruff, mypy on the three files, check_one_class_per_file green; (6) commits on the worktree branch, worktree clean.

VERIFY: direnv exec <worktree> uv run python scripts/sync_architecture_to_graph.py --adrs /home/mohamed/workspace/knowledge-wiki/projects/orchestrata-ultimate/decisions.md 2>&1 | grep -c BODY_DRIFT prints 0; direnv exec <worktree> uv run python scripts/check_adr_graph_sync.py | tail -3 shows the body comparison line and OK; pytest-live tests/knowledge_graph/test_architecture_writer_status_line.py tests/scripts/test_sync_adrs_pointer_entries.py tests/scripts/test_check_adr_graph_sync_bodies.py -q green.

Report with: the sync and check output lines, the ADR-0073 node's properties as read back, test counts, defects fixed with windows, and the branch name for the ship.