FreshCards + FVS state check (2026-06-23 00:28 UTC)
Author: Helper Mavis (session 412100071272671) Method: Direct GitHub API inspection using operator-supplied fine-grained PAT
TL;DR
- The lane "Mavises" (cards / chrome / fvre / helper) are role-gated Mavis sessions, not separate agent identities. Top-level agent roster has only
General,Coder,Verifier. Each lane session inherits from one of those agents with a lane-scoped system prompt. Cards (404483248046205), chrome, fvre, and Helper are 4 active sessions. To contact a lane, use thecommunicatetool with the existing session ID; to spin up a new lane, spawn a new session with a lane-role system prompt. - FVS Studio is healthy and ahead of memory. Phase 4 (FWV v8 contamination fix) is now shipped at
8c093ef, not "in progress" as memory said. The Region Schema rename is committed at081e2f3, not uncommitted. - FreshCards standalone repo: GONE. Both
avidtech6/freshcardsandavidtech6/FreshCardsreturn 404. This is consistent with the 2026-06-22 dup-cleanup incident — one or both were deleted. - The actual FreshCards substrate contract is now confirmed:
studio/modules/freshcards/module.jsonexists and is aworkspace-substrate,tier: platform-supreme, with 7 submodules and a 5-file constitutional basis. - docHub MUST mirror this contract to be FVS-compatible. The earlier plan to invent a new schema is wrong; docHub should reuse
module.jsonshape + atier: doc-substrateextension.
What I checked
1. FVS Studio main branch — latest commits
| SHA | Date | Subject |
|---|---|---|
8c093ef | 2026-06-22 18:37 | fix(doctrine): strip FVS-specific names from FVW v8 examples + plan correction |
081e2f3 | 2026-06-22 16:03 | chore(chrome): Phase 2 Region Schema rename — drop 'stencil-…' |
43cb74f | 2026-06-22 11:25 | Re-align: 12 cockpit Cards → vibecoder module; substrate-only freshcards |
ac2a804 | 2026-06-22 08:32 | Default mock mode to ON; make toggle more visible |
9ef98ab | 2026-06-22 08:12 | Add CentreStage state probe test (freshcards chip toggle consistency) |
2. FreshCards standalone repo
Both casings return 404:
avidtech6/freshcards → 404 Not Found
avidtech6/FreshCards → 404 Not Found
This is consistent with the 2026-06-22 case-variant dup cleanup. The "delete the dups" call may have nuked the canonical too, OR the canonical was already empty/placeholder. Either way, the canonical FreshCards code lives only in avidtech6/freshvibestudio/studio/modules/freshcards/.
Implication for docHub: the canonical reference for FreshCards is studio/modules/freshcards/, not a standalone repo. docHub's FreshCards project page should link there, not to a now-dead GitHub repo.
3. The actual substrate contract
Decoded from studio/modules/freshcards/module.json:
{
"module_id": "freshcards",
"version": "0.1.0",
"type": "workspace-substrate",
"description": "FreshCards — the 4th sovereign workspace (per D-056) AND the card substrate used across Studio.",
"path": "modules/freshcards/",
"tags": ["freshcards", "workspace", "substrate", "cards", "D-056", "sovereign"],
"tier": "platform-supreme",
"tier_meta": {
"license": "avidtech6-proprietary",
"copyable": false,
"platform_supreme": true,
"constitutional_basis": [
"pact/platform/cards/cards.md",
"pact/freshvibe-way-v7/23-two-view-substrate.md",
"pact/blueprint/workspace/workspace-model.md",
"pact/platform/workspaces/workspace-registry.md"
]
},
"submodules": [
"src/Card.tsx", "src/SubNav.tsx", "src/SubChips.tsx",
"src/SupportActs.tsx", "src/InnerCard.tsx",
"src/Workspace.tsx", "src/index.ts"
],
"depends": [
"@mantine/core", "@mantine/hooks", "@tabler/icons-react",
"../chrome/chip-system/src", "../../src/state/StudioContext"
],
"used_by": [
"../../src/workspaces/FreshCardsWorkspace.tsx (mount shell)"
],
"revibe": {
"enabled": true,
"location": "modules/freshcards/revibe/",
"current_phase": "Phase 0: no revibe"
},
"lineage": {
"created": "2026-06-19",
"created_by": "feat-freshcards-module branch (Mavis 409986685276336)",
"based_on": "pact/platform/cards/cards.md + pact/freshvibe-way-v7/23-two-view-substrate.md",
"decision_record": "pact/decisions/2026-06-18-vanilla-chrome-swap.md (D-056: FreshCards = 4th sovereign workspace AND substrate)"
}
}
Key fields docHub must mirror or extend:
module_id,version,type— requiredtierandtier_meta.platform_supreme— extends todoc-substratefor docHubconstitutional_basis— list of pact files that justify the substratesubmodules— for docHub this isdev/{bootstrap,doctrine,decisions,dangerous,lanes,plans,reports,prompts,projects,archive}/anduser/{projects,concepts,reference}/depends— what docHub depends on (none for substrate, but FVS apps embedding docHub depend on it)used_by— list of consumers; initially empty, populated as FVS apps adopt docHubrevibe— re-publication mechanism; docHub gets its ownrevibe/folderlineage— decision record + branch + Mavis session that created it
4. FVW v8 contamination fix — DONE
Commit 8c093ef is the Phase 4 work. Diff: 24 files, 169 swaps. Replacements:
| Old | New |
|---|---|
| VibeCoder | Workspace A |
| VibeScope | Workspace B |
| Origin | Workspace C (in tier examples; historical-comment meaning preserved in §18) |
| FreshCards | Sample App |
| FreshVibe Studio | Sample App |
The memory entry "FWV v8 doctrine contamination flagged, awaiting operator sign-off" is outdated. Phase 4 is shipped. Updating memory.
5. The 4 constitutional basis files — all present
200 pact/platform/cards/cards.md
200 pact/freshvibe-way-v7/23-two-view-substrate.md
200 pact/blueprint/workspace/workspace-model.md
200 pact/platform/workspaces/workspace-registry.md
200 pact/decisions/2026-06-18-vanilla-chrome-swap.md
All 5 return 200. docHub can quote from any of them as the constitutional basis for its own substrate.
Decisions this triggers
- D-060 — docHub mirrors FreshCards substrate contract. docHub's
module.jsonwill use the same shape, extended withtier: "doc-substrate"and auser_face/dev_facesplit. - D-061 — FreshCards canonical location is
studio/modules/freshcards/, not a standalone repo. The 2026-06-22 dup-cleanup killed the standalone. Future FreshCards work references the FVS Studio path only. - D-062 — Phase 4 (FWV v8 contamination) is shipped at
8c093ef, not in-progress. Update all roadmap + memory references.
What this changes about the docHub build
Before this check: I was about to invent a custom JSON substrate contract.
After this check: I copy the FreshCards shape and extend it. docHub's module.json will look like:
{
"module_id": "docshub",
"version": "0.1.0",
"type": "doc-substrate",
"description": "docHub — sovereign documentation workspace + FVS-embeddable user-doc substrate.",
"path": "docshub/",
"tags": ["docshub", "documentation", "substrate", "D-056-compat", "sovereign", "FVS-embeddable"],
"tier": "platform-supreme",
"tier_meta": {
"license": "avidtech6-proprietary",
"copyable": false,
"platform_supreme": true,
"constitutional_basis": [
"pact/platform/cards/cards.md",
"pact/freshvibe-way-v7/23-two-view-substrate.md",
"pact/blueprint/workspace/workspace-model.md",
"pact/platform/workspaces/workspace-registry.md",
"studio/modules/freshcards/module.json"
],
"extends": "studio/modules/freshcards/module.json"
},
"submodules": [
"dev/bootstrap", "dev/doctrine", "dev/decisions", "dev/dangerous",
"dev/lanes", "dev/plans", "dev/reports", "dev/prompts",
"dev/projects", "dev/archive",
"user/projects", "user/concepts", "user/reference", "user/getting-started"
],
"faces": {
"dev": { "path": "dev/", "auth": "cloudflare-access-email-allowlist" },
"user": { "path": "user/", "auth": "public" }
},
"depends": [],
"used_by": [],
"revibe": { "enabled": true, "location": "docshub/revibe/", "current_phase": "Phase 0: no revibe" },
"lineage": {
"created": "2026-06-23",
"created_by": "Helper Mavis (session 412100071272671)",
"based_on": "studio/modules/freshcards/module.json + shared-docs (recovered 2026-06-22)",
"decision_record": "TBD — D-060 (docHub substrate shape)"
}
}
That's the right starting point. Substrate-compatible from line 1.
What I'm doing next
- Write
D-060,D-061,D-062decisions to capture the new state. - Write
docshub/module.jsonwith the substrate shape above. - Continue the dev face build using FreshCards module.json as the structural template (submodules, constitutional_basis, lineage).
- Add a
doctrine/substrate-shape.mddoc that says "any new substrate follows FreshCards shape; docHub extends it withfacesandtype: doc-substrate." - Update memory — Phase 4 shipped, FreshCards standalone repo gone, lane Mavises were role-personas not separate agents.
- Update the FVS Pact cross-refs in the dev face to point at real files (cards.md, two-view-substrate.md, workspace-registry.md, workspace-model.md, vanilla-chrome-swap.md).
Continuing the build with these corrections.