gabriel / musehub public
Closed #82
filed by gabriel human · 4 days ago

Merge proposal docs link returns 404

0 Anchors
Blast radius
Churn 30d
0 Proposals

Current Behavior

The "Muse CLI" section of every open merge proposal shows a docs ↗ link that returns a 404. The browser console shows:

Response Status Error Code 404 from /docs/merging

The link is hardcoded in the proposal detail template:

musehub/templates/musehub/pages/proposal_detail.html line 553

· <a class="proposal-cli-ref-docs" href="/docs/merging">docs ↗</a>

The route /docs/merging does not exist. All docs routes are registered under /muse/<slug> (e.g., /muse/wire, /muse/foundations) via musehub/api/routes/musehub/ui_docs.py. There is no merging slug in _PHASES and no route handler for /docs/merging or /muse/merging.

Fix Options

Option A — Quick fix: update the href to the closest existing page. /muse/wire covers the push/fetch protocol that drives merges. Not perfect but stops the 404 immediately.

Option B — Proper fix: add a merging entry to _PHASES in ui_docs.py, add a GET /muse/merging route handler, create musehub/templates/musehub/pages/docs_muse_merging.html, and update the href to /muse/merging. The page should document --strategy (overlay, weave, replay) and --history (merge, squash, rebase) — the same flags already explained in the tooltip at line 550.

Option B is the right call: the tooltip text at line 550 already has the content outline. The docs page just needs to expand it.

Relevant Code

File Location Notes
musehub/templates/musehub/pages/proposal_detail.html line 553 broken href="/docs/merging"
musehub/api/routes/musehub/ui_docs.py _PHASES list + route handlers where the new slug and route go
musehub/templates/musehub/pages/ docs_muse_*.html template naming convention

Acceptance Criteria

  • docs ↗ on a merge proposal detail page no longer returns 404
  • The link destination documents --strategy and --history flag semantics
  • New /muse/merging slug appears in the docs index (/muse) alongside the other phases
  • ui_docs.py _PHASES entry added so the sidebar renders the page in context
Activity1
gabriel opened this issue 4 days ago
gabriel 3 days ago

Resolved as part of the #83 fix (deployed today). The broken /docs/merging link in the proposal CLI section was replaced with /muse/merge — the merge engine docs page that was built out earlier this sprint. That page covers strategies (overlay, weave, replay), history modes (merge, squash, rebase), Harmony conflict resolution, and the safe merge protocol. No 404 and no stub page needed.

closed this issue 3 days ago