blog.vfg.lol

STATUS — VFG_PT__ — 2026-10-11

STATUS — VFG_PT__

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

STATUS — Workspace VFG

État vivant au 2026-10-07 clôture (~08:15 Europe/Paris). Vérité instantanée : node _scripts/dev-meta.mjs status.

Clôture globale swarm — 2026-10-07 (~08:15)

  • Handoff : docs/handoffs/2026-10-07-cloture-session-swarm-handoffs-prs-jah-lots.md (BLOCKERS / DOUBTS / AUTO_OK).
  • Synthèse matin : 61d8450 · docs/handoffs/2026-10-07-swarm-synthese-matin.md.
  • Sync : secure-diff SAFE puis pull + push repos ahead (méta branche docs/agent-presence-live-cleanup-plan, Hero, Matrice, Kit, VFVFGPT doc, IdeaPit, Grimoire) — sans WT telemetry VFVFGPT.
  • Blog article : metaprojet « Swarm du 7 octobre… » — voir handoff blog post-publish.
  • Exclusions : VFJah_Messenger WIP · Lucien · R3 exécutés.

LOT-08 go-reste — 2026-10-07 (~08:45)

  • Blog handoffs : unknown 77→0 · 17 open (canon) · commit blog eca1996 · relais docs/handoffs/2026-10-07-go-reste-r3-prep.md.

Swarm Jah lot — 2026-10-07 (blog redirect live)

  • Blog : /jah-lot → 308 /jah-lots live (e1f878e) · seed stamp 2026-10-07 · Jah readyz 4.0.32
  • Handoff : RAPPORT-EXPERIENTIEL/handoffs/2026-10-07-swarm-jah-lot-update.md

Swarm handoffs+PR 2026-10-07 ~07:40 (synthèse matin)

Périmètre : 10 lots swarm doc/mesure · aucun push méta/Hero/Matrice/Kit (merges GitHub distants uniquement). Handoff synthèse : docs/handoffs/2026-10-07-swarm-synthese-matin.md.

BlocFait mesuréPreuve / relais
InventaireTable unique handoffs retard/en coursdocs/handoffs/2026-10-07-swarm-handoffs-inventaire.md
LOT-09/01/02/04Boot léger · INDEX 07/10 · STATUS matin · blog 8→1 opendocs/BOOT-AGENT-LEGER.md · docs/handoffs/2026-10-07-swarm-lot01-02-index-status.md · miroir LOT-04
VFVFGPT hubSTATUS « EN COURS » 25 → 0 actifs + candidats/R3_dev/VFVFGPT/STATUS.md · docs/handoffs/2026-10-07-swarm-vfvfgpt-handoffs.md
VFG_Hero HERO-05D1–D3 clos (hubs · archive 44 · INDEX ~15) · 1676d8d · ahead 3 vs origin/maindocs/handoffs/2026-10-07-swarm-hero-handoffs.md (repo _live/VFG_Hero)
PR mergées (gh)Méta #12 · VFGate #14+#16 · dispatcher #1 · questival #2docs/handoffs/2026-10-07-swarm-prs-general.md · …-swarm-prs-live.md · …-swarm-prs-hub-docs.md
Matrice + ChataigneRedis hang fix 172/172 tests · DMX noisette live 421/423 vs SSOT 255–257 (reco FG)méta 2a4a7d3 · docs/handoffs/2026-10-07-swarm-matrice-chataigne.md
VFG-KitResync chemins tiers · liens morts 57 → 4commit Kit e4090a5 local · docs/handoffs/2026-10-07-swarm-vfg-kit-docs.md
IdeaPit + GrimoireInventaire tests/inbox · :5192/:5193 down · 21/21 Grimoiredocs/handoffs/2026-10-07-swarm-ideapit-grimoire.md
Méta #10manifest OK · declutter 78 candidats dry-run · repos restantsdocs/handoffs/2026-10-07-swarm-meta-general.md

R3 FG restants (sans détail secrets) : rotation tokens/logs · tâche Windows admin VFG-Dispatcher · timeline #122 (502) · blog dérive #123 / L3.7 relecture · push branches (LOT-10, Hero ahead 3, blog behind 553) · Hero prod 401 · VPS-CD · migration tiers — inventaire § « Blockers R3 ».

Snapshot matin 2026-10-07 (inventaire swarm + lots doc)

SignalMesure (source)
Inventaire handoffsLivré — docs/handoffs/2026-10-07-swarm-handoffs-inventaire.md (10 lots plan, 11 open INDEX au 05/10, blockers R3)
Dispatcher Telegram→A/B/C→codeLivré et poussé 05:35 — VFGate / vfg-dispatcher / méta 0/0 — docs/handoffs/2026-10-07-0535-cloture-session-dispatcher-bughunt-verification.md
FG_Pulse :4330DOWN — Invoke-WebRequest http://[hôte interne]/… → connexion refusée (2026-10-07 ~07:18) ; repo 3M local (dev-meta status)
Blog checkoutbehind 553 / ahead 3 vs origin/main — git -C _docs/repos/RAPPORT-EXPERIENTIEL rev-list --left-right --count origin/main...HEAD → 553 3
INDEX handoffs métaRafraîchi LOT-01 — 68 handoffs, +12 entrées 2026-10-07 — docs/handoffs/INDEX.md
Boot agents légersdocs/BOOT-AGENT-LEGER.md (LOT-09)
LOT-04 · Redis Matrice · VFGate WTLivré local — triage blog 8→1 open (docs/handoffs/2026-10-07-swarm-lot04-triage-open-mirror.md) · Matrice Redis 172 tests OK (2a4a7d3) · relais PR LIVE/worktrees (docs/handoffs/2026-10-07-swarm-prs-live.md)

R3 FG (bref, sans détail secrets) : rotation tokens / logs · tâche Windows admin VFG-Dispatcher · timeline #122 (502) · blog dérive #123 · push lot-10 · migration tiers · Hero prod 401 · VPS-CD — voir inventaire § « Blockers R3 ».

Swarm LOT-01/02 — 2026-10-07 ~07:25 (INDEX + STATUS · LOCAL, pas de push)

  • LOT-09 : docs/BOOT-AGENT-LEGER.md créé.
  • LOT-01/02 : INDEX + snapshot STATUS ; handoff docs/handoffs/2026-10-07-swarm-lot01-02-index-status.md.
  • Interdits : Jah Messenger, Lucien, push, R3.

Swarm #7/10 — 2026-10-07 ~07:20 (Matrice + Chataigne · LOCAL, pas de push)

  • Lot : FG_CleanDaMatrix + ChataigneProjects (manifeste) ; FG_RebootDaMatrix optional absent.
  • Livré : resync STATUS Matrice (P1a/b/c sur main, EVT-0053) · mesure DMX live noisette 421/423 vs SSOT 255–257 · STATUS Chataigne + backlog P1.
  • Reco FG : amender SSOT mapper → 421–423 (G2 PASS sur live) — non appliqué sans tranchage.
  • Reste : E4-DMX FG · P1-REST (useGameCheats→ADMIN + T5 bascule) · MAT-03.
  • Handoff : docs/handoffs/2026-10-07-swarm-matrice-chataigne.md.
  • Interdits : pas Jah, pas Lucien, pas push, pas secrets, pas prod.

Swarm #2/10 — 2026-10-07 ~07:15 (VFVFGPT hub · doc-only · pas de push)

  • Lot : triage STATUS hub — 25 « EN COURS » → 0 actifs + candidats + table R3 ; refs handoff mortes réparées.
  • Repo : _dev/VFVFGPT — STATUS.md · data/workspace-backlog.json (6 sprints juin superseded, 8 R3 blocked) · handoff daté.
  • Handoff : _dev/VFVFGPT/docs/handoffs/2026-10-07-swarm-vfvfgpt-handoffs.md · miroir docs/handoffs/2026-10-07-swarm-vfvfgpt-handoffs.md.
  • Interdits : pas Jah/Messenger, pas Lucien, pas push, pas prod forcée.

Swarm PR #2/3 LIVE — 2026-10-07 ~07:30 (VFGate · merges distants)

  • Mergées : VFGate #16 (delta7 résiduel, conflits résolus, 243/243 tests) · #14 (docs erratum topologie, STATUS aligné main).
  • Scan LIVE : Hero · IdeaPit · Grimoire · Pulse · Matrice · Cockpit · GandalfIdle → 0 PR ouverte ; ChataigneProjects sans git ; FG_Chronos sans remote à la racine méta.
  • Handoff : docs/handoffs/2026-10-07-swarm-prs-live.md · relais git pull sur _live/VFGate · pas de deploy prod.
  • Hors scope : VFJah_Messenger · PR stale VFJahMsnPlus / MatrixToDMX / VFGServer.

Swarm PR 2026-10-07 (lots #1–#3 · consolidation)

  • Mergées : VFG-Workspace #12 (squash 5843937e, lot #1) · vfg-dispatcher #1 (merge aaffdbb, tests dispatch-status 9/9 post-pull) · questival #2 (squash, lot #3).
  • 0 PR sur sites · blog · ai-usage-hub · TDAC · atlas · Hero · Matrice · VFVFGPT (scan gh).
  • Reste ouvert : VFGate #14 · #16 → clos lot #2/3 · 3 PR stale (VFJahMsnPlus #2, MatrixToDMX #1, VFGServer #1).
  • Écart : handoff 0535 cite PR #406 VFVFGPT — 404 sur GitHub (branche locale ?).
  • Handoffs : docs/handoffs/2026-10-07-swarm-prs-general.md · …-swarm-prs-hub-docs.md · git pull origin main méta recommandé · pas de push ce lot.

Swarm PR #1/3 — 2026-10-07 ~07:10 (hub/docs/méta · merge distant)

  • PR #12 VFG-Workspace (docs agentique / dispatch observabilité) : squash-mergée (5843937e) · 0 PR ouverte sur le méta remote.
  • Scans VFVFGPT · VFG-Kit · RAPPORT-EXPERIENTIEL : aucune PR ouverte.
  • Relais : docs/handoffs/2026-10-07-swarm-prs-hub-docs.md · git pull origin main recommandé (merge gh uniquement).

Session — 2026-10-07 07:15 (swarm #10/10 méta + repos restants · LOCAL, pas de push)

  • Lot swarm #10 : méta-workspace + repos hors Jah / hors agents 1–9.
  • Mesures : manifest:check → cohérent (8 absents optionnels) · declutter --dry-run → 78 candidats / 0 déplacé · feed MCP dégradé (hub down).
  • Repos : SkinEditor blocked :5194 · RainbowJourney [chemin local] dirty docs, port 5186 down · GandalfIdle clean plan S/M/L · UnifiedPOC readonly · atlas behind 3.
  • Livrable : docs/handoffs/2026-10-07-swarm-meta-general.md (tableau général consolidé).
  • R3 FG : rotation secrets · push · timeline 502 · install tâche Dispatcher · allocation port SkinEditor · declutter apply.
  • Relais : handoff ci-dessus + inventaire docs/handoffs/2026-10-07-swarm-handoffs-inventaire.md.

Session — 2026-10-07 05:35 (clôture : dispatcher + bugs + vérification large · PUSHÉ)

  • Disparcher (Telegram → LLM local propose A/B/C → agent de code) livré et prouvé ; harness optimisé (fiche d'auto-connaissance) ; présentation « état des lieux ».
  • Poussé : VFGate b8e58c4 (merge PR #20) · dispatcher ac46522→70a1b49→6cecc0c · méta be0eba9 — les 3 0/0.
  • Bugs corrigés : parseProposal tronquait la réponse (« A) ») · extractReply [object Object] · purge état + garde mono-instance.
  • Issues : #398 doublon fermé · #405 + PR #406 (feedback-sync dérive) · #122 (timeline 502) · #123 (dérive blog 3 articles).
  • À trancher (FG) : (1) tâche planifiée en admin ; (2) repli agent codex/kimi (claude en quota) ; (3) rotation tokens (@sansmesbot + Jah en clair) ; (4) timeline 502 (R3 VPS).
  • Relais : docs/handoffs/2026-10-07-0535-cloture-session-dispatcher-bughunt-verification.md.

Session — 2026-10-07 03:55 (dispatcher agent local + notifications · PUSHÉ VFGate/dispatcher)

  • Chaîne Telegram → Bionic → agent de code livrée et prouvée. Bot dédié @sansmesbot (libre, validé) configuré sur le VFGate local (prod non touchée).
  • Disparcher ([chemin local], poussé ac46522) : scripts/lib/dispatcher-core.mjs (parseurs A/B/C + état pending, 9/9), scripts/telegram-dispatcher.mjs (SSE chat.inbound → LLM propose réponse+options → sur choix → bin/delegate.ps1), lanceur idempotent + script de tâche planifiée.
  • Harness VFGate (poussé b8e58c4, merge PR #20) : fiche d'auto-connaissance injectée, prompt enrichi, max_tokens 512→1024 ; suite 236/236.
  • Présentation « état des lieux » : vfg-dispatcher/docs/2026-10-07-etat-des-lieux-agent-bionic.html.
  • À trancher (FG) : (1) lancer en admin install-dispatcher-task.ps1 (tâche VFG-Dispatcher) ; (2) claude en quota hebdo (« resets Oct 8 7am ») → repli codex/kimi ; (3) rotation du token @sansmesbot (collé en chat) + identifiants Jah en clair dans les logs.
  • Relais : docs/handoffs/2026-10-07-0355-cloture-dispatcher-agent-local-harness-etat-des-lieux.md.

Session — 2026-10-05 08:49 (CLÔTURE : lot /sujets-ouverts/ · PUSHÉ · déployé · DONE)

  • Livré (blog, poussé) : vue de lecture du registre des sujets ouverts — https://blog.vfg.lol/sujets-ouverts/ (HTTP 200) + https://blog.vfg.lol/api/sujets-ouverts.json (200, totals.sujets = 14). Projection de docs/SUJETS-OUVERTS.md (parseur mesuré ; la page ne réécrit pas le registre). 14 sujets : 10 ouverts · 1 débloqué · 1 en pause · 1 refusé · 1 indéterminé.
  • Code : scripts/lib/sujets-ouverts.mjs, scripts/lib/templates/sujets-ouverts.cjs, routes src/server.js, surface config/site-registry.cjs, surveillance .github/workflows/code-deploy.yml, test test/sujets-ouverts-vue.test.mjs. Commit 4b18f65 (merge 0285e16) ; handoff handoffs/2026-10-05-0849-…md (commit a51948b, merge ac57a6b).
  • Tests : node scripts/test-ci.mjs → 622 pass · 0 fail (2 skip).
  • Pièges corrigés : docs/ n'était pas surveillé par code-deploy (ajout docs/SUJETS-OUVERTS.md) ; surface publique hors navigation → hiddenReason obligatoire ; test sujets-ouverts.test.mjs d'un autre agent non écrasé (1 agent = 1 périmètre).
  • Sujet 10 (autre agent/FG) : .../apercus/2026-10-05-handoffs-taches-urgences.html → 200 ; hub à 14 présentations · 10 sujets.
  • Méta/atlas : en phase (0/0) — rien de nouveau à pousser hors cette entrée.
  • À trancher (FG) : (1) cadence du collecteur de statuts (VFG-status-auto, 09:30 seulement) ; (2) rendre jah-stab-vues auto ou le laisser manuel ; (3) route SUJETS-OUVERTS FAIT.
  • Relais : handoffs/2026-10-05-0849-cloture-registre-sujets-ouverts-vue-lecture.md.

Session — 2026-10-05 08:30 (option 3 : servir le registre /sujets-ouverts/ · PUSHÉ · déploiement)

  • Demande FG (option 3) : « il manque l'endroit où afficher les statuts ouverts + handoffs/tâches ». La route de lecture est livrée : /sujets-ouverts/ (HTML) + /api/sujets-ouverts.json (agents), en projection de docs/SUJETS-OUVERTS.md (parseur mesuré — la page ne réécrit pas le registre).
  • Code : scripts/lib/sujets-ouverts.mjs + scripts/lib/templates/sujets-ouverts.cjs + routes src/server.js
    • surface sujets-ouverts (config/site-registry.cjs) + test/sujets-ouverts-vue.test.mjs (10 tests).
  • Mesure : 14 sujets (10 ouverts · 1 débloqué · 1 en pause · 1 refusé · 1 indéterminé). Un statut non classable s'affiche indéterminé — jamais rangé de force.
  • Pièges corrigés : docs/ n'était pas surveillé par code-deploy (ajouté docs/SUJETS-OUVERTS.md) ; une surface publique hors nav doit porter hiddenReason.
  • Vérifié : node scripts/test-ci.mjs → 622 pass · 0 fail. Poussé (535c7a9..0285e16) → code-deploy déclenché.
  • Sujet 10 (autre agent/FG) : .../apercus/2026-10-05-handoffs-taches-urgences.html → 200 (déployé), hub à 14 présentations · 10 sujets.
  • À trancher (FG) : cadence du collecteur de statuts ; auto jah-stab-vues.
  • Handoff : docs/handoffs/2026-10-05-0822-… (§4.bis mise à jour).

Session — 2026-10-05 08:22 (journal + statuts-projets rafraîchi + état du chantier · PUSHÉ · DONE)

  • 2 articles publiés (journal 04→05/10 + clôture/méthode « les 4 pièges ») — voir entrée 07:58.
  • /statuts-projets/ rafraîchi à la main : collecteur status-auto.mjs lancé depuis le worktree isolé (blog-journal-1005) → 21 publiés / 0 échec ; page servie = 45 dates 05/10. Tracker commité (e6db316).
  • /jah-stab-vues régénéré : 4.0.22 · 13/13 · reste 0 (avant 4.0.21 · 12/13) → commit a937759, code-deploy success.
  • Réponse mesurée à FG : /statuts-projets/ est auto (projection + tâche 09:30, délai d'un jour) ; /jah-stab-vues n'est pas auto (instantané manuel). À trancher : cadence du collecteur (plus fréquent / à la demande).
  • Surfacé pendant la session (autre agent/FG) : « Sujet 10 — handoffs/tâches/urgences par projet » (public/prototypes/apercus/2026-10-05-handoffs-taches-urgences.html, commit blog 535c7a9 ; artefact méta cc75a12). code-deploy en cours à la clôture.
  • Handoff : docs/handoffs/2026-10-05-0822-journal-sessions-statuts-projets-et-etat-du-chantier.md.
  • À trancher (FG) : cadence du collecteur de statuts ; auto jah-stab-vues ; route de lecture SUJETS-OUVERTS (absente).

Session — 2026-10-05 07:58 (journal des sessions 04→05/10 : 2 articles + STATUS + atlas · PUSHÉ · DONE)

  • 2 articles publiés (canal officiel post.mjs --live, gardes vertes test:ci/check:links/check:counts, renommés par le serveur) :
    1. Récit : « Du bateau qui fuit au port qui tient — le journal de ces deux jours » — https://blog.vfg.lol/devblog/posts/metaprojet/2026-10-05-0752_du-bateau-qui-fuit-au-port-qui-tient-journal-des-sessions.md
    2. Clôture/méthode : « Le journal se referme : les pièges d'une session qui se raconte » — https://blog.vfg.lol/devblog/posts/metaprojet/2026-10-05-0758_le-journal-se-referme-les-pieges-d-une-session-qui-se-raconte.md
    • Catalogue 722 · flux RSS 463 items · HTTP 200 (les 2).
    • Worktree exclusif : [chemin local] (branche feat/journal-04-05-oct, base origin/main).
  • PUSHÉ (les 3) : blog origin/main → 6ad33b1 · méta docs/agent-presence-live-cleanup-plan → 9e52748 · atlas main → dd1332f.
    • ⚠️ Le push blog n'a PAS déclenché code-deploy : son filtre paths ne surveille pas devblog/posts/** (public/**, src/**, config/**, data/**, vfjah/**, *.mjs, package*.json) → normal, l'article est déjà servi par l'Admin API.
  • Pièges de la session (méthode) : jonction _tools/vfg-atlas qui clobbe catalog.json (→ builder depuis le chemin physique) ; worktree neuf sans node_modules (→ npm ci --ignore-scripts) ; heure d'article « dans le futur » (→ caler sous l'horloge) ; serveur qui renomme le fichier au moment de publier (→ relire le nom servi).
  • Atlas : index documentation rafraîchi (npm run doc-atlas → 2254 fichiers) + catalog.json régénéré (112 projets / 90 vérifiés).
  • Sondes live (clôture) : jah.vfg.lol/readyz → 4.0.22 · hero.vfg.lol → 200 · hub /prototypes/apercus/ → 200 (13 présentations · 9 sujets).

Session — 2026-10-05 07:52 (journal des sessions 04→05/10 : article + STATUS + atlas · DONE)

  • Article journal publié (canal officiel post.mjs --live, gardes vertes test:ci/check:links/check:counts, renommé par le serveur 0730→0752) : récit complet des sessions depuis le 04/10 après-midi (télémétrie réparée, Jah STAB 4.0.16→4.0.22, Hero v2 migré, agent local jugé sur pièces, urgence fantôme, outillage visuel, arbre de connaissance), avec URLs + captures + métriques + 10 liens live vérifiés.
  • STATUS : entrée ajoutée ici (ce lot). Atlas : index documentation rafraîchi (npm run doc-atlas).
  • Sondes live consignées : jah.vfg.lol/readyz → 4.0.22 (campagne STAB clôturée 13/13, release solo) · hero.vfg.lol → 200 · hub /prototypes/apercus/ → 200 (13 présentations · 9 sujets).
  • Non fait (avec raison) : push blog (code-deploy = R3, décision distincte) ; push méta (branche 18 en avance).

Session — 2026-10-05 06:10 (audit handoffs/tâches interrompues + atlas + arbre · R3 en sujets ouverts · DONE)

  • Audit mesuré : fiche docs/AUDIT-2026-10-05-handoffs-taches-interrompues-atlas-arbre.md (handoffs + tâches interrompues + atlas + arbre). 3 déductions fausses corrigées par la mesure : registre/index blog déjà 202/119 sur origin/main (le 203 est local) ; 4 handoffs absents de l'INDEX (pas 6) ; l'échec test:ci de l'article n'est pas sur origin/main.
  • Livré (méta, poussé) : INDEX docs/handoffs/INDEX.md (+4 du 05/10) ; addendum docs/workspace/ARBRE-CONNAISSANCE.md (trou MCP fermé, indexedFiles 1195) ; atlas frais (90 projets, 0 marqueur). Branche docs/agent-presence-live-cleanup-plan = 0/0.
  • O5-A : worktree sûr blog/safe-1005 (origin/main 9399475) ; article push/pull committé 0a5cfbc, dry-run vert (test:ci 607/0), non poussé / non publié.
  • Réflexion R3 (fiche §7) : dublog 26/53, article, path-secrets MCP — options + fiabilité.
  • Sujets ouverts conservés : S1 dublog (9/10) · S2 article (9/10) · S3 lecons-apprises (10/10) · S4 path-secrets (6–9/10) · S5 registre 2.6.x (8/10).
  • Non fait (R3 / périmètre autre agent) : publication live, merge main blog, O3-B (scripts/), O4 (VFVFGPT arbre dirty), dublog.
  • Relais : docs/handoffs/2026-10-05-0610-cloture-audit-handoffs-atlas-arbre-et-reflexion-r3.md. Prochaine action : FG tranche le dublog (préalable), puis pousser blog/safe-1005 ou publier l'article.

Session — 2026-10-05 04:45 (provenance des clôtures · article auto-correctif publié · DONE)

  • Règle durable : champ runtime obligatoire dans tout handoff de clôture (.cursor/rules/handoff-standard.mdc + skill global vfg-cloture-session §3.bis). Valeurs : bionic-native / api-lmstudio (+caller) / cloud / agent-cli / human. Motif mesuré : aucun log ne distinguait ces origines (dispatch.jsonl agent:"ollama" pour local ET cloud ; « VSCode » nulle part ; Bionic-natif sans log structuré).
  • Article publié (canal officiel, pas scp) : metaprojet/2026-10-05-0447_le-juge-ne-peut-pas-etre-le-sujet.md (HTTP 200, catalogue 718). Remplace 2 articles racine auto-validés (retirés).
  • Geste de méthode : un agent local proposait un scp (interdit) + 2 articles auto-validés → refus argumenté, article de correction publié à la place (le juge ne peut pas être le sujet).
  • Handoff : [chemin local].
  • Arbre de connaissance : écrit à chaque étage (méta règle, blog article, MCP servi via handoffs/**, dev skill global). Trou MCP : .cursor/rules/** absent de knowledge-allowlist.json → la règle n'est pas servie (action FG ouverte).
  • Non fait : poser origin à la source (delegate.ps1, metrics.mjs, blog-nemotron-e2e.mjs) ; ajouter .cursor/rules/** à l'allowlist MCP ; push méta (branche 65+ sur main).
  • Prochaine action : FG — (1) ajouter .cursor/rules/** à l'allowlist MCP ; (2) décider du push méta ; (3) lot « origin à la source » pour les logs d'exécution.

Session — 2026-10-05 04:20 (audit repos push/pull · article en voie interrompue · collision mesurée)

  • Audit mesuré (fetch + rev-list des deux côtés, 49 dépôts + 82 worktrees) : fiche versionnée docs/AUDIT-REPOS-PUSH-PULL-2026-10-05.md. Aucun push/pull exécuté.
    • Vivants 0/0 : 17 racines manifeste + ~62 worktrees.
    • Divergences : VFVFGPT 4+/2− + dirty mixte · vfg-dispatcher 4+ non poussés · VFG_Cockpit behind 4 · blog double clone (racine 28+/14− ; manifeste sur ca4093c absent d'origin/main) · 4 worktrees avec travail jamais poussé.
  • Fiche déplacée : docs/audit/ est ignoré (deny-by-default, git check-ignore -v preuve) → convention versionnée docs/AUDIT-*.md.
  • Article (mandat FG « quand même ») : écrit et committé wip: 49b4c47 dans le blog racine, en voie interrompue adaptée de PR #292 JahMessenger (status: interrompu, pas de --no-verify) : collision de périmètre mesurée en direct (autre agent publiait le même sujet, PID 39668, 04:06 ; vagues status-auto 03:23) → publication reportée aux gardes (test:ci 6 échecs, racine = catégorie lecons-apprises non déclarée, lot concurrent a748d7f).
  • Handoff : [chemin local].
  • Non fait : rebase blog 52+/15− ; réconciliation double clone (R3 FG) ; rattrapages git (voir fiche audit).
  • Prochaine action : repreneur blog — déclarer lecons-apprises: journal dans scripts/lib/project-map-data.cjs, replier npm test à 0 échec, committer/publier l'article ; puis FG tranche le doublon clone blog et les rattrapages git.

Session — 2026-10-05 03:31 (clôture BOOT-AGENT + Cloud notes · DONE)

  • Méta : BOOT-AGENT 1ed2621 ; clean orphelins fbd03ac ; working tree clean sur la branche docs.
  • Jah : PR #288 MERGED 19a7287 — section Cursor Cloud dans AGENTS.md sur main.
  • Relais : docs/handoffs/2026-10-05-0331-cloture-boot-agent-cloud-notes.md. Lot clos ; pas de suite obligatoire.

Session — 2026-10-04 23:34 (IdeZoomLab park-with-plan · clôture · pas de code)

  • Livré (doc) : plan solo docs/plans/2026-10-04-ide-zoom-lab-plan.md (commit méta ee415c3) ; source Cursor poc_zoom_webview_5d22f19a.plan.md.
  • Articles LIVE : park idée / méthodo · plan companion (HTTP 200, une + À chaud).
  • Non fait : code extension Zoom ; phase 2 (IdeaPit / Pulse-Telegram / push GH) ; push.
  • Note mesure : hash RAPPORT ca4093c cité en session non résolu dans le clone local à la clôture ; twins MD absents du working tree blog local.
  • Dirty hors lot (non touchés) : dev-boot/SKILL.md, atlas.md, _pass4_probe.ps1, audits-2026-10-03/.
  • Relais : docs/handoffs/2026-10-04-2334-park-idezoomlab-cloture.md. Prochaine action : FG relit les questions de l'article, puis tranche phase 2 ou mandat Zoom.

État vivant au 2026-10-03. La vérité instantanée reste node _scripts/dev-meta.mjs status.

Session — 2026-10-03 (atlas v3, catalogue en ligne, méthode de revue)

  • Relevé mesuré des 61 dépôts : docs/AUDIT-ATLAS-2026-10-03.md. P0 VFGate inchangés ; livraison Jah en cours (L1-L6).
  • Méthode versionnée et servable : docs/workspace/METHODE-AUDIT-ATLAS.md. MCP : allowlist du 16/06, slice non repacké.
  • Relais : docs/handoffs/2026-10-03-atlas-v3-catalogue-en-ligne.md.

Session — 2026-10-02 23:30 (Bionic dispatcher · crash bad allocation expliqué · vfg-dispatcher livré)

  • Cause du crash Bionic (mesurée dans le server-log) : gemma-4-12B chargé à n_ctx_slot = 258304 × 4 slots sur 16 Go de RAM → bad allocation, puis le runtime meurt → fetch failed. Remède : contexte 64K, 1 slot. Le prompt orchestrateur local disait « contexte maximal » : corrigé.
  • Nouveau dépôt FGDidou/vfg-dispatcher (privé, e8b2edd) : bin/delegate.ps1 (claude/codex/kimi/ollama × read/write/full, worktree exclusif, jamais de push), 16/16 tests, claude et ollama cloud vérifiés en réel.
  • Relais : docs/handoffs/2026-10-02-2330-bionic-dispatcher.md. Prochaine action : FG déroule vfg-dispatcher/docs/GUIDE-TEST.md.

Session — 2026-10-02 10:00 (audit état des lieux post-reboot · vague 1 livrée · orchestrateur local)

  • Audit mesuré (08:45–09:05, 3 éclaireurs en lecture seule) :
    • prod ok ×5 ;
    • 6 lots n'existent qu'en un exemplaire local (VFGate didou-llm, blog inferstatus/triage-unknown, méta devmeta, vfg-system, wt-handoffs-triage) ;
    • blog : deux clones, le manifeste pointe vers le clone périmé (−327) ;
    • 36 worktrees : 19 élagables, 11 actifs, 6 cassés (_outils = outil reaper, ne pas supprimer ; JahMessenger-suivi a un test jamais commité) ;
    • bus d'événements figé depuis le 2026-06-15 ; C: 6,7 Go libres.
    • Plan V0→V4 : docs/workspace/2026-10-02-audit-etat-des-lieux-plan.md.
  • Vague 1 livrée (local, non poussé, tests rejoués par l'orchestrateur) :
    • W1-A check-secrets élargi, 4a63daa, 31/31 ;
    • W1-B dev-meta --root et garde de sync-ports, c28f8b3 + 4be078d, 28/28 ;
    • W1-C docs/handoffs/INDEX.md et plans recochés avec preuve, 68f386d.
  • Orchestrateur local : prompt système LM Studio, docs/workspace/2026-10-02-prompt-orchestrateur-local.md. Aucun code.
  • Articles : 2, gardes vertes, commit blog 1c666c7 (worktree RAPPORT-EXPERIENTIEL-audit-1002). Publication = R3 FG (mot d'admin).
  • Relais : docs/handoffs/2026-10-02-1000-audit-etat-des-lieux-vague1-orchestrateur.md. Prochaine action : FG publie les 2 articles, puis tient la séance V0.

Session — 2026-10-02 08:48 (GitHub MCP distant : reconnaissance + plan, aucun fichier déposé)

  • Demande : URL nue https://api.githubcopilot.com/mcp/ → identifier, mesurer, planifier. Doc-only.
  • Ce que c'est : GitHub MCP server hébergé (remote HTTP ; variantes /mcp/readonly, /mcp/x/<toolset> ; en-têtes X-MCP-Toolsets/X-MCP-Readonly ; OAuth VS Code, PAT ailleurs). Classé Volet B (MCP public).
  • Mesuré : _dev\VFVFGPT\config\ssot\mcp-servers.json absent · %APPDATA%\Code\User\mcp.json absent · [chemin local] inexistant · [chemin local] = settings.json seul. Le générateur generate-mcp-configs.mjs ne fait que des serveurs locaux et écrase les configs → pas de serveur externe.
  • ⚠ Sécurité (R3) : PAT GitHub en clair dans [chemin local] (user-level, non versionné, serveur github) → rotation / indirection ${env:GITHUB_PAT} à décider.
  • Piège prouvé : .gitignore deny-by-default → git check-ignore .vscode/mcp.json = ignoré (exit 0) ; il faudra négativer !.vscode/mcp.json.
  • Aucun test ni commit : la session n'a rien déposé (fail-open assumé). _docs/workflows/atlas.md (session atlas 06:20) et docs/workspace/_pass4_probe.ps1 sont étrangers → laissés intacts.
  • Relais : docs/handoffs/2026-10-02-0848-plan-branchement-github-mcp.md. Prochaine action : FG tranche ampleur (A / A+C / A+B+C), auth Cursor, et sort du SSOT absent.

Session — 2026-10-02 06:35 (vue live des agents : concurrence nulle, un jeton de bot exfiltré puis masqué)

  • Livré (code) : _scripts/vue-live.mjs — script unique, zéro dépendance, lecture seule : sonde (Chronos, Pulse, VFGate, Hub), collecte (schtasks, git par worktree, checkpoint, handoffs), masque, puis écrit une page HTML autonome. Options --out --json --data --no-probe --worktrees --quiet. Rendu déterministe prouvé (2 rendus de la même donnée → hash identique).
  • ⚠ Sécurité (vrai résultat de la session) : le contrôle de motif a trouvé un jeton de bot réel (api.telegram.org/bot<id>:<jeton>/getUpdates) recopié dans l'artefact HTML, en provenance du bus d'activité FG_Pulse (titre d'onglet Chrome capturé : 3 occurrences dans acts.jsonl). Correctif prouvé : passe de rédaction appliquée au JSON et au HTML (bot, Bearer, sk-, gh[pousr]_, AKIA, Slack, PEM, paramètres d'URL nommés) → 0 motif, témoin bot*** présent. Leçon : une trace d'activité est une entrée non fiable ; le masquage est une étape de pipeline, pas une intention.
  • Mesure de concurrence : aucune collision — 1 seul agent actif, dans son worktree (JahMessenger\.claude\worktrees\jahm-pr-181-254204) ; le point chaud du 01/10 est évité ; workflow-smoke est une sonde du pont, pas un agent. 37 worktrees → 15 alignés · 11 sans upstream · 3 modifs · 2 non poussés · 6 cassés. 3/4 services up (Hub :4320 injoignable). 6 tâches planifiées, 2 en cours.
  • Convention à trancher (R2) : plusieurs sessions committent sur la même branche du méta (docs/agent-presence-live-cleanup-plan) — « 1 agent = 1 worktree » ne s'applique pas au méta.
  • Article publié : « La concurrence n'était qu'un agent dans son propre worktree » — blog.vfg.lol/devblog/posts/metaprojet/2026-10-02-0635_la-concurrence-etait-un-agent-dans-son-worktree.md (gardes vertes, page HTTP 200, catalogue 626, flux 428, dérive 0/0).
  • Tests : _scripts/check-secrets.mjs exit 0 ; test:ci blog 526/526 fail 0 ; rendu déterministe.
  • Non poussé (décision distincte) : commit méta (code + doc) et commit blog (article).
  • Relais : docs/handoffs/2026-10-02-0635-vue-live-agents-et-masquage-secrets.md. Prochaine action : R3 FG — rotation du jeton révélé + décision de push, puis élagage des 6 worktrees cassés.

Session — 2026-10-02 05:07 (connerie-lab v0.2 : correctifs 1-3 du POC)

  • v0.2 livrée et poussée : poc/Connerie_Lab_POC_v0.2.html (copie de l'original, conservé intact) + tests/verif_v02.mjs + CHANGELOG.md. connerie-lab passe à 13 fichiers, HEAD bd62d27, main SYNC.
  • Correctifs appliqués (1 : « ? je ne sais pas » avec ≥ 3 réponses ; 2 : égalités d'archétype départagées ; 3 : écart de regard pondéré − neutre affiché). Format schemaVersion 1 inchangé — vérifié.
  • Tests : verif_v02.mjs 15/15 vert ; les 2 tests d'origine (poc_test.mjs, verif_correctifs.mjs) restent verts. Rendu validé dans le navigateur sur le fichier livré (case « ? », garde-fou 2 → refus).
  • Non fait (avec raison) : correctif 4 (reformulation = choix éditorial FG) ; 7ᵉ situation (schemaVersion 2, chantier séparé) ; dépôt non inscrit au manifeste ni à l'atlas.
  • Push méta : 0d1cc06 poussé (branche docs/agent-presence-live-cleanup-plan).
  • Article publié : « Un ZIP de 3,8 Mo, dix fichiers, un dépôt privé » — blog.vfg.lol/devblog/posts/workflows-agentiques/2026-10-02-0515_un-zip-dix-fichiers-un-depot-prive.md (catalogue 624, page HTTP 200, flux 426, dérive 0/0). Commit blog 9931913 local, non poussé (code-deploy = R3).
  • Relais : docs/handoffs/2026-10-02-0507-connerie-lab-v0.2-correctifs.md. Décision attendue : correctif 4.

Session — 2026-10-02 03:24 (dépôt privé connerie-lab : POC + rapport Gandalf + audit)

  • Dépôt FGDidou/connerie-lab créé et poussé : privé, branche main, HEAD 9621823, 10 fichiers. Preuve serveur : gh api .../git/trees/main?recursive=1 → 10 blobs, visibility=PRIVATE.
  • Traçabilité de la charge utile : extraction de connerie-lab.zip → [chemin local], 10/10 SHA1 identiques entre tar et Expand-Archive (0 écart).
  • Tests verts : node poc_test.mjs → 80.0 / 82.5 / 85.0 ; node verif_correctifs.mjs → ? sur écoute 95.0.
  • Aucune autre surface touchée : originaux (poc/Connerie_Lab_POC.html, rapport/rapport-gandalf.html) et Connerie_Lab_complet.zip intacts ; rien poussé dans RAPPORT-EXPERIENTIEL ; aucun dépôt de l'audit supprimé.
  • Hors périmètre (décision FG) : dépôt non inscrit au manifeste ni à l'atlas.
  • Relais : docs/handoffs/2026-10-02-0324-creation-depot-connerie-lab.md. Prochaine étape : appliquer poc/CORRECTIFS.md sur une copie poc/Connerie_Lab_POC_v0.2.html (7e situation = migration schemaVersion 2, chantier séparé), avec accord FG.

Session — 2026-10-02 02:45 (méta-analyse : 7 sous-agents, sécurité, vision V0→V3)

  • Livré (local) : triage des handoffs du blog (84 entrées avec preuve), dev-meta signale OFF-DEFAULT/BEHIND-ORIGIN (3/3), inferStatus reconnaît les statuts réels (24/24, unknown 77 → 69). Branches dans [chemin local] (non poussées).
  • ⚠ Sécurité : 12 secrets critiques et 5 élevés versionnés (dépôts privés) ; 0 hook actif ; check-secrets aveugle à ces motifs. Fiche hors Git : _out/audits-securite-2026-10-02/. Rotation = R3 FG (V0).
  • Plans : docs/workspace/2026-10-02-vision-plan-agentique.md (V0→V3, dispatch par modèle) ; annexes docs/workspace/audits-2026-10-02/.
  • Relais : docs/handoffs/2026-10-02-0245-meta-analyse-7-sous-agents.md. Prochaine étape : séance FG sur les configs agentiques (MCP, plugins, règles, skills, outils), avec V0 en priorité.

Session — 2026-10-02 02:40 (flash PowerShell 10 min + [variable d'environnement])

  • Flash écran supprimé : la tâche VFG-Atlas-Monitor (PT10M) lançait powershell.exe sans -WindowStyle Hidden (motif hérité de _live/FG_Pulse/agents/windows/install-task.ps1). Correctif : lanceur _scripts/run-hidden.vbs via wscript.exe (zéro console → zéro flash ; -WindowStyle Hidden flashe encore). Agent long/tuable FG_Pulse-MediaAgent → powershell -WindowStyle Hidden conservé. Preuve : Start-ScheduledTask → LastTaskResult=0, log +619 o, aucune fenêtre.
  • [variable d'environnement] branché (401 → OK) : vfg-atlas/scripts/monitoring.mjs repliait sur dev-pulse-local faute de .env dans vfg-atlas. monitor-tick.ps1 charge désormais _live/FG_Pulse/.env via load-env.ps1 en portée enfant (dot-source = écrase $Root, piège mesuré). Preuve : repli _ssot/monitoring-events.jsonl 15 → 15, tick « Evenement publie ».
  • Tests : vfg-atlas 6/6 ; _live/FG_Pulse 69/69. git diff --check vert.
  • Commits locaux (non poussés) : vfg-atlas cf0714a ; _live/FG_Pulse 3fb7171 ; méta (ce commit).
  • Sauvegardes de tâches : _out\schtasks-backup-{VFG-Atlas-Monitor,FG_Pulse-MediaAgent}-2026-10-02.xml.
  • Relais : docs/handoffs/2026-10-02-0240-fix-flash-powershell-tick-atlas-et-token-pulse.md.
  • Dette mesurée : doc interne _live/FG_Pulse/docs/*.md périmée (2026-06-16, commit f7c236b).

Session — 2026-10-02 01:21 (rangement du dossier [chemin local])

  • Triage mesuré d'un dossier de rapatriement (14 fichiers + 4 dossiers) → 4 familles ; doublons tranchés au hash / comparaison 1:1, jamais par ressemblance de nom.
  • Rangement — 7 pièces, 3 dépôts : vfg-atlas (prototype HTML + 2 rapports d'audit dans atlas/ et audits/), JahMessenger (2 boards HTML dans docs/plans/boards/), RainbowPiano (5 visuels synesthésie + le MIDI « Atlas de Do »).
  • Quarantaine _out/quarantine/racine-2026-10-02/ : 11 pièces — 4 doublons exacts vérifiés (zip atlas 33/33 déjà au kit, docx = md, zip rainbow 14/14 déjà au dépôt, board Jah sha1 identique), 2 obsolètes/déjà traités, 4 exports d'agent hors dépôt.
  • [chemin local] est vide (dossier conservé).
  • Commits atomiques (non poussés) : vfg-atlas e64398f · JahMessenger 97548e3 · RainbowPiano ee0b649. Les artefacts d'autres agents (Jah : 4 ; RainbowPiano : 4) ont été laissés intacts.
  • Garde verte : check-secrets exit 0. Aucun test (déplacement de fichiers, pas de code).
  • Relais : docs/handoffs/2026-10-02-0121-rangement-gitrepos-to-triage-3-depots.md.

Session — 2026-10-02 01:05 (clôture du lot atlas)

  • vfg-atlas — lot clos : catalogue 112 projets, 90 vérifiés, 0 erreur ; dépôt FGDidou/vfg-atlas PRIVATE (HEAD 7eb150d) ; junction _tools\vfg-atlas ; tools.vfg-atlas au manifeste.
  • Tests : npm test (atlas) 6/6 ; test:ci (blog) 526/526 ; chaîne rejouable npm run build.
  • Monitoring 10 min ACTIF : tâche planifiée Windows VFG-Atlas-Monitor (10 min) → scripts/monitor-tick.ps1 → journal _ssot/monitor-tick.log. Avancement plan : 22/25 (88 %).
  • 3 articles publiés sur blog.vfg.lol (atlas, inventaire, monitoring) + 3 captures atlas servies 200.
  • Skill dev-notifications créé (.cursor/skills/ + miroir Claude vfg-notifications).
  • Bloqué humain (3) : [variable d'environnement] pour la vue temps réel Cockpit/Jah, token bot Telegram, bannière blog→atlas.
  • Relais : vfg-atlas/handoffs/2026-10-02-0105-vfg-atlas-cloture.md.
  • Anomalie mesurée : arbre [chemin local] partagé entre agents (gardes instables) → worktree isolé recommandé.

Session — 2026-10-02 00:46 (clôture reprise post-crash)

  • Constat : la session « crashée » (09bc4edd, « distille push … + URL article ») n'était pas en panne — ses outils terminal + édition étaient désactivés, d'où des snippets livrés non appliqués.
  • Loose ends du crash : résolus (métadépôt déjà poussé) — lien ARBRE-CONNAISSANCE.md dans docs/workspace/README.md ✅ ; addendum de provenance dans docs/handoffs/2026-10-02-0014-… ✅. Méta et blog poussés ; article servi (blog.vfg.lol).
  • Rien de neuf produit (fail-open assumé) : la clôture documente l'état, sans re-planifier ni ouvrir de chantier.
  • Relais : docs/handoffs/2026-10-02-0046-cloture-reprise-post-crash.md.
  • Action ouverte (R3, accord FG) : allowlisté ≠ servi — le slice MCP prod est packedAt: 2026-06-16 (77 fichiers, périmé) → npm run mcp:docs:pack + vps-deploy-mcp-docs-push.ps1 (dépôt VFVFGPT) pour que la fiche distillée soit réellement servie.
  • Hors périmètre (signalé, non commité) : workspace.manifest.json (entrée tools.vfg-atlas, manifest:check cohérent) · docs/workspace/_pass4_probe.ps1 (sonde non suivie).

Session — 2026-10-02 00:30

  • vfg-atlas intégré au workspace : dépôt physique [chemin local] + junction _tools\vfg-atlas + entrée tools.vfg-atlas au manifeste (manifest:check → cohérent, port 4173 libre). Distant FGDidou/vfg-atlas PRIVATE créé et poussé (16fc5ca).
  • Catalogue de vérité : l'inventaire réel (90 projets vérifiés) transformé au schéma atlas (import-inventaire.mjs) + fusionné (merge-catalog.mjs) + réconcilié avec le manifeste (reconcile-manifest.mjs) → 112 projets, 90 vérifiés, 0 erreur. Couche méta (meta.json : 8 catégories + 16 tags).
  • Monitoring 10 min (P0, délégué) : scripts/monitoring.mjs (zéro dépendance, --once/--watch N/--publish). Mesure 14/24 (58 %), ~7 h 50 restantes. POST FG_Pulse → 401 ([variable d'environnement] à brancher), repli _ssot/monitoring-events.jsonl.
  • A6 mesuré : l'atlas n'était pas un sur-ensemble du manifeste (intersection 25) → réconcilié (14 entrées ajoutées).
  • Publication (R3 accordé) : 2 articles publiés sur blog.vfg.lol (metaprojet/2026-10-01-0011_l-atlas-mode-emploi…, …-0013_ce-que-l-inventaire-a-reellement-mesure…) + 3 captures atlas servies HTTP 200. Convention d'image découverte : [chemin serveur] sur le VPS (hors workflow code-deploy).
  • Relais : vfg-atlas/handoffs/2026-10-01-2340-vfg-atlas-socle-monitoring-meta.md.
  • Action ouverte (agent suivant) : brancher [variable d'environnement] (monitoring → Cockpit :5230 + Jah), publier l'article 3 (monitoring), bannière blog vers l'atlas, skill « notifications ».

Dernière session — 2026-10-02 00:14

  • Jeton Citadelle retrouvé : didou.vfg.lol demandait [variable d'environnement]. Localisé sur le VPS dans citadelle.service → EnvironmentFile=[chemin serveur] (CITADELLE_ROLE=vps, [hôte interne]). Aucune régénération, aucune écriture VPS. Validé : /api/etat = 401 sans jeton, 200 avec Bearer (local et public). Empreinte SHA-256 notée (valeur non stockée).
  • Arbre de connaissance créé : règle .cursor/rules/vfg-knowledge-tree.mdc + skill .cursor/skills/dev-arbre-connaissance/SKILL.md — le flux méta → blog → MCP vfg-docs → dev (écrire une fois, servir partout).
  • Skill récurrent créé : .cursor/skills/dev-skillifier/SKILL.md — transformer une demande récurrente de FG en skill, + simplifier un skill trop complexe. (Miroirs Claude : vfg-arbre-connaissance, vfg-skillifier.)
  • Relais : docs/handoffs/2026-10-02-0014-citadelle-jeton-arbre-connaissance-et-skills-recurrents.md.
  • Distillation + push (2026-10-02 ~01:00) : canon docs/workspace/ARBRE-CONNAISSANCE.md (lié depuis docs/workspace/README.md) ; méta poussé (…7407329, …099b486) et blog poussé (6696e66). Article servi HTTP 200.
  • Découverte mesurée — « allowlisté » ≠ « servi » : le slice MCP prod (curl http://[hôte interne]/stats) est packedAt: 2026-06-16, indexedFiles: 77 → périmé, la fiche n'y est pas encore. Index local = 1036 fichiers ; pack local vérifié : 1125 fichiers, la fiche est dans l'archive. Action R3 restante : npm run mcp:docs:pack + deploy/vps/scripts/vps-deploy-mcp-docs-push.ps1 (déploiement prod → accord FG).
  • Action ouverte (agent suivant, accord FG) : ajouter .cursor/skills/**/SKILL.md + .cursor/rules/*.mdc à VFVFGPT/config/ssot/knowledge-allowlist.json puis redéployer mcp-docs (dépôt VFVFGPT — hors périmètre de cette clôture).
  • Constat non corrigé : /etc/caddy/citadelle.caddy existe mais n'est pas importé ; le bloc didou.vfg.lol est inline dans vfg-fleet.caddy (divergence connue, service en marche).

Session — 2026-10-01 22:40

  • Rainbow Journey lancé ([chemin local], FGDidou/RainbowJourney, hors tiers) sur serveur Vite isolé :5186 (PID 6000). Port 5173 évité (occupé par un autre service). App vérifiée à l'écran. Commande : node node_modules/vite/bin/vite.js --host 0.0.0.0 --port 5186 --strictPort.
  • Mémoire méta créée : skill .cursor/skills/dev-meta-carte/SKILL.md + règle .cursor/rules/vfg-carte-meta.mdc (carte des repos/tiers/ports + procédure de mesure).
  • 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).
  • Relais : docs/handoffs/2026-10-01-2240-lancement-rainbow-journey-carte-meta.md.
  • Dettes mesurées ce jour : VFVFGPT BEHIND 2 (5 modifs) ; VFJah_Messenger BEHIND 6 (sale) ; collision port :5210 ; _ssot/ports.json en avance sur sa source ; divergence handoffs (handoffs/ vs docs/handoffs/).
  • Blocage environnemental : disque C: quasi plein (ENOSPC) → la garde test:ci du dépôt blog échoue (6 tests copient des fixtures dans %TEMP%). Publication faite avec --skip-tests assumé (check:links + check:counts verts).

Rangement livré

  • Manifeste schéma 3 : path, kind, aliases, lifecycle, expected_present.
  • Résolution de chemin centralisée dans dev-meta.mjs pour boot, verify, status, pull, manifest-check, closure et plan-status.
  • manifest:check : zéro erreur ; les projets non clonés sont explicitement optionnels.
  • Chemins canoniques actifs sous _live, _dev, _sites et _docs/repos.
  • FG_SkinEditor et LaboHub déplacés physiquement ; les dépôts Git verrouillés par VS Code utilisent provisoirement une junction canonique vers leur ancien emplacement.
  • Outils _tools reconnectés à _dev/VFVFGPT.
  • Exports, sauvegardes, logs et fichiers temporaires déplacés sous _out/quarantine/root-artifacts-20260919 sans suppression.
  • Ancien worktree blog déplacé avec Git sous _out/quarantine/worktrees en conservant son .env et ses dépendances ignorées.
  • Tâches Windows Pulse réécrites vers _live/FG_Pulse et relancées ; API :4330 active.
  • Suites validées : RAPPORT 106, VFVFGPT 296, VFGate 195, Pulse 69, Hero 82, Grimoire 21, IdeaPit 57, Cockpit 114, VFJah 160, Gandalf 47, ai-usage-hub 2 et Chronos 29 tests verts. CleanDaMatrix frontend 158/158 ; backend à corriger pour fermer proprement son runner après le test de retry réseau.

Travail sécurisé

RAPPORT-EXPERIENTIEL est sur la branche locale chore/workspace-reorder-safety-20260919 :

  • 5b8d051 — contenu baie de brassage et Rainbow Journey ;
  • 57ddd04 — compatibilité manifeste et handoff ;
  • tests : 106/106 PASS ;
  • aucun push, aucun déploiement live.

Restant opérationnel

  1. Fermer puis rouvrir VS Code, inverser les junctions des dépôts Git : dépôt physique sous le tier, junction temporaire à la racine.
  2. Rejouer un démarrage Windows complet, vérifier Pulse et Agent Presence, puis dater la période de compatibilité de sept jours.
  3. Retirer les anciennes junctions uniquement après absence de référence runtime et validation d’un reboot.
  4. Revalider les clients natifs Chronos, les longues coupures de transport et l’export/import Chronowflow.
  5. Trier les anciens plans en clos, superseded, blocked-human ou candidate; aucun backlog ancien n’est automatiquement réactivé.
  6. Rebaser les 73 liens morts relevés par VFVFGPT npm run doc:check-links et corriger la fermeture du runner backend CleanDaMatrix.

Protections

  • Lucien, VFG_UnifiedPOC et ____Currently_Archived : no-touch.
  • .env, bases, médias et archives : aucune suppression ou migration.
  • node_modules et builds : conservés pour ce passage ; nettoyage futur seulement après preuve de reconstruction.
  • Matachigot-1 : clone doublon conservé physiquement tant que son dossier est verrouillé, avec pointeur de quarantaine daté.

Repris de main (STATUS de la racine historique, à réconcilier)

Fusion de main du 2026-10-02 : sections propres à main conservées telles quelles ; l'instantané des tiers de juillet est remplacé par node _scripts/dev-meta.mjs status.

Actions 2026-10-02 — Atlas mesuré

  • État des lieux méta des 60 dépôts (format vfg-audit-mesure) : docs/AUDIT-ATLAS-2026-10-02.md, base HTML docs/atlas/atlas-2026-10-02.html, outil rejouable _scripts/atlas/.
  • P0 : API de règles VFGate écrivable sans authentification (C03) ; docker-publish VFGate 10/10 en échec (C04) ; jeton Telegram en clair dans la base Jah (C05) ; registres de ports divergents, 4344/4477 absents (C01).
  • REFACTOR-RULES : 0/8 fiches exécutées au 02/10. Handoff : docs/handoffs/2026-10-02-atlas-base-connaissance.md.

⚠️ Deux racines coexistent sur ce poste (2026-09-22)

[chemin local] est un second workspace racine, et c'est le clone actif de ce dépôt : manifeste schéma 3 (updated_at 2026-09-19), tiers _live/_dev/_prod/… peuplés, 26 projets, FG_Chronos embarqué, branche courante docs/agent-presence-live-cleanup-plan.

Son CLAUDE.md déclare « Racine locale actuelle : [chemin local] » et interdit d'explorer les chemins racine historiques. [chemin local] est donc l'arborescence historique. La chaîne GitRepos n'apparaît nulle part dans [chemin local].

→ Conséquence : les documents produits par le ménage du 22/09 vivent dans une arborescence qu'une session active ne verra pas. Rapatriement = décision humaine (les deux formes diffèrent : tiers contre dépôts à plat). Détail : docs/AUDIT-DOUBLONS-2026-09-22.md.

Actions 2026-09-22

  • Ménage de la racine [chemin local] (la racine du poste, pas ce dépôt) : 46 → 20 entrées, 27 → 4 worktrees enregistrés, 0 fichier supprimé, 0 branche supprimée, aucun --force. Documents : docs/MENAGE-RACINE-GITREPOS-2026-09-22.md (carte + corrections) et docs/handoffs/2026-09-22-racine-gitrepos-nettoyage-worktrees.md.
  • Convention de worktree unifiée : un chantier vit désormais dans .worktrees\<depot>-<lot>. Trois conventions coexistaient (racine nue du disque, <depot>\.claude\worktrees\, hors racine). Inscrite dans RainbowPiano\AGENTS.md, Chronowflow\AGENTS.md, les skills cote-jardin-tache et vfg-agent-presence.
  • ⚠ Corrigendum action 4 : FGDidou/vfg-kit existe déjà et désigne un autre projet (80 commits, aucun ancêtre commun avec le vfg-kit local). Le local (3 commits, 63 Mo, aucun remote) doit être sauvegardé sous un nom libre. Voir docs/PLAN-SUITE-RACINE-GITREPOS.md, ACTION 4. Exploration : ce nom recouvre en réalité quatre objets distincts (docs/AUDIT-DOUBLONS-2026-09-22.md, §1).
  • Exploration des doublons (docs/AUDIT-DOUBLONS-2026-09-22.md) : seconde racine, vfg-kit ×4, SSOT ports en 5 exemplaires et 2 formats incompatibles, sync-services.mjs inopérant sur le format du 18/07, bug label dans snapshot-articles-index.mjs (dossier -undefined), HEAD détaché non rattaché dans -publish, et un précédent documenté de suppression de ce dépôt (WSL, 2026-07-12).
  • Restent FG : fermer l'IDE sur [chemin local] (bloque l'action 1) ; choisir le nom du dépôt distant pour vfg-kit (action 4) ; accord nominatif cible par cible avant toute purge de l'archive (action 3, seule destructive) ; trancher la question des deux racines.

Actions 2026-07-07

  • Citadelle vague 2 mergée (PR #29, CI verte) : filtre quartier, zoom/pan, vue liste, anneaux objectifs + garde-fou check:secrets. Plans/handoffs : docs/PLAN-EVOLUTION-2026-07-07.md (W1–W5) et docs/handoffs/2026-07-07-plan-evolution-citadelle-vague2.md.
  • Nouveau : node _scripts/check-secrets.mjs <repo> — scan de secrets en dur d'un repo sibling (W3.1 fait, testé sur RAPPORT-EXPERIENTIEL : propre).
  • ⚠ VFG_Citadelle divergé (ahead 2 / behind 2, dont un fix(citadelle) jamais poussé) — rien forcé, arbitrage FG requis. Détail : VFG_Citadelle/PLAN-EVOLUTION-2026-07-07.md.
  • Restent FG : W1 (port SSOT Citadelle via /plug-tool), W2 (collision :5210).

Items ouverts

  1. Collision port :5210 — ✅ décision FG 2026-07-03 : EOL du legacy VFJah_Messenger à la promotion de la vNext (consigné dans le STATUS du legacy). La collision se résout à la promotion de VFJahMsnPlus.
  2. .env de l'archive VFGPT — les 9 tokens MCP/hub ont été copiés vers _dev/VFVFGPT/.env (gitignoré) le 2026-07-03. La copie archive ne peut pas encore être purgée : START-ALL-MCP-SERVERS.ps1 (archive) la charge au lancement des serveurs MCP, et ~/.claude.json référence encore le chemin archive. Go FG 2026-07-03 pour préparer la migration vers _dev/VFVFGPT — bascule + purge = R3 avec FG.
  3. Repo Articles_Configuration_IA (hors workspace, sibling) — ✅ décision FG 2026-07-03 : reste local + zip, pas de remote (données perso d'un tiers — Paul). Aucune publication sans son accord. Item clos tant que la situation ne change pas.

En cours / à venir

  • Bascule MCP (R3, avec FG) : le lanceur migré est prêt (_dev/VFVFGPT/START-ALL-MCP-SERVERS.ps1, commit 8cf1561) — arrêter les MCP archive, lancer le nouveau, vérifier 7+7 OK, purger le .env archive (item ouvert n°2)
  • S1 rotation Grafana + S3 admin:reset VFJahMsnPlus : actions FG guidées, en attente
  • ADR 0002 (unification usage IA) : proposée, lecture + décision FG
  • P4 Docker VFGate : checklist FG dans le plan micro VFGate (VPS + GHCR, non délégable)
  • Hero PR-D1 (fusion doc) : session dédiée
  • Remote GitHub privé Articles_Configuration_IA — décision FG 03/07 : reste local + zip

source markdown

Concepts de cet article

handoffworktreeMCPVFGateVFVFGPTVFG HeroMatricegardedérivePulseSSOTIdeaPit

Partage le plus de concepts avec