Merge proposal docs link returns 404
Fix Broken Docs Link in Merge Proposal CLI Section
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
--strategyand--historyflag semantics - New
/muse/mergingslug appears in the docs index (/muse) alongside the other phases ui_docs.py_PHASESentry added so the sidebar renders the page in context
Resolved as part of the #83 fix (deployed today). The broken
/docs/merginglink 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.