Orchestrata Ultimate › Plans › briefs › git-sentinel-split-signal

§5.2 — git_sentinel: tree snapshot is the hard signal, ref advance is advisory

Source: plans/briefs/git-sentinel-split-signal.md at 8a2cb42ad · last changed 2026-10-20 · first committed 2026-10-20 · 55 lines.

Prose pending.

Plan text

§5.2 — git_sentinel: tree snapshot is the hard signal, ref advance is advisory

Status: DISPATCH-READY · Repo: /home/mohamed/workspace/wt-COMPONENTS (branch components) Authority: Mohamed ruling 2026-10-20 §5.2, option (a): "Tree snapshot is the hard signal; ref advance = advisory" — a test-modified tracked file stays a hard ❌; a ref advance with an untouched tree becomes an advisory log line. The 2026-07 incident class (a test mutating the live repo: core.bare/fsmonitor/identity + 16 commits) MUST stay caught; only the false alarm dies.

Context (measured)

Deliverables

Fence

ALLOWED: tests/plugins/git_sentinel.py, tests/plugins/test_git_sentinel.py, tests/plugins/test_git_sentinel_untracked_root.py — NOTHING else (no /tmp writes, no helper scripts, no tests/conftest.py). FOREIGN DIRT — do not touch/stage/"fix": context.json, context.md, context.history.md, docs/CODEBASE_MAP*.md, plans/ast-*.json, reports/run-tests-latest.json, .claude/skills/**, .deepchat/**.

Conduct

RUL-037 (no python -c/heredoc writes; file tools only). Measure before editing; verbatim outputs; no false attribution. Do NOT commit (the coordinator commits). The branch's dirty files above are NOT yours. Final report ends with: git status of the three allowlist files, the before/after snippets, the D4 lane output verbatim.