Phase 5 โ docHub canonical workspace
Status: ๐ in-progress Lane: helper Started: 2026-06-22 23:21 UTC Target: deploy-ready by 2026-06-23 (today)
TL;DR
Build docHub as the canonical doc workspace for the operator + AI Mavises, with a public user-face that FVS apps can embed. Two faces, FreshCards substrate compat, FVW v8 compliance, Cloudflare Access on dev, public on user.
Scope
In scope
- Substrate contract (
module.json) that mirrors FreshCards shape (D-060) - Two faces:
dev/(operator + AI, auth-gated) anduser/(end-user, public, embeddable) - Bootstrap section: README, mavis-protocols, lane-map, open-questions
_meta/: substrate schema, bootstrap state, manifest, changelogdangerous/: 4 lessons formalized (PAT leak, case-variant trap, destructive-ops, memory-drift)decisions/: D-056 to D-062 captureddoctrine/: pact-lookup, chip-system, anti-patterns, governance, FWV v8lanes/: helper, cards, chrome, fvre, doctrineplans/: phase 1-5reports/: freshcards-state-check + cross-refs to PAT/dup reportsprompts/: cross-Mavis prompt logprojects/: per-project pages (origin, freshvibestudio, freshcards, fvw-v8, fvre)- User face: index, getting-started, projects, web component
- Build script that regenerates
manifest.json+bootstrap.json
Out of scope
- Cloudflare Access setup (operator task; the docHub plan only documents what access policy is needed)
- Actual deploy to
docshub.pages.dev(operator triggers) - FVS module wrapper for docHub (planned post-deploy; see D-060 lineage.fvs_integration_shell)
- Migration of the recovered shared-docs files into docHub (deferred; treated as archive)
Tasks
Substrate + scaffolding (โ done 2026-06-23 00:30 UTC)
- [x] Directory structure
- [x] Frontmatter templates (plan, report, decision, dangerous, prompt)
- [x] FreshCards + FVS state check (API verification)
- [x] D-060, D-061, D-062 captured
- [x]
module.jsonwith FreshCards shape + faces extension - [x] Bootstrap section (README, mavis-protocols, lane-map, open-questions)
- [x]
_meta/(substrate.json, bootstrap.json, manifest.json, changelog.md) - [x]
dangerous/(4 lessons) - [x]
decisions/(D-056 to D-062) - [x]
doctrine/(5 files) - [x]
lanes/(5 lanes) - [x]
plans/(phase 1-5)
Reports + cross-Mavis log (in progress)
- [x]
reports/2026-06-23-freshcards-state-check.md - [ ]
reports/2026-06-22-pat-rotation-plan.md(copy from coordinator/reports/) - [ ]
reports/2026-06-22-dup-cleanup.md(copy from coordinator/reports/) - [ ]
reports/2026-06-23-dochub-build.md(this build) - [ ]
prompts/archive (one entry per cross-Mavis message)
User face (in progress)
- [ ]
user/index.md(root, public) - [ ]
user/getting-started/ - [ ]
user/projects/ - [ ]
user/concepts/ - [ ]
user/reference/ - [ ]
user/_meta/substrate.json(the consumer-facing contract) - [ ]
user/assets/embed.js(the web component)
Operator handoff (pending)
- [ ] Build script (
build.mjs) that regenerates manifest + bootstrap - [ ] Overview update at
/workspace/projects/coordinator/overview.md - [ ] Memory update with the new canonical state
- [ ] Deploy to
docshub.pages.dev(operator trigger) - [ ] Cloudflare Access setup (operator)
Pact references
docHub extends FreshCards substrate (D-056) and follows the FVW v8 two-view substrate pattern.
Pact ref โ freshcards-substrate-001 (studio/modules/freshcards/module.json)
type: workspace-substrate, tier: platform-supreme
Relation to this plan: docHub's module.json mirrors this shape with type: doc-substrate and adds faces. The constitutional_basis list cites this file.
Pact ref โ fvw-v7-23-two-view-substrate (pact/freshvibe-way-v7/23-two-view-substrate.md)
Two-view substrate pattern: sovereign workspace + reusable module.
Relation to this plan: docHub is a sovereign workspace AND an embeddable substrate. The two-face extension is docHub-specific.
Pact ref โ chip-system-001 (pact/platform/chip-system/chip-system.md)
Top-level chip-nav lives at top of a workspace/panel.
Relation to this plan: docHub's user-face project filter uses this pattern (one-word chips, multi-active).
Risks
| Risk | Likelihood | Mitigation |
|---|---|---|
| Operator rejects the two-face split | low | The two-face design is operator-mandated per 2026-06-23 00:18 chat |
| Web component breaks FVS apps | med | Vanilla JS, no deps, falls back to iframe; tested by loading the page |
| Cloudflare Access setup is wrong | low | Documented in bootstrap/mavis-protocols.md; operator can adjust |
| Memory drift (some old memory is now wrong) | high (already happened) | dangerous/memory-drift.md formalizes the lesson; verify with API before acting on memory |
| FreshCards repo is gone โ plans reference a dead URL | med | D-061 captures the new canonical location; update plan references |
Reports to be produced by this plan
2026-06-23-freshcards-state-check(โ done)2026-06-23-dochub-build(in progress)2026-06-22-pat-rotation-plan(copy from coordinator/reports/)2026-06-22-dup-cleanup(copy from coordinator/reports/)
Cross-references
- D-060 โ docHub substrate shape
- D-061 โ FreshCards canonical location
- D-062 โ Phase 4 shipped
- Topic:
dominics-fvs-chromeโ related FVS chrome work - Topic:
freshcardsโ FreshCards design history