User-facing wiki
The user-facing wiki is a read-only dashboard surface over
docs/system-wiki. It makes the source-grounded Steelmoth wiki visible to
dashboard admins without exposing edit, commit, or filesystem write controls.
Runtime API
Section titled “Runtime API”routes_wiki.py exposes:
| Endpoint | Purpose |
|---|---|
GET /v1/wiki/pages |
List visible wiki pages from the manifest. |
GET /v1/wiki/pages/{page_id} |
Return one page as Markdown with front matter stripped. |
The route requires require_admin; the route auth matrix classifies both wiki
endpoints as admin-only. _wiki_io.py reads
docs/system-wiki/manifest.yaml, validates page ids and wiki-relative paths,
hides internal maintenance pages such as log and page-template, and keeps
all reads inside the wiki root. It resolves the repo root from
MOTH_HYBRID_WIKI_REPO_ROOT, then MOTH_HYBRID_STANDARDS_REPO_ROOT, then
/app/repo; the private compose file mounts the repo at /app/repo. Both
responses set Cache-Control: no-store.
The same compose file also mounts the host repo read-only at
/workspace/steelmoth-host for steelmoth-morpheus-init clone fallback;
that path does not change wiki reads, which still resolve through /app/repo.
Dashboard Surface
Section titled “Dashboard Surface”The dashboard route is /docs/wiki. A detail page is available at
/docs/wiki/[pageId]. WikiBrowser.tsx renders a page list and sanitized
Markdown through the same MarkdownContent component used for chat and
standards rendering. On docs.steelmoth.com, the same component switches to
short-link mode (/ and /<pageId>/) while keeping /v1/wiki/* as the data
source.
The admin/operator sidebar exposes the surface as the Docs entry under
Advanced, linking to /docs/wiki. The Advanced section is hidden in
user/Owlet mode, and /docs/wiki is not in the tester route allowlist. The API
remains the enforcement point for admin-only access. On docs.steelmoth.com,
middleware adds an explicit dashboard-admins group requirement for non-public
paths and returns 403 for authenticated non-admin sessions.
Maintenance Notes
Section titled “Maintenance Notes”- Update this page when the wiki API, hidden-page policy, dashboard route, or sidebar entry changes.
- Keep the surface read-only unless a separate product decision adds a user-facing editing workflow with authz, audit, and tests.
docs.steelmoth.comis a separate nginx/dashboard proxy path documented indocs-site.md.
Known Unknowns
Section titled “Known Unknowns”- The dashboard surface does not currently rewrite intra-wiki Markdown links
into
/docs/wiki/*routes.

