Version 0.8.4 is the sequential candidate for Issue #37.
Ordinary named-remote, non-force staging, commits, and pushes stay host-native when they
include neither a tag nor a traceable trigger. A combined commit, tag, and push of an
already-prepared plugin release selects traceable-git-submit's hardened phase. The
traceable triggers are an explicit $traceable-git-submit invocation, checkpoint,
baseline, consolidation, recovery, multi-target, force, and history replacement. Merely
mentioning submit, publish, or push does not select the route.
No match is neither denial nor authorization. For a combined commit and push, the exact expected staged payload is normal host state; it does not manufacture a repository-state conflict. Only concrete current evidence of drift, extra or unknown staged paths, an in-progress operation, force or target widening, instruction conflict, or known divergence stops before commit. An unchanged authorized envelope is not reconfirmed.
An explicit $traceable-git-submit simple push loads only
references/direct-submit.md. That phase preserves the named remote and branch,
keeps repository hooks active, pushes once, and treats normal Git output and a
normal tracking update as primary evidence. It makes no query after a conclusive
result and at most one owning-remote query after material ambiguity. It never
substitutes a raw URL, fingerprints a normal target, creates a wrapper or
generated runner, adds --no-verify, fetches, forces, widens, or retries.
Heavyweight raw-target, compare-and-swap, backup, checkpoint, consolidation, recovery, history-replacing, and multi-target controls remain under their existing phase owners. A stale tracking ref alone does not block normal Git's safe live fast-forward negotiation.
The two new schema-v2 cases have empty benchmarkSets; the 13-case and 17-case
benchmarks retain their exact 30 memberships. Deterministic fixtures cover the
ordinary no-route boundary, exact reference loading, hooks, one push, stale
tracking A/B/C, divergence, target drift, force, widened or multiple targets,
fetch and retry separation, ambiguity, and a pre-commit conflict that leaves
HEAD unchanged.
The v0.8.4 routing-context record uses the immutable v0.7.9 using-axiom gate as its cumulative baseline. The baseline has 5,899 UTF-8 bytes, 757 whitespace-delimited words, 107 logical lines, 1 direct reference, and an estimated 1,475 tokens. The candidate has 7,739 UTF-8 bytes, 1,001 whitespace-delimited words, 135 logical lines, 1 direct reference, and an estimated 1,935 tokens. Its cumulative deltas are +1,840 bytes, +244 words, +28 lines, 0 references, and +460 estimated tokens. The record marks the absolute threshold reached, the relative threshold reached, and review status reviewed. The exact static counts are context proxies, and each ceil(UTF-8 bytes / 4) figure is only an estimate for the same English Markdown surface, not an exact token or credit count. Codex host and lifecycle observation remains NOT-RUN; authenticated Claude Code remains UNAVAILABLE / NOT-RUN. No host observation is inferred from these static values.
Both manifests identify 0.8.4, but the checked-in release status remains
STATIC-ONLY. Phase 3A's two route diagnostics passed against the prior patch;
its behavior observation remained terminal UNKNOWN, and Phase 3B's replacement
behavior observation stopped terminally on repository-state-conflict before
commit or push. Those external records remain immutable and do not observe this
revised candidate. It performs no remote action, and a fresh focused behavior
observation plus complete release-bound Codex observation remain required.
Authenticated Claude Code
host and lifecycle validation is UNAVAILABLE / NOT-RUN because no subscription
or authenticated session is available. Actual post-compaction lifecycle
observation remains NOT-RUN.
Published v0.8.3 evidence and all earlier terminal records remain separate and unchanged.