bug: gabriel-muse vault push 404 on legacy pack endpoint (knowtation-vault-smoke)
0
Anchors
—
Blast radius
—
Churn 30d
0
Proposals
bug: gabriel-muse vault push hits 404 on legacy pack endpoint
Reported: 2026-07-10 (KD-VERIFY-STAGING / knowtation-vault-smoke push)
Symptom
Pushing smoke vault history to staging via gabriel-muse muse push fails with 404 on the legacy pack endpoint.
Context
- Target repo:
aaronrene/knowtation-vault-smoke(exists; HTTP 200;branch_headsempty). - Canonical CLI recipe: vault ops use gabriel-muse PYTHONPATH — muse-first cannot walk vault commits on this repo (
muse log→ no commits). - Hub auth: HD wallet → staging as
aaronrene— working for other hub ops.
Suspected cause
Pack endpoint may need mpack + MSign alignment on staging (server protocol), not a client workaround.
Request
Please confirm expected push protocol for gabriel-muse vault commits on staging and whether staging pack-objects / MWP endpoint needs an update.
Not blocking
- KD-6b vault UI code path (separate deploy issue on
gabriel/musehub). - Local KD-7 attest software path — PASS locally.
Workaround policy
Do not use muse-first pack-objects on this vault — per frozen KD-STAGING CLI recipe.
Activity1
closed this issue
2 days ago
Confirmed and closing, with a clarification on scope: this isn't something fixable in the
muse/musehubrepos — the "legacy pack endpoint" doesn't exist in the current wire protocol (hasn't since before this ticket was filed), andgabriel-museturns out to be a third-party plugin we don't maintain.What "gabriel-muse" actually is
Per
musehub/docs/issues/custom-domain-registration.mdandexplore-search-500-fix.md,aaronrene/gabriel-museis aaronrene's own repo — "his plugin source" for a customvaultdomain (part of hisknowtationproduct). The ticket's "canonical CLI recipe: vault ops use gabriel-muse PYTHONPATH" means running that custom domain plugin's source viaPYTHONPATHinstead of the installedmusepackage, because muse-core's built-incodedomain doesn't know how to walkvaultcommits. That's expected — custom domains are exactly what the plugin system is for.The 404 — confirmed server-side
There is currently no
push/object-pack(orpush/pack-objects) route on MuseHub at all:That route was removed well before this ticket was filed —
feat: remove Cloudflare Worker push path (pack_origin / object-pack), 2026-04-29, over two months before the 2026-07-10 report. Every push in themuse/musehubrepos today (dozens just in this session) goes throughpush/mpack-presign→ PUT to a presigned R2 URL →push/unpack-mpack, with zero legacy-endpoint involvement. The only trace ofpush/object-packleft anywhere in this codebase is a stale auto-generated type-contract doc entry (docs/reference/type-contracts.md) for a Pydantic model that's no longer wired to a route — dead documentation, not a live endpoint.Conclusion
The 404 means the
gabriel-museplugin checkout aaronrene was running was built against (or still vendors a copy of) the wire-protocol client from before theobject-packremoval — the exact same "stale client targets a retired/changed route" shape as #89, just in a third-party plugin instead of the coremuseCLI. Sinceaaronrene/gabriel-museisn't a repo in this workspace, I can't inspect or patch its transport code directly. The fix on that side is to updategabriel-muse's wire client to the currentmpack-presign+unpack-mpackprotocol (the same shape asmuse/core/transport.py::HttpTransport.fetch_mpack/push path in this repo, which aaronrene can reference since the protocol is documented at/docs/muse-wireon the hub).Also confirmed:
aaronrene/knowtation-vault-smokestill exists on staging (HTTP 200) with emptybranch_heads— consistent with every push attempt having 404'd before ever landing a commit, not a separate data-loss issue.No code changes needed in
muse/musehub— closing. Happy to reopen ifgabriel-muse's transport code is shared for a closer look, or if updating it doesn't resolve the 404.