Orchestrata Ultimate › Plans › briefs › 2026-10-13-adr-0102-rebaseline-mechanism-and-foreign-register-refusal

Brief: ADR-0102 rules 1 and 3 — the re-baseline reaches the three overwritten nodes, and the sync refuses a foreign register

Source: plans/briefs/2026-10-13-adr-0102-rebaseline-mechanism-and-foreign-register-refusal.md at 8a2cb42ad · last changed 2026-10-13 · first committed 2026-10-13 · 51 lines.

Prose pending.

Plan text

Brief: ADR-0102 rules 1 and 3 — the re-baseline reaches the three overwritten nodes, and the sync refuses a foreign register

Date: 2026-10-13 · DESIGN_WAIVER: ADR-0102 (Accepted 2026-10-13 21:12: re-baseline graph nodes ADR-0035, ADR-0036 and ADR-0041 from this repository's records under ADR-0102's authority; the sync refuses a foreign page or directory until a project key exists) and ADR-0096 (Accepted: --rebaseline-id with --authority, logged) · Executor: Kimi in worktree /home/mohamed/workspace/orchestrata-ultimate-worktrees/adr-0102-rebaseline on branch fix/adr-0102-rebaseline-and-refusal off origin/master 9447d4fcc · Design settled below; if a fork appears, STOP and report.

GOAL: scripts/check_adr_graph_sync.py reports no violation across all ids after three logged re-baselines, and scripts/sync_architecture_to_graph.py refuses to read any register that is not this repository's.

VERIFIED (coordinator, origin/master 9447d4fcc, run at 21:14 on 2026-10-13):

FILES (repo-relative): Modify:

THEN, the repair itself (the slice's acceptance, a real graph write under the ruling): from the worktree, after the tests are green, direnv exec <worktree> uv run python scripts/sync_architecture_to_graph.py --adrs $WIKI_ROOT/projects/orchestrata-ultimate/decisions.md --repo-adrs docs/adr --rebaseline-id ADR-0035 --authority ADR-0102, the same for ADR-0036 and ADR-0041, then scripts/check_adr_graph_sync.py. Record the three REBASELINED: lines and the check's summary line verbatim in your hand-back.

CONSTRAINTS:

DONE WHEN:

  1. The two new tests and tests/scripts/test_sync_rebaseline_log_line.py plus test_sync_adrs_pointer_entries.py are green, observed.
  2. The three re-baselines ran and check_adr_graph_sync.py prints OK — <N> id(s) examined, no drift or collisions detected.
  3. ruff and mypy clean on the script and tests; git status --short empty; one commit naming ADR-0102 rules 1 and 3.

VERIFY: the pytest summary line; the three REBASELINED: lines; the check's summary line; git log --oneline -1.

Report back with those observed outputs and anything that stopped you.

Coordinator amendment (2026-10-13 21:45, after the builder's fork report)

Fork reported by the builder: the rule-3 refusal, applied in every mode before any write, turns 11 existing tests red (5 in tests/scripts/test_sync_architecture_to_graph.py, 6 in tests/scripts/test_sync_repo_adrs.py) because their scratch registers live in pytest's tmp_path, outside both allowed roots.

Ruling (coordinator; this executes ADR-0102 rule 3 as written and opens no new decision): the builder's option (1).