anchor-bar chip + docHub Recipe Book scaffolded
Status: completed 2026-06-23 17:05 UTC · Lane: Helper
Did
- ✅ Extracted
<anchor-bar>as a reusable web component chip (user/assets/anchor-bar.js, 11.6KB) - ✅ Wired anchor-bar into docHub SPA shell sidebar (replaces inline HTML)
- ✅ Wired anchor-bar as breadcrumb in prompt viewer (no more dead-end feel)
- ✅ Classified anchor-bar correctly as a chip, not a module (per FVW v6 §10)
- ✅ Wrote docHub per-app Recipe Book at
recipe-book/(recipe.md + codex.md + lineage.json + README.md + trace.md) - ✅ Wired recipe-book entries into the dev face manifest (20 files now, was 16)
- ✅ Built + deployed — recipe book pages live at
fv-dochub.pages.dev/dev/recipe-book/*.html
Worked
- The 5-level hierarchy (chip → behaviour → module → subsystem → app) gives clean language: anchor-bar is a chip; docHub the App has 5 aspirational modules.
- The Recipe Book fractal (per-app / per-module / per-addon) maps cleanly onto docHub's structure: per-app lives at
recipe-book/, per-module will live atmavis/<module>/recipe-book/. - Build pipeline (build.mjs) extended to walk the recipe-book folder and surface entries under the dev face — no special-casing needed beyond a single loop.
Didn't
- ❌ Promote the 5 docHub folders (prompts, decisions, lanes, plans, reports) into formal modules yet. They're aspirational modules (D-066). Each needs its own per-module Recipe Book before promotion.
- ❌ Write the per-module Recipe Books (they'd go at
mavis/<module>/recipe-book/). That's a follow-up. - ❌ Module-register.json entries for each module (so FVS apps can adopt them wholesale). Out of scope for this turn.
Still open
- The 5 docHub module promotions (recipe book + module-register per module) — operator priority
- Cloudflare Access setup on
/dev/*and/mavis/*— operator task, 5 min - Q2 Vibe Hub will use the same anchor-bar chip for its left rail
Decisions
- D-065 — anchor-bar extracted as reusable component (initial framing: "module")
- D-066 — anchor-bar is a chip, not a module. Corrects D-065's framing only; implementation unchanged.
Files
| Path | Purpose |
|---|---|
user/assets/anchor-bar.js | The reusable chip (11.6KB, vanilla JS, web component) |
site/index.html | docHub SPA shell (uses anchor-bar in sidebar) |
mavis/prompts/_viewer/index.html | Prompt viewer (uses anchor-bar in breadcrumb mode) |
mavis/prompts/_viewer/chat-viewer.css | Viewer CSS (breadcrumb styling) |
build-site.mjs | Extended to copy user/assets/* to dist/assets/ |
build.mjs | Extended to walk recipe-book/ and surface in dev face |
recipe-book/README.md | Per-app Recipe Book overview |
recipe-book/recipe.md | Human-readable recipe |
recipe-book/codex.md | Final shape of docHub |
recipe-book/lineage.json | Machine-readable lineage |
recipe-book/trace.md | History of changes |
mavis/decisions/D-065-anchor-bar-reusable-module.md | Initial decision (corrected by D-066) |
mavis/decisions/D-066-anchor-bar-is-a-chip-not-a-module.md | Doctrine correction |
Risks
- ⚠️ Per the operator's no-emoji rule, anchor-bar uses inline Tabler-style SVGs only. Verify nothing leaked into the chip.
- ⚠️ The Recipe Book docs are now part of the dev face. Operators reading the dev face will see them. If they don't want that, we can split them out into a separate face later.
- ⚠️ Module-level Recipe Books don't exist yet. The 5 modules are aspirational folders. Promoting them is real work (recipe + module-register each).
TL;DR
<anchor-bar> is a chip (level 1 in FVW's 5-level hierarchy), not a module (level 3). Used in docHub sidebar + prompt viewer breadcrumb. FVS apps can lift it via <script src="https://fv-dochub.pages.dev/assets/anchor-bar.js">. docHub per-app Recipe Book is scaffolded with 5 pieces (recipe, codex, lineage, README, trace). 5 modules are aspirational folders; promoting them is next.