docHub

docHub build โ€” Phase 5 in progress

Date: 2026-06-23 00:30 UTC Status: ๐Ÿ”„ in-progress (active plan)


TL;DR

  1. docHub's substrate contract (module.json) was about to be invented as a custom JSON schema, until the operator asked "Does it use the FreshCards module? Does it follow the FreshVibe Way?"
  2. A direct GitHub API check revealed the actual FreshCards module.json is tier: platform-supreme with a 5-file constitutional basis.
  3. docHub's module.json now mirrors the FreshCards shape with two extensions: type: doc-substrate and faces: { dev, user }. D-060 captures this.
  4. The dev face is built (scaffolding, decisions, doctrine, plans, reports, lanes, dangerous, _meta). The user face is in progress. The web component is in progress. The build script is in progress. The deploy is pending operator trigger.

What was built (in this session)

SectionFilesStatus
Templates_template.md ร— 5 (plan, report, decision, dangerous, prompt)โœ…
State checkreports/2026-06-23-freshcards-state-check.mdโœ…
DecisionsD-056, D-057, D-058, D-059, D-060, D-061, D-062โœ…
Substratedocshub/module.json (FreshCards shape + faces extension)โœ…
BootstrapREADME.md, mavis-protocols.md, lane-map.md, open-questions.mdโœ…
_meta/substrate.json, bootstrap.json, manifest.json, changelog.mdโœ…
dangerous/4 lessons (PAT leak, case-variant, destructive-ops, memory-drift)โœ…
doctrine/pact-lookup, chip-system, anti-patterns, governance, fvw-v8โœ…
lanes/helper, cards, chrome, fvre, doctrineโœ…
plans/phase 1-5โœ…
reports/state-check, pat-rotation, dup-cleanupโœ…
prompts/(empty, awaiting first cross-Mavis entry)โณ
projects/(empty, awaiting per-project pages)โณ
User faceuser/index.md, user/projects/, user/concepts/, user/reference/, user/getting-started/, user/_meta/substrate.json, user/assets/embed.jsโณ
Build scriptbuild.mjs (regenerates manifest + bootstrap)โณ
Operator handoffoverview.md update, memory update, deploy to docshub.pages.dev, Cloudflare Accessโณ

What changed because of the state check

The state check on 2026-06-23 00:28 UTC found three pieces of stale memory:

  1. Phase 4 (FWV v8 contamination cleanup) is shipped at 8c093ef, not "in progress" โ€” D-062 captures this.
  2. Region Schema rename is committed at 081e2f3, not uncommitted โ€” pending confirmation from cards Mavis (ping sent 2026-06-23 00:30 UTC).
  3. FreshCards standalone repo is gone (both casings 404) โ€” D-061 captures the new canonical location.

These three changes shaped the rest of the build:


What's pending (in order)

  1. Write the user face โ€” index, projects, concepts, reference, web component.
  2. Build script โ€” build.mjs that walks the dev face, parses frontmatter, regenerates manifest.json + bootstrap.json.
  3. Memory + overview update โ€” record the new canonical state in long-term memory and the operator-facing overview.
  4. Operator handoff โ€” deploy to docshub.pages.dev, configure Cloudflare Access, write the per-project pages in the user face.
  5. FVS module wrapper (post-deploy) โ€” studio/modules/docshub/ that re-exports the web component as a FVS-style component.

Decisions made or referenced


Risks (open)

RiskStatus
Operator rejects the two-face splitlow โ€” operator-mandated
Web component breaks FVS appsmed โ€” mitigate with iframe fallback
Cloudflare Access setup is wronglow โ€” documented
Memory drift (already happened)high โ€” dangerous/memory-drift.md formalizes the lesson
FreshCards repo gone โ€” plans reference dead URLmed โ€” D-061 updates the canonical

Cross-references


← back to Mavis workshop