docs(website): settle what core publishes about an installed module #131
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/module-public-endpoint"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 2, PR 6 of
MODULE_SYSTEM.md§2.7 — the docs half ofGET /api/v1/public/modules. Pairs with the website PR on branchfeature/module-public-endpoint.What changed
MODULE_API.md§2.9 — the normative shape. Four fields (id,name,version,capabilities) in the loader's scan order, and what is deliberately absent is the design:startedmodules appear. Adisabledorstartup_failedmodule is absent, which is the same answer §4.4 already gives for its routes and its nav — a client renders a site without that capability rather than one advertising a capability that 503s.state,failure_stageorfailure_reason. Where a module broke is admin-screen detail, and the reason is an exception string from inside core.clientchunk URL.htmlShellinjects the<script type="module">per started module (§3.1.3), so the browser is handed the tag, not a URL to fetch.[], because a caller cannot tell an empty list from a mis-ordered boot.It also records why the endpoint owns the
/modulesprefix rather than sitting in the root-mounted site router — the loader's collision probe skips root-mounted layers, so a route declared there would be invisible to it.MODULE_API.md§6.7 — an amendment.MODULE_SYSTEM.md§2.6 step 4 said the SPA reads this endpoint "to learn what to load". Step 3 of that same list had already answered loading a different way, and §3.1.3 is the normative version. The endpoint feature-detects; nothing waits on an API round trip to start loading. §2.6 step 4 now says so, and Part 6's intro no longer claims a fixed count of amendments.MODULE_SYSTEM.md§2.7 — progress and an honest exit criterion. The phase criterion was "routes.manifest.jsondiff is zero lines"; PR 6 necessarily adds a URL. Restated: no existing URL moves, and PR 6 is the single deliberate addition in Phase 2 — every other PR still produces a zero-line diff. Status line updated: the design is in implementation, not unimplemented.BACKEND_DESIGN.md— the route in the/publictable, the router in the §2 folder map, and the publishedapi-route-inventory.jsonmirror refreshed to 228 public routes (the prose count was stale at 226).Decisions
All four settled with the org lead before implementation; all four the recommended option.
{ modules: [...] },startedonly, no state field/modulescapability routerhtmlShellinjects the tagsiteMode, DB-free🤖 Generated with Claude Code
https://claude.ai/code/session_018ocYxQWk3EhZe5gWRJXFU8