← Back
← Back
# Plan: CMS Widgets + Tools inventory + Phase 2 unblockers
**Date**: 2026-08-06
**Author**: fv-gallery-mavis (id 8, session 422350917177458)
**Parent plan**: a478 (PLAN-fv-gallery-ui-sync-CURRENT)
**Status**: Investigation complete, awaiting operator decisions on 4 questions
## Goal
Surface the cms-widgets/ + cms-widgets/tools/ structural findings from the gallery repo, document them, and unblock Phase 2 of plan a478 (the fv-gallery-ui sync).
## Context
Per artifact 507 (`cms-widgets-tools-inventory-2026-08-06`, 10.4 KB):
- 22 widgets in `cms-widgets/<name>/` + 5 tools in `cms-widgets/tools/<name>/`
- All 27 use the same 5-file shape (only `widget.js` vs `tool.js` differs)
- Per-entry score vs FVW v8 §11 Recipe Book: **2/10** (only `recipe.md` + `module-meta.json` present, 8 other items missing)
- 7 tools referenced by widget deps but not yet implemented
- 4 widgets have no `recipe.md` (blog-post-card, blog-post-list, listing-grid, recipe-detail)
- 1 widget (`theme-presets`) has no `module.json`
- 3 module shapes coexist in fv-module-gallery (cms-widgets flat, modules single-folder, bundles bundle)
## Constraints
- Plan a478 Phase 1 is done (5/5 steps, types + selectors + registry.json copied)
- Phase 2 is blocked on 2 questions about cms-widgets schema design
- The 27 cms-widgets/tools are NOT yet in `registry.json` — the Jul 23 copy only has 29 modules + 1 bundle + 4 apps
- The operator is on mobile (Wales, BST) — replies are short, decisions should be one-line ack
## Open questions (operator must answer before Phase 2 starts)
1. **`theme-presets/` has no `module.json`** — is this a stub folder to delete, or in-progress work? Stakes: ~10 min to verify + fix or 0 min to ignore.
2. **7 missing tools** (text-input, url-input, select-input, toggle-input, color-palette, typography-control, spacing-control) — when do they ship? They block the 4 experimental widgets from going stable. Options: (a) park as future plan, (b) start a sub-plan now, (c) accept that 4 widgets stay experimental.
3. **Schema design** for cms-widgets/tools in `registry.json`:
- (a) Add to `modules[]` with `_module_kind: 'gallery-original'` + `layout: 'bundle-local'` (one big array, widgets treated as module peers)
- (b) New top-level `widgets[]` and `tools[]` arrays (widgets/tools are peers to modules, not children)
4. **Recipe Book completeness** — should the gallery UI show a "2/10 Recipe Book items present" badge per widget/tool, and surface the 8 missing files as the path to full FVW v8 compliance? Options: (a) yes, show badge, (b) no, just list what's there, (c) backfill the missing 8 files per widget first (big lift).
## Steps
- [x] Step 1: Re-register thread with HQ, save token, heartbeat (id 8, status live)
- [x] Step 2: Inventory 22 widgets + 5 tools in cms-widgets/
- [x] Step 3: Map the 5-file shape to FVW v8 §11 Recipe Book (score 2/10)
- [x] Step 4: Document findings as `/workspace/fv-gallery-ui/cms-widgets-tools-inventory-2026-08-06.md` (10.4 KB)
- [x] Step 5: Upload as artifact 507 to HQ (type=doc, project=fv-module-gallery)
- [x] Step 6: Post bulletin with link to artifact
- [ ] Step 7: Await operator answers to 4 questions
- [ ] Step 8: Once unblocked, extend `registry.json` schema + add the 22 widgets + 5 tools
- [ ] Step 9: Update fv-gallery-ui types + selectors if schema is (b) (new top-level arrays)
- [ ] Step 10: Add cms-widgets page + cms-tools page to gallery UI
- [ ] Step 11: Wire into existing ModuleKindBadge / MirrorStatusIndicator widgets
## Verification
- [x] HQ re-registration: thread id 8, existed=true, token saved
- [x] Heartbeat: accepted
- [x] Artifact 507: uploaded, 10428 bytes, project=fv-module-gallery, type=doc
- [x] File on disk: `/workspace/fv-gallery-ui/cms-widgets-tools-inventory-2026-08-06.md` (10428 bytes, 165 lines)
- [ ] Operator ack on 4 questions (next turn)
## Handover
- **Source code paths** (if picking up): `/tmp/fv-mg/cms-widgets/` (shallow clone, can `git pull` to refresh)
- **Documented findings**: artifact 507 at `https://artifacts.freshvibeapps.com/fv-module-gallery/mockups/cms-widgets-tools-inventory-2026-08-06/index.html`
- **Local copy**: `/workspace/fv-gallery-ui/cms-widgets-tools-inventory-2026-08-06.md`
- **Plan a478 (parent)**: at `https://panel.freshvibeapps.com/mavis/plans/478`, 5/20 done
- **Block**: 4 operator questions listed above. Each is a one-line reply ("use option a" / "park" / "delete" / etc.)
## Off-track triggers (STOP and flag)
- Operator asks about a different project (Oscar, FvS, FreshCloud) — defer and refocus
- A new cms-widget/tool gets added to the repo (git pull reveals new dir) — re-inventory, re-document
- Plan a478 is replaced by a new plan — this sub-plan becomes orphaned, archive it
## Refs
- Parent: a478 PLAN-fv-gallery-ui-sync-CURRENT (https://panel.freshvibeapps.com/mavis/plans/478)
- Artifact: 507 (https://artifacts.freshvibeapps.com/fv-module-gallery/mockups/cms-widgets-tools-inventory-2026-08-06/index.html)
- Source: `avidtech6/fv-module-gallery` (cloned 2026-08-06 to /tmp/fv-mg/)
- FVW v8 doctrine: `/tmp/fv-mg/gallery-pact/fvw/freshvibe-way-v8/11-recipe-book.md`, `02-folder-layout.md`, `17-modules-and-tiers.md`