docs: wiki staleness sweep (Fable-orchestrated Opus audit)
Audited all 40 docs/ against the live codebase; fixed factual staleness in 23, 14 were clean. Highlights (all verified against code): - equipment -> machines (ADR-011 rename) in INSTALL/DEPLOY-WINDOWS-IIS, PLUGIN-GUIDE, GE-ENFORCE, ROADMAP. - Versions refreshed: contract 0.10.0 -> 0.13.0, product 0.5.0 -> 0.7.0, plus plugin example core_version pins. - Bundled set corrected to the current 13 (PLUGINS.md 7 -> 13 rows; DEPLOY eleven -> thirteen). - Per-plugin Alembic chain workflow (ADR-008) replacing stale core-chain steps in PLUGIN-QUICKSTART / BACKUP-RESTORE; deploy adds plugin upgrade-all. - Frontend plugin staging (ADR-010) replacing 'no frontend plugin system yet' in PLUGIN-GUIDE; view/route paths repointed to plugins/<name>/frontend/. - Corrected file paths (MapView.vue, manifest_schema.json), CLI (shelf-list), API gating (GET /api/plugins is optional-jwt), WJF 15 -> 16 stages, and retired Collector/PC-Types settings pages (ADR-012). - ge-enforce proposal marked ACCEPTED/built.
This commit is contained in:
@@ -21,7 +21,8 @@ decision records: `docs/proposals/printedparts-plugin.md`.
|
||||
|
||||
|
||||
Know before you start
|
||||
- BUNDLED plugin: frontend files live in core `frontend/src/`, and three core
|
||||
- BUNDLED plugin: frontend files live in `plugins/printedparts/frontend/`
|
||||
(staged into the Vite tree by `scripts/stage-frontend.mjs`), and three core
|
||||
files get small edits (api client, sidebar icon map, PLUGIN_TABLE_OWNERS).
|
||||
Normal for every bundled plugin.
|
||||
- Ground rules: import core ONLY via `shopdb.api` (+ `shopdb.plugins.base`);
|
||||
@@ -92,7 +93,7 @@ the edit (imports/meta boilerplate unchanged from the scaffold):
|
||||
"description": "3D-printed parts inventory + kiosk checkout",
|
||||
"display_name": "3D Printed Parts",
|
||||
"dependencies": ["employees"],
|
||||
"core_version": ">=0.13.0,<1.0.0",
|
||||
"core_version": ">=0.12.0,<1.0.0",
|
||||
"api_prefix": "/api/printedparts",
|
||||
"default_enabled": false
|
||||
}
|
||||
@@ -371,8 +372,8 @@ export const printedpartsApi = {
|
||||
```
|
||||
|
||||
2. Rename the scaffold views to `PrintedItemsList/PrintedItemDetail/
|
||||
PrintedItemForm.vue` and repoint `frontend/src/router/routes/printedparts.js`
|
||||
(auto-discovered by the router; list/detail carry `meta.plugin`, new/edit add
|
||||
PrintedItemForm.vue` and repoint `plugins/printedparts/frontend/routes.js`
|
||||
(aggregated into the router via `routes.gen.js`; list/detail carry `meta.plugin`, new/edit add
|
||||
`requiresAuth`).
|
||||
|
||||
3. The list page, core of `PrintedItemsList.vue` (master template:
|
||||
@@ -885,10 +886,12 @@ defineEmits(['digit', 'clear', 'backspace'])
|
||||
(Terminal-style CSS - fixed 3-column grid, big targets, press feedback - at
|
||||
the tag.)
|
||||
|
||||
### The kiosk view - `frontend/src/views/printedparts/PartsKiosk.vue`
|
||||
### The kiosk view - `plugins/printedparts/frontend/views/PartsKiosk.vue`
|
||||
|
||||
Full-screen, no auth, registered TOP-LEVEL beside `/shopfloor` in
|
||||
`frontend/src/router/index.js` (outside AppLayout, `meta.plugin` only):
|
||||
Full-screen, no auth, exported as a `toplevel` route in
|
||||
`plugins/printedparts/frontend/routes.js` and aggregated into
|
||||
`frontend/src/router/index.js` via `routes.gen.js` (outside AppLayout,
|
||||
`meta.plugin` only):
|
||||
|
||||
```javascript
|
||||
{
|
||||
@@ -961,7 +964,7 @@ Commit + tag `lab-stage-07`.
|
||||
|
||||
A plugin OWNS its label page (the USB precedent) - parts are not assets, so
|
||||
they do not join the shared asset-label TYPE_CONFIG. New public route beside
|
||||
`/print/usb-labels`, view `frontend/src/views/print/PrintedPartsLabels.vue`.
|
||||
`/print/usb-labels`, view `plugins/printedparts/frontend/views/PrintedPartsLabels.vue`.
|
||||
The pieces that matter:
|
||||
|
||||
```javascript
|
||||
@@ -1184,7 +1187,7 @@ for a contributor:
|
||||
| Blueprint style, pagination, authz | `plugins/measuringtools/api/routes.py` |
|
||||
| Image upload/serve/delete | `shopdb/core/api/models.py` |
|
||||
| Open kiosk endpoints precedent | `plugins/employees/api/routes.py`, `plugins/notifications/api/routes.py` |
|
||||
| Plugin-owned label print view | `frontend/src/views/print/USBLabelBatch.vue` |
|
||||
| Plugin-owned label print view | `plugins/usb/frontend/views/USBLabelBatch.vue` |
|
||||
| Barcode/QR rendering | JsBarcode in `AssetLabel.vue`, `qrLogo.js` |
|
||||
| Kiosk route posture | `/shopfloor` in `frontend/src/router/index.js` |
|
||||
| List/Detail master templates | `PrintersList.vue`, `PrinterDetail.vue` |
|
||||
|
||||
Reference in New Issue
Block a user