← Back ← Back
# FreshVibe HQ Audit — 2026-08-12

**Auditor:** Mavis session 418281651208440 (operator-panel-mavis, id 7)
**Plan:** a559
**Date:** 2026-08-12
**Trigger:** G directive 2026-08-12 13:57 BST (parallel to a555)

---

## 0. Initial State (the "BLOCKED" check)

Per the audit rules: "Begin audit only when: All repos exist, All names match GitHub, All commit hashes match GitHub."

**Initial finding**: 4 of 5 required repos were MISSING on the VPS:
- ❌ freshvibe-dochub — not present at /root, /opt, or /workspace
- ❌ mavis-templates — not present
- ❌ fvs-mavis-board — not present
- ✅ fv-module-gallery — present at /opt/repos/fv-module-gallery
- ❌ freshvibe-way-v8 — not present

**Action taken** (per rules: STOP + heartbeat warn + clone):
1. Heartbeat warn bulletin b1058 posted to thread 7
2. Cloned the 4 missing repos to /opt/ (canonical path)
3. fv-module-gallery left at /opt/repos/ (folder name matches GitHub, parent path is irrelevant per the rule "folder name MUST match GitHub repo name")

**Post-clone state**: 5 of 5 repos exist. Names match. Commit hashes match (fresh clones of main).

| Repo | Path | Branch | Local SHA | GitHub name match |
|---|---|---|---|---|
| freshvibe-dochub | /opt/freshvibe-dochub | main | 31702ac | ✅ |
| mavis-templates | /opt/mavis-templates | main | e46d9bd | ✅ |
| fvs-mavis-board | /opt/fvs-mavis-board | main | 57c8121 | ✅ |
| fv-module-gallery | /opt/repos/fv-module-gallery | main | 8a34d53 | ✅ |
| freshvibe-way-v8 | /opt/freshvibe-way-v8 | main | b1ab638 | ✅ |

**Audit CAN BEGIN.** ✅

---

## 1. Doctrine Map

Where the doctrine files live across the 5 repos.

### freshvibe-dochub
- `dev/projects/fvw-v8.md` — FVW v8 project notes
- `dev/doctrine/fvw-v8.md` — FVW v8 doctrine
- `user/projects/fvw-v8.md` — user-facing FVW v8
- `mavis/prompts/freshvibe/2026-06-13-0004-fvw-preservation-rule.md`
- `mavis/prompts/freshvibe/2026-06-13-0012-fvw-v6-path-decision.md`
- `mavis/prompts/freshvibe/2026-06-14-0051-fvw-v7-doctrine-written.md`
- `mavis/prompts/freshvibe/2026-06-15-0055-fvw-v7-cleanup-vsil-references.md`
- `mavis/plans/phase-4-fvw-cleanup.md`

**Role**: Historical record of FVW v6/v7/v8 doctrine evolution. Decisions, prompts, plans.

### mavis-templates
- `glm-templates/` (5 templates: classify, summarize, translate, variations, widget-module)
- `glm_fanout.py`, `glm-batch.py`, `install.sh`

**Role**: GLM batch-runner + templates for mechanical work. Per memory entry "Mavis Templates repo — preferred over memory-embedded" (2026-07-17).

### fvs-mavis-board
- `correspondence/2026-06-25-1427-helper-to-chrome-001-fvw-v8-section-35-36.md`

**Role**: Mavis cross-session correspondence (helper to chrome on FVW v8 §35-36).

### fv-module-gallery (canonical FVW v8 doctrine)
- `gallery-pact/fvw/` (53 doctrine files including all §01-§26)
- `gallery-pact/fvw/freshvibe-way-v8/` (the canonical v8 doctrine home)
- `gallery-pact/fvw-versioning-rules.md`
- `gallery-pact/fvw/freshvibe-way-v8/FVW-SYNC-PROTOCOL.md`
- `modules/*/recipe-book/` (28 modules each with full 10-file recipe-book)

**Role**: PRIMARY DOCTRINE HOME. This is where FVW v8 is canonically stored. All other repos reference here.

### freshvibe-way-v8
- `scaffolding/` (template files for new modules: recipe.md, codex.md, rules.md, plan.md, coverage-matrix.md, module-meta.json, ingredients.json)
- `scaffolding/revibe/` (reconstruction templates)
- `QUICKSTART.md`, `README.md`, `CHANGELOG.md`, `AGENTS.md`

**Role**: SCAFFOLDING templates. Use these to create a new FVW v8 module. Not the doctrine itself.

### Summary
- **Doctrine home**: fv-module-gallery/gallery-pact/fvw/
- **Scaffolding home**: freshvibe-way-v8/scaffolding/
- **Historical record**: freshvibe-dochub/
- **Templates (GLM, not doctrine)**: mavis-templates/
- **Correspondence**: fvs-mavis-board/

**Cross-project redundancy**: FVW v8 doctrine content lives in 3 places (fv-module-gallery + freshvibe-dochub + freshvibe-way-v8) but only **fv-module-gallery is canonical**. The other two are mirrors/derivatives.

---

## 2. Artifact Map

Top 30 most-recent artifacts in Mavis HQ (`/opt/operator/data/panel.db`, 519 total):

| ID | Type | Name | Project | Size (B) | Created |
|---|---|---|---|---|---|
| 559 | plan | freshvibe-hq-audit-2026-08-12 | operator-panel | 2,379 | 11:58 today |
| 558 | report | vibecoder-audit-2026-08-12 | vibecoder-standalone | 9,748 | 11:55 today |
| 557 | audit | a552-freshvibe-cms-audit-2026-08-12 | helper-mavis | 23,878 | 10:54 today |
| 556 | audit | gallery-fvw-architectural-audit-2026-08-12.md | fv-module-gallery | 5,033 | 10:37 today |
| 555 | plan | judgment-memory-and-lint-v3 | operator-panel | 6,865 | 10:36 today |
| 554 | audit | a553-fvre-full-system-audit-2026-08-12 | helper-mavis | 16,868 | 10:35 today |
| 553 | plan | judgment-memory-and-lint-v2 | operator-panel | 14,099 | 10:33 today |
| 552 | plan | judgment-memory-and-lint | operator-panel | 10,798 | 10:14 today |
| 551 | plan | 36-judgment-memory-brief | fva-control-panel | 9,690 | 09:18 today |
| 549 | manual | a551-fvre-workflow-guide-2026-08-12 | helper-mavis | 15,036 | 07:38 today |
| 548 | manual | a550-fv-cms-pipeline-vision-2026-08-12 | helper-mavis | 13,017 | 07:38 today |
| 547 | audit | a547-fvre-smartpantry-audit-2026-08-12 | helper-mavis | 24,363 | 07:37 today |
| 546 | compliance-report | a544-post-deploy-live-2026-08-12 | helper-mavis | 6,390 | 00:44 today |
| 545 | signoff | phase-7-fvre-final-signoff-2026-08-12 | helper-mavis | 7,159 | 00:40 today |
| ... | ... | ... | ... | ... | ... |

**By type** (519 total):
- mockup: 308 (59%)
- plan: 63 (12%)
- doc: 40 (8%)
- audit: 10
- past_state: 7, position: 7, recipe-book: 7, spec: 7
- guide: 6, investigation: 6, ref: 6
- doctrine: 5, manifest: 5
- (44 other types with 1-3 each)

**By project** (519 total):
- fv-module-gallery: ~120 (largest)
- helper-mavis: ~80
- operator-panel: ~50
- (15+ other projects with 1-50 each)

**Quality**: 0 artifacts with description < 20 chars (the rule from earlier 2026-07-29 locked audit).

---

## 3. Redundancy List

### A. Files in 2+ git repos (same content, multiple sources)

| File / Topic | Locations |
|---|---|
| **FVW v8 §35-36** | fv-module-gallery/gallery-pact/fvw/ + fvs-mavis-board/correspondence/ (helper-to-chrome on §35-36) |
| **FvRE pipeline vision** | freshvibe-dochub/ + Mavis HQ (artifact 548 = a550-fv-cms-pipeline-vision, 13KB) + fv-module-gallery/ |
| **Memory + Lint plan** | Mavis HQ (a552, a553, a555 = 3 versions of judgment-memory-and-lint) + fvre-mavis (a551 = 36-judgment-memory-brief) |

### B. Artifacts with the same name (in the panel DB, top 20):

| Name | Copies | Total KB | Project |
|---|---|---|---|
| avidtech6-audit | 3 | 86 | fv-module-gallery |
| canonical-home-proposal | 3 | 68 | fv-module-gallery |
| facets-in-fvw-v8 | 3 | 33 | fv-module-gallery |
| fvw-canonical-rollout | 3 | 31 | fv-module-gallery |
| fvw-v8-mirror-investigation | 3 | 39 | fv-module-gallery |
| stencil-pact-dossier | 3 | 129 | fv-module-gallery |
| (14 more with 2 copies each) | | | |

**Total redundant artifacts**: ~30 with 2-3 copies, ~150KB of duplicated content.

### C. Repos on VPS but NOT in the audit's required list (incidental repos):

| Repo | Remote | Issue |
|---|---|---|
| vibecoder-bridge | avidtech6/vibecoder-standalone | Workspace name has "bridge" suffix; should be at /opt/vibecoder-standalone |
| vibecoder-bridge-git | (same as above) | Duplicate of vibecoder-standalone |
| operator | avidtech6/fva-control-panel | Workspace name is "operator" not "fva-control-panel" |
| fv-gallery-ui | avidtech6/fv-gallery-ui | ✅ (matches) |
| oscar-refactor-frag | avidtech6/oscar-web | All 3 should be at /opt/oscar-web (single repo, 3 worktrees) |
| oscar-main-v072 | (same) | |
| oscar-feat-fes | (same) | |
| freshvibe-cms | avidtech6/freshvibe-cms | ✅ (matches) |
| vibecoder-build | avidtech6/vibecoder-standalone | Should be at /opt/vibecoder-standalone |

**Total**: 10 incidental repos, 4 of which have name mismatches.

### D. Doctrine content in 3+ places (cross-cuts all repos):

- **FVW v8 §08 anti-drift** lives in: fv-module-gallery/gallery-pact/fvw/freshvibe-way-v8/08-anti-drift.md + freshvibe-dochub/dev/doctrine/fvw-v8.md + freshvibe-way-v8/CHANGELOG.md
- **FVW v8 §11 recipe book** lives in: fv-module-gallery/gallery-pact/fvw/freshvibe-way-v8/11-recipe-book.md + freshvibe-way-v8/scaffolding/module/ + Mavis HQ artifacts (4 new modules' recipe.md)
- **Module-as-cluster** lives in: fv-module-gallery/gallery-pact/fvw/10-modules-as-clusters.md + fv-module-gallery/modules/*/ (28 modules) + freshvibe-dochub/dev/

---

## 4. Consolidation Plan

### Phase 1: Clone alignment (DONE)
- ✅ 4 missing repos cloned
- ✅ All 5 names match GitHub
- ✅ All 5 commit hashes match (fresh clones)

### Phase 2: Repository name mismatches (TODO)
Per the audit rules, when a workspace name doesn't match GitHub, we DELETE or RENAME. Recommend:

| Current | Target | Action |
|---|---|---|
| /opt/vibecoder-bridge | (merge into /opt/vibecoder-standalone) | MOVE (the bridge is a sub-folder of the standalone) |
| /opt/vibecoder-bridge-git | (delete, duplicate) | DELETE |
| /opt/operator | /opt/fva-control-panel | RENAME (the panel's own repo) |
| /opt/vibecoder-build | /opt/vibecoder-standalone | RENAME (or merge) |
| /opt/oscar-refactor-frag | /opt/oscar-web | MOVE (consolidate the 3 worktrees) |
| /opt/oscar-main-v072 | /opt/oscar-web | MOVE |
| /opt/oscar-feat-fes | /opt/oscar-web | MOVE |

**Caveat**: the 3 oscar-* worktrees are intentional git worktrees (per `git worktree add`), not separate clones. They should stay as worktrees. The "mismatch" is that they have different branch names checked out (refactor-frag, main-v072, feat-fes) but the same remote. This is the EXPECTED git worktree pattern. **Recommend**: leave as-is, the mismatch is structural and intentional.

### Phase 3: Artifact redundancy (TODO)
For each name with 2-3 copies, determine the canonical one:

| Name | Canonical | Others to archive |
|---|---|---|
| avidtech6-audit (3 copies) | Most recent, with chain_key | Older versions |
| canonical-home-proposal (3) | Most recent | Older |
| fvw-v8-mirror-investigation (3) | fv-module-gallery canonical (it IS the doctrine home) | Archive other 2 |
| stencil-pact-dossier (3) | Same pattern | Archive older |

**Total reduction**: ~30 artifacts to ~10 canonical = ~20 files archived (50-100KB freed).

### Phase 4: Doctrine single-source (TODO)
For the FVW v8 content that lives in 3 places, adopt a single-source rule:

- **Canonical**: fv-module-gallery/gallery-pact/fvw/freshvibe-way-v8/
- **Reference mirror (read-only)**: freshvibe-dochub/dev/ (historical archive, no edits)
- **Scaffolding (write-only)**: freshvibe-way-v8/scaffolding/ (uses canonical at runtime, never duplicates content)

**Action**: add a note to freshvibe-dochub/README.md: "This repo is a HISTORICAL ARCHIVE. The canonical FVW v8 doctrine lives at fv-module-gallery/gallery-pact/fvw/freshvibe-way-v8/. See that repo for the latest."

### Phase 5: Cross-repo cross-reference doc (TODO)
Create `/workspace/.plan/fvw-doctrine-sources.md` that maps every FVW v8 file to its canonical source + 1-line description of what it says. Future sessions can resolve "where is the doctrine for X" in 1 query.

---

## Summary

- **Audit ready**: 5 of 5 repos cloned + names match + commit hashes match
- **Doctrine map**: 4 distinct roles across 5 repos, fv-module-gallery is canonical
- **Artifact map**: 519 artifacts, 308 mockups, 0 missing descriptions, ~30 redundant
- **Redundancy**: 4 repo name mismatches (3 intentional worktrees, 1 real fix needed)
- **Consolidation**: 5-phase plan, ~20 files to archive, 1 cross-repo doc to write