Fix Mission Control docs markdown links#90218
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 12, 2026, 2:07 PM ET / 18:07 UTC. Summary PR surface: Source +96, Tests +91. Total +187 across 13 files. Reproducibility: yes. from source with high confidence. Current main globally rewrites recognized docs-root paths, and the branch’s focused regression case demonstrates why arbitrary workspace markdown such as Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Next step before merge
Security Review detailsBest possible solution: Land the provenance-aware rendering behavior so OpenClaw-authored Mission Control content receives public docs links while arbitrary workspace and sidebar markdown retains project-local root links. Do we have a high-confidence way to reproduce the issue? Yes, from source with high confidence. Current main globally rewrites recognized docs-root paths, and the branch’s focused regression case demonstrates why arbitrary workspace markdown such as Is this the best way to solve the issue? Yes. Explicit render provenance is narrower and more maintainable than globally inferring that every recognized root path is OpenClaw documentation, and the sidebar flag handles the mixed-content ownership boundary directly. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against e3a6da0f5181. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +96, Tests +91. Total +187 across 13 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
589d236 to
557af3f
Compare
557af3f to
0884f01
Compare
|
Addressed the ClawSweeper P2 on the latest head
Local validation after the fix:
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
241ce3d to
197a111
Compare
197a111 to
90b7aa1
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
90b7aa1 to
e0e7952
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Fixes #89465.
Summary
https://docs.openclaw.aiin Mission Control markdown surfaces./cron,/channels,/nodes, and/skills/workshopwhen rendering arbitrary Mission Control markdown.Real behavior proof (required for external PRs)
https://docs.openclaw.ai, while Control UI routes such as/cronstay in-app.e0e79523e73d282bc622284a6284e4f76c1aeca1) on macOS, Node.js v24.13.1, using the repository's actual UI markdown renderer with a jsdom DOM athttp://127.0.0.1:4317/.ui/src/ui/markdown.ts, callstoSanitizedMarkdownHtmlwithOPENCLAW_MISSION_CONTROL_MARKDOWN_OPTIONSandOPENCLAW_DOCS_MARKDOWN_OPTIONS, and prints the rendered anchorhrefvalues.https://docs.openclaw.ai, and generic markdown previews keep project-local root-relative links unchanged./concepts/agent-workspace, which is the behavior reported in Mission Control: docs links navigate to 127.0.0.1:4317 instead of docs.openclaw.ai #89465.Validation
node scripts/run-vitest.mjs src/plugins/contracts/plugin-sdk-package-contract-guardrails.test.tsnode scripts/run-vitest.mjs ui/src/ui/views/cron.test.ts ui/src/ui/markdown.test.tsnode scripts/run-vitest.mjs ui/src/ui/markdown.test.ts ui/src/ui/chat/grouped-render.test.ts ui/src/ui/views/cron.test.ts ui/src/ui/views/skills.test.ts ui/src/ui/views/dreaming.test.ts./node_modules/.bin/oxfmt --check --threads=1 ui/src/ui/markdown.ts ui/src/ui/markdown.test.ts ui/src/ui/chat/grouped-render.ts ui/src/ui/chat/grouped-render.test.ts ui/src/ui/chat/side-result-render.ts ui/src/ui/chat/run-controls.test.ts ui/src/ui/views/markdown-sidebar.ts ui/src/ui/views/cron.ts ui/src/ui/views/cron.test.ts ui/src/ui/views/dreaming.ts ui/src/ui/views/skills.ts ui/src/ui/views/chat.test.ts ui/src/ui/sidebar-content.tsnode scripts/run-oxlint.mjs ui/src/ui/markdown.ts ui/src/ui/markdown.test.ts ui/src/ui/chat/grouped-render.ts ui/src/ui/chat/grouped-render.test.ts ui/src/ui/chat/side-result-render.ts ui/src/ui/chat/run-controls.test.ts ui/src/ui/views/markdown-sidebar.ts ui/src/ui/views/cron.ts ui/src/ui/views/cron.test.ts ui/src/ui/views/dreaming.ts ui/src/ui/views/skills.ts ui/src/ui/views/chat.test.ts ui/src/ui/sidebar-content.tsgit diff --check.agents/skills/autoreview/scripts/autoreview --mode local