---
title: "STATUS — VFVFGPT — 2026-10-12"
date: 2026-10-12
time: "09:30"
author: agent
publishedBy: code
status: pub
tags: ["status", "vfvfgpt"]
---

# STATUS — VFVFGPT

_Article généré automatiquement depuis le STATUS.md de VFVFGPT — 2026-10-12. Les chemins locaux, les hôtes internes et les noms de variables ont été neutralisés._

# STATUS — VFVFGPT

> Mise à jour 2026-09-19 : repo canonique `_dev/VFVFGPT`; configurations exécutables migrées vers les tiers du manifeste. Les backlogs de juin ci-dessous sont conservés comme historique et classés `candidate` ou `superseded`; ils ne doivent pas être repris automatiquement. L'état transverse vivant est `[chemin local]`. Priorités actuelles : clients natifs Chronos, reboot Windows, reprise longue coupure et export/import Chronowflow.

**Dernière MAJ** : mercredi 7 octobre 2026 (matin) — swarm #2/10 : triage STATUS « EN COURS » (25 → 0 actifs) + réparation refs handoff mortes ; détail `docs/handoffs/2026-10-07-swarm-vfvfgpt-handoffs.md`.

## État 07/10 (matin) — swarm hub : STATUS / handoffs / backlog

- **Mesure** : audit 2026-10-02 citait 25 items « EN COURS » + réf. handoff morte ; rejoué 2026-10-07 — section `## EN COURS` listait encore les 25 todos juin (AUTO/VPS/LMN) comme s'ils étaient actifs.
- **AUTO_OK** : reclasse → 0 EN COURS réel · candidats (ne pas reprendre auto) · bloqués R3 notés sans forcer ; refs handoff corrigées (chemins absolus méta / dispatcher).
- **Git** : `origin/main...HEAD` = **0/0** ; runtime dirty ignoré (`data/*`, telemetry wal).
- **Relais** : `docs/handoffs/2026-10-07-swarm-vfvfgpt-handoffs.md`.

**Dernière MAJ (avant)** : dimanche 5 octobre 2026 (soir) — outil MCP `vfg_telegram_send` livré (MCP `vfg-gate` → VFGate prod → bot didou) ; chaîne modèle local → MCP → Telegram prouvée.

## État 05/10 (soir) — MCP Telegram (`vfg_telegram_send`) + envoi par modèle local

- **Livré** : outil `vfg_telegram_send` dans `tools/mcp-vfg-server/gate-core.js` (MCP `vfg-gate`, 9 outils au total). Envoi via VFGate prod `POST /adapters/:id/send` ; repli `telegram-muojbpi6` → `stack-telegram` ; jeton `x-vfgate-token` (déjà porté par l'env du MCP = `[variable d'environnement]`) jamais loggé. Commit `67465bf` (poussé).
- **Déployé (hotswap)** : `docker cp` dans `vfg-fleet-mcp-vfg-1:/app/tools/mcp-vfg-server/` + restart ; sauvegarde `/tmp/mcp-vfg-gate-core.bak.20261005-211826.js`. **Durable = rebuild image vfvfgpt** (le hotswap saute au prochain redeploy).
- **Preuve** : messages `key` 60→65 reçus. Chaîne `modèle local (gemma-4-12b-qat, :1234) → MCP → VFGate → Telegram didou → chat:638877009 (FG)`.
- **Runner + skill** (dépôt `vfg-dispatcher`) : `scripts/mcp-telegram.mjs` (`--direct` 0 token / `--model` 1 appel) ; `skills/telegram-notify/SKILL.md` ; prompt VS Code `/envoie-telegram`. Handoff (hors repo) : `[chemin local]`.
- **Reste (décision FG)** : (1) pousser/rebuild l'image `vfvfgpt` pour figer le tool ; (2) le jeton Telegram **local** (`BDDBridgePOC/.env`) est mort (`getMe` 401) — le chemin Telegram passe par **VFGate prod** ; (3) allowlist MCP `vfg-docs` optionnelle.

**Dernière MAJ (avant)** : jeudi 1er octobre 2026 (soir) — mémoire méta workspace (carte repos + système) livrée ; Rainbow Journey lancé sur port isolé 5186.

## État 01/10 (soir) — carte méta + lancement Rainbow Journey

- **Carte méta** : nouveau skill `.cursor/skills/dev-meta-carte/SKILL.md` + règle `.cursor/rules/vfg-carte-meta.mdc` (racines, tiers, ports, points de vérité, pièges de mesure). Réponse à la demande « mémoire méta générale globale des repos et du système ».
- **Lancement** : Rainbow Journey (`[chemin local]`, `FGDidou/RainbowJourney` — **hors tiers manifeste**) servi sur Vite **:5186** (PID 6000) ; port 5173 occupé → évité.
- **Article publié** : `blog.vfg.lol/…/metaprojet/2026-10-01-2249_lancer-rainbow-journey-et-carte-meta-du-systeme.md` (catalogue 614, dérive 0/0). Handoff (méta-dépôt) : `[chemin local]`.
- **Dette bloquante** : disque **C: plein** (ENOSPC) → garde `test:ci` du blog en échec (fixtures en `%TEMP%`). À libérer avant la prochaine publication non contournée.

**Dernière MAJ (avant)** : jeudi 1er octobre 2026 — corpus dual-agent (juin) rapatrié dans `agents/`, converti en store requêtable.

## État 01/10 — corpus agentique rapatrié (`agents/`)

- **Rapatrié** : l'ancien essai dual-agent local (Pinocchio / Graumodaile, juin 2026) vivait dans un dossier **non versionné, hors workspace**. 122 fichiers copiés sous `agents/legacy/` (brut, lecture seule ; original conservé).
- **Converti** : `agents/scripts/etl-traces.mjs` → `agents/traces/traces.jsonl` (72 lignes, 1 ligne = 1 Q/R), **idempotent** (SHA256 stable au relaunch). `verdict_source: runner` sur chaque ligne.
- **Mesuré** : `PASS=47 · FAIL=25` · `cot_leak=9` · `meta_leak=4` · `sentry_miss=7/10` · `suspect_hallucination=6` · latence `p50=6,5 s / p95=87 s` · mémoire 20 fichiers, `empty_lane=6`.
- **Correction d'audit** : le lot A annonçait « échec mémoire ≈ 13 % » — faux (déclarations comptées comme rappels). Vrai chiffre : **rappel 3/10, 70 % d'échec**.
- **Audit** : 3 fiches (conversations / instruments / mémoire) + 1 consolidée. Anti-pattern n°1 : **le LLM audité signait son propre verdict** (6 audits `PASS` fabriqués).
- **Article publié** : `blog.vfg.lol/devblog/posts/workflows-agentiques/2026-10-01-0534_audit-essai-dual-agent-local-stocker-et-traiter.md` (catalogue 607, dérive 0/0).
- **Relais** : `handoffs/2026-10-01-0530-audit-corpus-dual-agent-stockage.md`.

**Dernière MAJ (avant)** : lundi 29 juin 2026 (session soir) — ménage suite : blog pushé, chemins MCP corrigés, branches nettoyées.

## État ménage 29/06 (session soir)

- **Blog RAPPORT-EXPERIENTIEL pushé** : 77 articles .md + scripts pipeline + admin commités et poussés. `.gitignore` enrichi (`*.md.html`, posts/auto/, posts/status/).
- **MCP vfg-markdown** : chemin `$workspace` corrigé dans `START-ALL-MCP-SERVERS.ps1` (était `VFVFGPT/tools`, maintenant `tools/`). `VFVFGPT_ROOT` → `VFG_PROJECTS_EXTRACTED/VFVFGPT`.
- **Branches obsolètes supprimées** : claude/epic-bose, confident-shamir, 3 chore/* sessions. Handoff hub-token-recovery récupéré dans main.
- **Worktree actif** : `.worktrees/doc-id-rename` (100 fichiers modifiés) — décision FG en attente.
- **À pousser** : 2+ commits workspace racine (git push, bloqué par classificateur auto).

## État cleanup 29/06 (session matin)

- Projets extraits hors repo racine vers `../VFG_PROJECTS_EXTRACTED/` : VFVFGPT, Matrice, VFGate, VFG-Kit, VFG_Hero, Grimoire, IdeaPit, Pulse, GandalfIdle, VFJah, TDAC, RAPPORT-EXPERIENTIEL, VFG-Workspace, vps-rescue-scripts.
- Copies fantômes racine rangées sous `../VFG_PROJECTS_EXTRACTED/_phantoms/` : `VFVFGPT-root`, `VFG_Hero-root`, `VFG-Kit-root`.
- Racine conservée pour l’agentique live : `.claude/`, `.cursor/`, `.zed/mcp-bridge.mjs`, `.githooks/`, `agent-bus/`, `config/`, `tools/`, scripts, handoffs récents.
- `git submodule status` ne casse plus : gitlinks retirés de l’index, `.gitmodules` supprimé.
- Reste à arbitrer : décision `agent-telemetry` dormant vs relance (collision connue `:5198`).

## État historique

| 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 `[chemin local]` 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://[hôte interne]: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/11-06-26-0000-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/11-06-26-0000-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/11-06-26-0000-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/11-06-26-0000-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/11-06-26-0000-plan-integration-quatuor-prep.md) | Plan locks, phases 0–3, PR-only |
| [gate-c0-decision-data-hub.md](docs/audit/2026-06-11/11-06-26-0000-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=[chemin local]` ; `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://[hôte interne]>** 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. **Priorité transverse** : lire `[chemin local]` (état vivant) — ne pas reprendre les backlogs juin ci-dessous sans mandat FG.
2. **SEC-07→10** candidats ([BACKLOG-SECURITE](./docs/BACKLOG-SECURITE-VFVFGPT-2026-06-12.md)) — SEC-01→06 ✅.
3. **Candidats R0/R1** (si mandat) : `QUATUOR-BOOT` (scripts `start:all:quatuor` / `demo:quatuor` présents — preuve E2E à rejouer) · `ORCH-01` · `LMN-01`/`LMN-02`.
4. **R3 FG seulement** : `LMN-04` · vault/secrets `AUTO-10`/`AUTO-23`/`AUTO-52` · `VPS-CD-*` / `VPS-PH2-01` · rebuild image MCP Telegram.
5. `npm run doc:audit-workflow -- --apply` après drift PLAN/STATUS.

## EN COURS

| ID | Sujet | Owner | Branche | Bloqueur |
| --- | --- | --- | --- | --- |
| — | *Aucun item hub réellement actif au 2026-10-07* (mesure swarm #2) | — | — | — |

## Backlog candidat (ne pas reprendre automatiquement)

> Source : `data/workspace-backlog.json` · sprints juin 2026 marquées `superseded` (2026-10-07). Historique conservé.

| ID | Classe | Sujet | Note 2026-10-07 |
| --- | --- | --- | --- |
| LMN-01 | candidate | Importer 30 fiches magie-numerique/fiches/ | Pack présent (`docs/resources/magie-numerique/`) ; `fiches/` absent |
| LMN-02 | candidate | `00_MANIFESTE.md` labo magie numérique | Non créé |
| QUATUOR-BOOT | candidate | Boot quatuor + demo E2E | Scripts npm présents ; E2E non rejoué ce lot |
| ORCH-01 | candidate | Promouvoir IO-ORCHESTRATOR-BUNDLE → SSOT | Fichier bundle absent |
| AUTO-11→14 | candidate | E1 secrets broker / tokens API | Sprint auto juin — pas démarré ici |
| AUTO-30→32 | candidate | E3 decision-docs | Idem |
| AUTO-40→42 | candidate | E4 proof.usage / gate R2 | Idem |
| AUTO-50→51 | candidate | E5 IaC + CD | Idem |

## Bloqué R3 / décision FG (noté, non forcé)

| ID | Sujet | Motif |
| --- | --- | --- |
| LMN-04 | Slice B chapeaux LED | Décision FG (hardware vs parking E8) |
| AUTO-10 | Techno vault secrets | Validation humaine |
| AUTO-23 | Permissions `.claude/settings.json` | Validation humaine |
| AUTO-52 | Runbook deploy VPS + creds | R3 prod |
| VPS-CD-01 | user deploy + docker + keys CI | R3 VPS |
| VPS-CD-02 | secrets GHA VPS_* | R3 secrets |
| VPS-CD-03 | `VPS_DEPLOY_ENABLED=true` | R3 CD |
| VPS-CD-06 | `HUB_EVT_URL` fleet post-deploy | R3 / hub prod |
| VPS-PH2-01 | Dockerfile Hub + hub.vfg.lol live | R3 prod |
| MCP-TG-IMG | Rebuild image `vfvfgpt` (tool Telegram) | R3 deploy (reste 05/10) |