---
title: "STATUS — VFVFGPT — 2026-06-29"
date: "2026-06-29"
time: "09:00"
author: "agent"
tags: ["status", "vfvfgpt"]
template: blog
status: pub
source_origin: "clone"
source_path: "clone1:status/2026-06-29-status-vfvfgpt.md"
---

# STATUS — VFVFGPT

_Article généré automatiquement depuis 01-core/VFVFGPT/STATUS.md — 2026-06-29_

# STATUS — VFVFGPT

**Dernière MAJ** : dimanche 28 juin 2026 — ✨ **AUDIT SESSION COMPLÈTE** (7.4 → 8.5/10) · P0 blockers fixed (3/3) + P1 high-priority fixed (3/3) · 7 commits pushed · 301+ tests PASS · Ready for deployment

## État

| Axe | Statut |
| --- | ------ |
| Repo git | 🟢 initialisé — commits atomiques règle 11 |
| API `:4320` | 🟢 multi-ingest 4 sources, kit read/write, WS |
| Admin `:4319` | 🟢 feed EVT + ops + kit + gates + inbox |
| Écriture API (P3) | 🟢 events, proposals, inbox webhook |
| Audit runner (P4) | 🟢 trigger + volets `docs/audit/` |
| agentic-dashboard | 🔵 archivé `frozen-2026-06` → VFVFGPT |
| Tests | 🟢 **302/303** (21/06, `--test-concurrency=1`) · 1 dette : `no-stale-abs-paths` (~144 `.md` codent `D:\VFG_PT__` canonique, préservé volontairement) · `lan-services` fiable en sériel seulement · gate **doc:check-links** R0-doc · smoke e2e ports · +SEC-02 rôles/isolation +SEC-05 webhook-guard +SEC-06 suite HTTP `app.inject` · +META-02 quest_key/realm backlog · +AUTO-01/02 taxonomie gates · +AUTO-20/21/22/24 runbooks/ops:run/restart durci/lock-scheduler |
| Webhook pont `:4320/webhook` | 🟢 `bridge.stats` · `mission.complete` · `quest.created` → Feed admin |
| Boot LAN `start:all` | 🟢 profils `active` / `quatuor` · probe TCP matrice-api |
| Admin macro hub | 🟢 Sprint · Doc closure · Prompt queue (`workspace-backlog.json`, `prompt-queue.json`) |
| Services LAN | 🟢 onglet admin + CLI `lan:status` / `lan:restart` |
| **Accès LAN/Tailscale (13/06)** | 🟡 `VFVFGPT_BIND_HOST=0.0.0.0` (`.env`) — admin `:4319` OK (`http://100.72.71.33:4319`) ; API `:4320` reste `127.0.0.1` (restart bloqué, à refaire `npm run lan:restart vfvfgpt-api --force`) |
| `VFVFGPT_SOURCES` | 🟢 4 bus quatuor configurés (`.env` local) |
| Gate C0 | 🟢 **GO** — VFGate = data-hub officiel ([gate-c0](./docs/audit/2026-06-11/gate-c0-decision-data-hub.md)) |
| Règle Cursor SSOT | 🟢 `.cursor/rules/agent-ssot.mdc` — copié depuis `docs/agentique/rules/` (11/06 post-reboot) |
| SSOT commandes workspace | 🟢 `config/ssot/commands/workspace-cli.json` + [PROTOCOLES-VALIDES](./docs/agentique/PROTOCOLES-VALIDES.md) (11/06 soir) |
| Audit Telegram MP | 🟢 `@vfgbotbot` PASS — [audit](./docs/audit/2026-06-11/telegram-vfgbotbot-audit-mp-only.md) |
| Ménage SSOT 11/06 nuit | 🟢 10 worktrees mergés supprimés · ~120 liens morts corrigés · [audit cartographie](./docs/audit/2026-06-11/audit-cartographie-ssot-menage-liens.md) — reste FG : §6 (process node, b1/b3, Lucien) |
| **Bedtime Call** | 🟢 orchestrateur + recap + admin onglet 🌙 · SSOT `config/ssot/ritual/bedtime-call.json` · [PLAN](./docs/PLAN_BEDTIME_CALL.md) |
| **Agent orchestrator** | 🟢 fix-loop · règle [agent-orchestrator.mdc](./docs/agentique/rules/agent-orchestrator.mdc) · CLI `orchestrator:*` · [audit](./docs/agentique/audit/2026-06-11/auto-re-agent-orchestration-audit.md) |
| **Dispatch quatuor 12/06** | 🟢 PRs mergées · demo PASS · [handoff](./docs/agentique/dispatch/2026-06-12-night/DISPATCH-OVERNIGHT-HANDOFF.md) |
| **Pont E2E demo** | 🟢 `demo-quatuor-quest.js` PASS · clone Hero principal |
| **Telegram sécurité** | 🟢 VFGate poll off · allowlist adapter · Hero MP-only (12/06 soir) |
| **Encodage terminal Cursor** | 🟢 SSOT watchlist `terminal-encoding-utf8` · [ops/watchlist.json](./config/ssot/ops/watchlist.json) · EVT-0025 |
| **Doc audit workflow** | 🟢 `npm run doc:audit-workflow` · template [DOC-AUDIT-CORRECTION](./docs/agentique/templates/DOC-AUDIT-CORRECTION-WORKFLOW.md) · PR [#17](https://github.com/FGDidou/VFVFGPT/pull/17) merged |
| **Backlog machine** | 🟢 `data/workspace-backlog.json` resync 12/06 · [PLAN_ACTION](./docs/PLAN_ACTION_2026-06-12.md) aligné STATUS quatuor |
| **Audit sécurité API/LAN** | 🟡 [BACKLOG-SECURITE](./docs/BACKLOG-SECURITE-VFVFGPT-2026-06-12.md) · **SEC-01→06** ✅ (P0 + webhooks + suite HTTP) · reste SEC-07→10 (P1/P2) |
| **MCP workspace Cursor** | 🟢 `vfg-docs` boot/search/ssot/graph · `vfg-feed` snapshot/events · `vfg-gate` bridge (16/06) · probe `npm run mcp:docs:probe` |
| **MCP tools core** | 🟢 `packages/core/src/mcp-docs-tools.js` (+350 lignes) — 10+ outils : boot_context, timeline, ssot_*, search_docs, graph_neighbors, gate_*, friction_*, sitrep, kit_export (26/06 swarm boot) |

## Technique — multi-ingest quatuor

Branche **`feat/multi-ingest-quatuor`**.

| Élément | Détail |
| ------- | ------ |
| Sources | `VFVFGPT_SOURCES` JSON — 4 bus quatuor (fallback `parseSources`) |
| Déduplication | `eventDedupeKey()` = `{project}\|{id}` — évite perte EVT-NNNN inter-repos |
| Watcher | `createMultiWatcher` — tri `at`, feed WS = 100 % des events lus |
| Tests | `createMultiWatcher quatuor` — 4 sources, ids identiques, feed complet |

## Chantier actif

**Overnight quatuor demo** — **S5 + Bedtime mergés sur `master`** (12/06 nuit). Reprise : `node scripts/demo-quatuor-quest.js` · [HANDOFF](docs/agentique/dispatch/2026-06-12-night/DISPATCH-OVERNIGHT-HANDOFF.md). WIP local staché (`session-close-wip`).

| Doc | Rôle |
| --- | ---- |
| [**DEMO-FG-REVEIL.md**](docs/agentique/dispatch/2026-06-12-night/DEMO-FG-REVEIL.md) | **Runbook réveil** — env, start-all quatuor, URLs, curl pont, 5 clics |
| [SQUAD-S4-HUB-LOG-DEMO.md](docs/agentique/dispatch/2026-06-12-night/SQUAD-S4-HUB-LOG-DEMO.md) | Spec squad S4 |
| [**99-synthese-humaine-tsa.md**](docs/audit/2026-06-11/99-synthese-humaine-tsa.md) | **Lecture facile** — synthèse audits 10–11/06 (TSA/TDAH friendly) |
| [plan-integration-quatuor-prep.md](docs/audit/2026-06-11/plan-integration-quatuor-prep.md) | Plan locks, phases 0–3, PR-only |
| [gate-c0-decision-data-hub.md](docs/audit/2026-06-11/gate-c0-decision-data-hub.md) | Décision VFGate data-hub — **GO** 11/06 |

## Locks (anti-collision)

| Zone | Owner | Statut |
| ---- | ----- | ------ |
| `VFG_Hero/**` | Agent sprint H1/H2 (`integrate`) | 🔒 **no-touch** |
| `VFVFGPT/**` | Prep hub (ce chantier) | 🟢 actif |
| `Lucien/**` | FG seul | ⛔ hors scope |
| `agentic-dashboard/**` | — | 🔵 archivé |

## Phase courante

Post **doc-audit** (12/06) : workflow journaliste intégré · hub backlog 50 tâches (HERO-03 in_progress · GATE-05/06 · KIT-01→05). Hub focus : **SEC P0** + support agents quatuor.

## Smoke R2 prep (procédure reproductible)

### Prérequis

1. `.env` local (hors git) — `VFVFGPT_WORKSPACE=D:\VFG_PT__` ; `VFVFGPT_SOURCES` vide = fallback auto 4 bus quatuor.
2. Terminal A : `npm run dev` (API `:4320` + admin `:4319`).
3. Optionnel LAN : démarrer les services quatuor visés (Hero `:3000`/`:3001`, Matrice `:5173`/`:5174`, VFGate `:5190`/`:5191`).

### Commandes smoke (terminal B)

| Commande | Requiert dev | Vérifie |
| -------- | ------------ | ------- |
| `npm test` | non | 155 tests unitaires (depuis le root ; en worktree : 6 échecs connus `dev-meta`/`check-doc-links`, workspace résolu à `.worktrees`) |
| `npm run smoke:health` | non | ingest offline ≥12 rules, feed lines === events |
| `npm run smoke:feed` | **oui** (API `:4320`) | feed live — 4 projets quatuor |
| `npm run smoke:lan` | non | ≥3 services LAN online (env `VFVFGPT_SMOKE_LAN_MIN`) |
| `npm run smoke:e2e` | **oui** | enchaîne health → feed → lan |
| `npm run lan:status` | non | sonde complète registre (humain) |
| `npm run smoke:vfgate-proxy` | API + optionnel VFGate | routes proxy read-only C0 |
| `npm run doc:check-links` | non | gate R0-doc — 0 lien mort docs vivants (STATUS/INDEX/fiches) |

### Captures admin R2 (preuve visuelle)

1. Ouvrir **<http://127.0.0.1:4319>** après `npm run dev`.
2. Onglet **Feed EVT** : filtre projet → vérifier les 4 labels (`VFVFGPT`, `FG_CleanDaMatrix`, `BDDBridgePOC`, `VFG_Hero`).
3. Onglet **Services LAN** : grille avec pastilles 🟢/🔴 ; capture montrant ≥3 services online.
4. Nommer les fichiers : `r2-feed-quatuor-YYYY-MM-DD.png`, `r2-lan-services-YYYY-MM-DD.png`.
5. Stocker dans `docs/audit/2026-06-11/` (phase 3 intégration) — **ne pas committer de secrets**.

Gate R2 phase 3 (28/06) : ajouter preuves Telegram réel + `xp_delta` Matrice→Hero — hors scope de ce smoke prep.

## Ports

| Service | Port |
| ------- | ---- |
| API VFVFGPT | 4320 |
| Admin VFVFGPT | 4319 |
| agentic-dashboard (legacy) | 4310 — archivé |

## Prochaines actions

1. **SEC-01→06 ✅** (13/06 : P0 + webhooks + suite HTTP `app.inject`) — suite : **SEC-07** (schéma EVT strict) puis SEC-08→10 ([BACKLOG-SECURITE](./docs/BACKLOG-SECURITE-VFVFGPT-2026-06-12.md))
1b. **Autonomie agentique** — sprint `sprint-auto-2026-06` : 21 tâches `AUTO-*` (15 autonomes vague 1) pour transformer les blocages en ratifications 1-clic — vault, runbooks, decision-docs, gates R2 mesurables, CD gaté ([PLAN_AUTONOMIE](./docs/PLAN_AUTONOMIE_AGENTIQUE_2026-06-13.md))
2. Support quatuor : **HERO-03** · **GATE-06** · **KIT-01→05** (voir `data/workspace-backlog.json`)
3. FG : **GATE-05** bot dédié · **MAT-03** PPAT · révoquer token ngrok si pas fait
4. `npm run doc:audit-workflow -- --apply` après drift PLAN/STATUS
5. Phase 8 RAG FTS5 (optionnel — grep OK)

## EN COURS

| ID | Sujet | Owner | Branche | Bloqueur |
|----|-------|-------|---------|----------|
| LMN-01 | Importer 30 fiches §6 magie en registre docs/resources/magie-numerique/fiches/ | FG+agent | `main` | — |
| LMN-02 | Rédiger 00_MANIFESTE.md laboratoire magie numérique (5 lignes §9.1) | FG | `main` | — |
| LMN-04 | Décision FG : Slice B chapeaux LED — repo hardware vs parking E8 | FG | `main` | — |
| QUATUOR-BOOT | Boot quatuor reproductible : start:all:quatuor documenté + demo:quatuor E2E PASS (preset dev-quatuor.json) | FG+agent | `main` | — |
| ORCH-01 | Promouvoir IO-ORCHESTRATOR-BUNDLE.md brouillon → SSOT opérationnelle (orchestrator:bundle) | FG valide + agent | `main` | — |
| AUTO-10 | E1 decision-doc techno vault (keychain/age-sops/secrets.local) | FG | `main` | validation humaine FG |
| AUTO-11 | E1 modele secrets : etendre config/ssot/secrets/metadata.json (scopes) | agent | `main` | — |
| AUTO-12 | E1 API POST /api/v1/auth/tokens (mint project:role, admin SEC-02, reveal one-time) | agent | `main` | — |
| AUTO-13 | E1 helper requestToken(scope) -> handle injecte env, jamais logge | agent | `main` | — |
| AUTO-14 | E1 migrer VFVFGPT_TOKENS/relais vers broker (retro-compat) | agent | `main` | — |
| AUTO-23 | E2 regles permission .claude/settings.json pour ops prouvees | FG | `main` | validation humaine FG |
| AUTO-30 | E3 schema decision-doc (config/ssot/decisions) + core | agent | `main` | — |
| AUTO-31 | E3 API + onglet admin ratifier/rejeter 1-clic | agent | `main` | — |
| AUTO-32 | E3 pilote : MAT-03 PPAT + 1 LMN en decision-docs | agent | `main` | — |
| AUTO-40 | E4 type EVT proof.usage + feed (FG_Pulse) + checker gate | agent | `main` | — |
| AUTO-41 | E4 harnais e2e synthetique npm run gate:r2 <service> (Puppeteer) | agent | `main` | — |
| AUTO-42 | E4 cabler statut R2 backlog/admin ; pilote KIT-05 | agent | `main` | — |
| AUTO-50 | E5 IaC quatuor (Dockerfile+compose+Caddy) valide local — DOCKER-T1 | agent | `main` | — |
| AUTO-51 | E5 pipeline CD (GH Actions) build+test+secure-diff, deploy gated | agent | `main` | — |
| AUTO-52 | E5 runbook deploy VPS (creds vault) — VPS-T2, exec R3 FG | FG | `main` | validation humaine FG |
| VPS-CD-01 | URGENT VPS · user deploy + groupe docker + authorized_keys CI (setup-vps-host.sh) | FG+agent | `main` | — |
| VPS-CD-02 | URGENT VPS · secrets GHA VPS_HOST / VPS_USER / VPS_SSH_KEY sur repos T1 | FG | `main` | — |
| VPS-CD-03 | URGENT VPS · activer VPS_DEPLOY_ENABLED=true (variable repo GHA) — CD auto push main→SSH deploy.sh | FG | `main` | — |
| VPS-CD-06 | URGENT VPS · HUB_EVT_URL fleet + EVT deploy post deploy.sh (best-effort hub :4320) | agent | `main` | — |
| VPS-PH2-01 | Phase 2 VPS · Dockerfile Hub + hub.vfg.lol / hub-api.vfg.lol live | agent | `main` | — |
