docHub

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

  1. 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 the communicate tool with the existing session ID; to spin up a new lane, spawn a new session with a lane-role system prompt.
  2. 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 at 081e2f3, not uncommitted.
  3. FreshCards standalone repo: GONE. Both avidtech6/freshcards and avidtech6/FreshCards return 404. This is consistent with the 2026-06-22 dup-cleanup incident — one or both were deleted.
  4. The actual FreshCards substrate contract is now confirmed: studio/modules/freshcards/module.json exists and is a workspace-substrate, tier: platform-supreme, with 7 submodules and a 5-file constitutional basis.
  5. docHub MUST mirror this contract to be FVS-compatible. The earlier plan to invent a new schema is wrong; docHub should reuse module.json shape + a tier: doc-substrate extension.

What I checked

1. FVS Studio main branch — latest commits

SHADateSubject
8c093ef2026-06-22 18:37fix(doctrine): strip FVS-specific names from FVW v8 examples + plan correction
081e2f32026-06-22 16:03chore(chrome): Phase 2 Region Schema rename — drop 'stencil-…'
43cb74f2026-06-22 11:25Re-align: 12 cockpit Cards → vibecoder module; substrate-only freshcards
ac2a8042026-06-22 08:32Default mock mode to ON; make toggle more visible
9ef98ab2026-06-22 08:12Add 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:

4. FVW v8 contamination fix — DONE

Commit 8c093ef is the Phase 4 work. Diff: 24 files, 169 swaps. Replacements:

OldNew
VibeCoderWorkspace A
VibeScopeWorkspace B
OriginWorkspace C (in tier examples; historical-comment meaning preserved in §18)
FreshCardsSample App
FreshVibe StudioSample 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

  1. D-060 — docHub mirrors FreshCards substrate contract. docHub's module.json will use the same shape, extended with tier: "doc-substrate" and a user_face/dev_face split.
  2. 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.
  3. 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

  1. Write D-060, D-061, D-062 decisions to capture the new state.
  2. Write docshub/module.json with the substrate shape above.
  3. Continue the dev face build using FreshCards module.json as the structural template (submodules, constitutional_basis, lineage).
  4. Add a doctrine/substrate-shape.md doc that says "any new substrate follows FreshCards shape; docHub extends it with faces and type: doc-substrate."
  5. Update memory — Phase 4 shipped, FreshCards standalone repo gone, lane Mavises were role-personas not separate agents.
  6. 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.


← back to Mavis workshop