Audit + coverage ticket along the lines of POST-027: cross every bullet of /wiki/GET "Summary of invocation patterns" (rewritten by gritzko 2026-07-16) with the section's own axes and verify each meaningful cell has a test in test/; fill the gaps. The axes: FORM 1.1-1.5 (bare/tracked, ?branch+relative, #hash detach, #~1 rewind, schemed network leg — the only store-writing pattern), MODE 2.0-2.5 (bootstrap clone, normal weave, get! force, narrowed recover, narrowed force, cross-ref cherry-pick), HISTORY 3.1-3.4 (ahead/behind/same/divergent-weave-errs-out), SUBS 4.0-4.2 (--nosub, pin-attached recursion ignoring differently-attached subs, get! recursion). Also the ruled corners: detached bare get = full-tree recovery at BASE (target=base, missing files restored — gritzko 2026-07-16), track/base record semantics (recentmost get = track + base), unweavable divergent leaf errs out loudly (PATCH-012).
Parallel workers read every test/get/, test/wire/, test/sub* run.sh and verdict each cell: covered (test name), uncovered, or MISMATCH (test contradicts the spec).
test/ sub (beagle-ext-tests project); get tests under test/get/, wire legs under test/wire/, sub recursion under test/sub*/.work/GET-047 (tip cfb712d5) is the audit + test-writing home.Every meaningful cell covered; impossible/degenerate cells explicitly marked so.
test/get/ conventions.?<sha> spelling only), #~1 (rewind), file:/ssh:/http:/be: legs incl. golden paritywork/GET-047): 10 tests GREEN + registered, suite 256/256 — trunk-switch, tag-local, store-readonly, force-narrow, restore-deleted, behind-branch, behind-remote, noop-same, sub/pin-advance, sub/force-sub-attachrun.sh.broken:attachedBranch() — detached bare get recovers at BASE (deleted restored, dirty kept, record stays #<base>); pure #<sha> detaches; ?.//?../ via new branchlib.resolveRel (post's resolveTarget delegates to it); wt/remote tracks re-resolve/re-fetch on bare get; every append preserves the track (decay gone). Touched get.js, branch.js, store.js (additive origin row on eachRemote), post.js.nosub gates both gitlink leaf branches (mount + unmount) off be.flags; subAttachedElsewhere (the ONE attach reader vs the ONE track writer, force short-circuit first) gates mountGitlink + recurseSubMounts — differently-attached subs untouched by normal get, get! overrides, fresh/unmounted subs still mount.sweepUntracked (classify.wtScan = status's unk set); cherryPick for blob-rpath //WT/path/file (scoped force-overwrite, NO wtlog record — D4 restore precedent); DAG-diverged get weaves each write leaf off dag.mergeBase (new in shared/dag.js), unweavable stays the PATCH-012 loud refusal. DEVIATION suite-pinned: the diverged DELETE leaf stays tree-driven (branch-relative pins that ?../sib removes child-only files); only write leaves weave.get! keeps gitignored files (unk-set semantics, no -x); post's //WT advance with force now sweeps untracked in the target; old buggy //X/file#sha track rows now bare-get into a scoped re-pick, not a whole-tree switch; ssh clones still record ?master#<sha> (schemed-URI-as-track is plumbed, needs a ruling).work/GET-047 (uncommitted): suite 266/266 (orchestrator re-ran); product diff = get.js, branch.js, dag.js, store.js, post.js. Awaiting review/land order.