Remove module ui.js support: unused by any module or the live app

Drops the registry lookup, manifest field, /modules route, ui.js loading in panels.js, MODULE_RULES lint, services.js, their tests and docs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EymCrVCefq4m9Uv6MAkzz5
This commit is contained in:
Claude
2026-10-17 13:59:18 +00:00
parent 51c87d85c0
commit f9863700e6
25 changed files with 75 additions and 381 deletions
+1 -4
View File
@@ -10,7 +10,7 @@ Read by `core/registry.py` from the module's `__init__.py` (the `FIELDS` table).
|---|---|---|---|
| `ID` | `str` | none | Required, non-empty. Unique across modules (a second claimant is left out and said). Keep it free of `.`: a fault is traced back to a module from its hook key `funpack.<id>`. |
| `TITLE` | `str` | none | Required, non-empty. |
| `MOUNT` | `str` | `""` | Required and non-empty when the module has `SETTINGS` (or a `ui.js`, which the app does not load). |
| `MOUNT` | `str` | `""` | Required and non-empty when the module has `SETTINGS`. |
| `SETTINGS` | `dict` | `{}` | `{key: setting}`. Must be a dict. |
| `STAGE` | `str` | `"sampling"` | One of `load`, `conditioning`, `latent`, `guidance`, `sampling`, `post`. |
| `CATEGORY` | `str` | `""` | `""` or one of `continuity`, `guidance`, `conditioning`, `sampling`, `post`, `system`. Empty shows under "Other". |
@@ -25,8 +25,6 @@ Read by `core/registry.py` from the module's `__init__.py` (the `FIELDS` table).
| `TRAITS` | callable | none | `traits(model) -> iterable[str]`. |
| `PROVIDES` | `dict[str, callable]` | `{}` | Capability name to function. Names must be non-empty strings. |
Not read from constants: `ui`. Core sets it to `/funpack/modules/<group>/<name>/ui.js` when that file exists.
`CONTRACT_VERSION` in `core/contract.py` is `1`. It is sent to the browser as `contract` in `/funpack/api/modules`. Core does not read a version from modules, so there is nothing for a module to declare.
## Setting keys
@@ -183,5 +181,4 @@ Most used:
| `/funpack/` | the app (`index.html`) |
| `/funpack/api/modules` | the manifest (`?traits=a,b` narrows to a model) |
| `/funpack/api/m/<id>/...` | a module's own routes |
| `/funpack/modules/<group>/<name>/ui.js` | a module's `ui.js`. Only `.js` is served from `modules/`. The app does not load it. |
| `/funpack/app/...` | the app. Allowed types: `.js .css .html .woff2 .svg`. |