POST-028: post cannot target a local file:/be: STORE the URI never reaches the push arm, misparsing as narrow-commit or local branch advance

Now
OPEN
Sev
HIGH

The wire layer fully supports a local store push: shared/wire.js classify() maps an authority-less file:/be: URI to a LOCAL keeper receive-pack exec, and pushRemote's GIT-019 session ("ssh/local push") rides it. But verbs/post/post.js parseSlots() (:119) routes to the Host/push slot ONLY on u.host (authority present + scheme), so an authority-less store URI CANNOT reach pushRemote. Live 2026-07-16, gritzko syncing the stale ~/src/jab.be store from ~/src/journal/jab: jab post file:/home/gritzko/src/jab.be no host, no query the path fell into the NARROW slot a scoped commit over an unchanged tree "no changes since base" (post.js:866); jab post 'file:...jab.be?/jab' Query slot, the file: path DROPPED local advanceBranch "? is already at cur's tip". Neither error hints the store target was ignored. POST-027's matrix crossed ssh/https hosts + //X worktrees; a local-store target is not even a row in /wiki/POST "invocation patterns" (row 5 is ssh://host only) spec gap AND code gap.

Input

Context

Every layer below post already speaks local-store push; only the arg parse (and the spec table) is blind to it.

Goals

RULED by gritzko 2026-07-16: a file: target runs the SERVER-SIDE process, same as ssh file: URIs address other projects on the same host, possibly backed by a DIFFERENT store, so they unify with the ssh transport rather than getting a direct-write special case. The server side is the jab JS daemon (native keeper is RETIRED GIT-020 shared/serve.js, jab-to-jab wire).

Constraints

Reuse the push spine; no second transport or parser.

WIP

Design decisions

TODOs

Blockers and bummers

Outcome