Audit of every /wiki/POST "Summary of invocation patterns" bullet crossed with 5 target states (absent, at-tip, ahead, behind, diverged) against be/test/. 5 parallel workers read every relevant run.sh. Verdicts: 14 cells covered, 30 uncovered, 0 MISMATCH (no test asserts an outcome contradicting the spec). Two spec-code gaps surfaced (bare remote-track post, ssh://host#msg).
Only 4 call sites in all of be/test/ run a truly bare jab post; most states are pinned via explicit ?branch///X/ssh:// slots or not at all. Happy-path FF cells are green, the refusal ladders are mostly unasserted.
//X/branch arms, a schemed track row falls into advanceBranch.ssh://host#msg commit-then-push is unimplemented — parseSlots drops a host-slot fragment, a ?-less ssh://host#msg dies POSTNOREF.Cover every cell below with a minimal repro-first test in be/test/ (post/, sub/, wire/ house style); the two spec-code gaps need an implementation ruling first.
No test edits beyond adding the missing cells; POST-025 owns the wire verdict recode — crosslink, do not duplicate its cells here.
Cells 1b-i/ii/iii/v and 4-i/ii/iii/v share advanceWorktree — one suite parameterised over bare-track vs explicit //X entry covers both rows.
Tests landed 2026-07-16 in test/post/ (26 new suites, CMake glob-registered); [v] = suite exists AND is green; RED = suite exists as a kept repro, bug open.
post/adv-contains — RED repro, see BUG-1 below//X target absent: post/wt-target-none (NAVNONE fires; post.js:324 WTNONE guard is shadowed dead code)//X target at cur's tip → POSTNONE: post/wt-target-eq//X target ahead → POSTNONE "already contains": post/wt-target-ahead//X target diverged/unrelated → POSTNOFF: post/wt-target-nonffpost/bare-detached (message is still the commit-shaped "no changes since base")post '#' msg reuse: post/bare-patch-reuse — RED repro, see BUG-2post/commit-selective-first — RED repro, see BUG-4#msg on an already-ahead wt: post/commit-ahead#msg commit on a diverged wt SUCCEEDS, no ref gate: post/commit-diverged[dog] spice: post/sub-msg-spice — RED repro (verbatim today), see BUG-5?name at-tip → POSTNONE: post/adv-named-attip?.. parent FF + POSTQRY-on-trunk: post/adv-parent?. own-branch FF + at-tip POSTNONE: post/adv-dot? trunk at-tip/ahead/diverged: post/adv-trunk-states — ahead leg RED, same BUG-1//X target 3-way merged, not clobbered: post/wt-target-dirtypost/wt-target-conflictpost //self → POSTNONE: post/wt-target-self — RED repro, see BUG-3#tip row shape): post/wt-target-detachedpost/push-createpost/push-eqpost/push-unrelated; diverged over http: post/push-nonff-http?-less host URI: post/push-norefpost/push-freshssh://host#msg commit-then-push: UNIMPLEMENTED (needs ruling + parseSlots host fragment)post/push-saveref2026-07-16 fix round (uncommitted, this worktree): BUG-1/2/5 fixed in verbs/post/post.js, BUG-4 in core/discover.js; their repros are green. Open: BUG-3 (design law), BUG-6/8 + MISMATCH-1 (pre-existing test edits need permission), DIS-072 fork (ruling).
post //self unguarded: loop.js authorityRepo consumes the arg0 //A as the run anchor, post runs BARE and silently FFs trunk; the post.js:326 self-guard is unreachable — fix collides with the arg0-only design law, needs gritzko.get/repo to anchor a store (isAnchorRow, mirrors wtlog.anchor()); commit-selective-first green, full get/put/post/sub sweep clean._spice path, postOne appends [dog]/ [dog/abc] (post.js:664-669, 717-719); sub-msg-spice green, sub/* unharmed.post '?' after each commit (DIS-076: a commit mints no ref); both green.//wt/path#hash pin record.post //self.ssh://host#msg need gritzko's implementation ruling before their tests can assert anything.2026-07-16: full suite 238/238 green (10.6s; was 12 red of 236 at 96s). All work UNCOMMITTED in work/POST-026, awaiting gritzko's review + land.
[dog] spice, plain-text refusals), core/discover.js (row-0 anchor), shared/wire.js (fetch/push wfd-leak hang), shared/ingest.js (indexAppended stale header count, GET-046 tail-walk), core/loop.js (self-target //X operand gate — strict-descendant consume, deviation flagged for ruling), shared/relate.js + shared/branch.js (POST* code strings dropped, dead POST→PUT/HEAD shims removed).post '?'; all POST*-code greps → plain-text messages.ssh://host#msg (need rulings), 5-iii (POST-025), https/be:// push transports, arg0 strict-descendant vs literal-prepend verdict.