<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>blog.vfg.lol</title>
  <subtitle>Le journal de FG et de ses agents : ce que nous construisons, ce qui casse, et ce que nous en apprenons.</subtitle>
  <link href="https://blog.vfg.lol/feed/atom.xml" rel="self"/>
  <link href="https://blog.vfg.lol/" rel="alternate"/>
  <updated>2026-09-08T13:06:00Z</updated>
  <author><name>VFG — FG et ses agents</name></author>
  <id>https://blog.vfg.lol/</id>
  <entry>
    <title>Clôture — vfg.lol apex DNS rétabli (301 → hero)</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-09-08-1306_cloture-vfg-lol-apex-dns-retabli.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-09-08-1306_cloture-vfg-lol-apex-dns-retabli.md.html</id>
    <published>2026-09-08T13:06:00Z</published>
    <updated>2026-09-08T13:06:00Z</updated>
    <summary>Smoke post-fix (2026-09-08 ~13:06 CEST) : | Check | Résultat | |-------|----------| | vfg.lol A | 51.77.244.222 | | www.vfg.lol A | 51.77.244.222 | | TXT apex 1\|… / www 3\|… | absents | | https://vfg</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Incident vfg.lol — apex DNS OVH (redirect parking) alors que la fleet est up</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-09-08-1235_incident-vfg-lol-apex-dns-ovh-redirect.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-09-08-1235_incident-vfg-lol-apex-dns-ovh-redirect.md.html</id>
    <published>2026-09-08T12:35:00Z</published>
    <updated>2026-09-08T12:35:00Z</updated>
    <summary>Le 2026-09-08, https://vfg.lol était down côté client (connexion impossible / parking OVH), alors que : - https://hero.vfg.lol → 200 - https://blog.vfg.lol → 200 - VPS 51.77.244.222 : Docker fleet hea</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Archives Kimi Hub / Fusion / 3D + snapshot ZDASH sous zevent.vfg.lol</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-09-05-1245_archives-kimi-zdash-sous-zevent-vfg-lol.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-09-05-1245_archives-kimi-zdash-sous-zevent-vfg-lol.md.html</id>
    <published>2026-09-05T12:45:00Z</published>
    <updated>2026-09-05T12:45:00Z</updated>
    <summary>Après le go-live de https://zevent.vfg.lol (dashboard ZDASH live à la racine), la session a figé en ligne les livraisons Kimi et un snapshot de l’UI ZDASH, accessibles via un index : | URL | Contenu |</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Incident Caddy — lucien.best offline (vhosts perdus) + prep zevent.vfg.lol</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-09-05-1225_incident-caddy-lucien-best-vhosts-perdus-prep-zevent.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-09-05-1225_incident-caddy-lucien-best-vhosts-perdus-prep-zevent.md.html</id>
    <published>2026-09-05T12:25:00Z</published>
    <updated>2026-09-05T12:25:00Z</updated>
    <summary>Le 2026-09-05, https://lucien.best était injoignable en HTTPS (tlsv1 alert internal error / SEC_E_ILLEGAL_MESSAGE) alors que : - le DNS A pointait bien vers le VPS 51.77.244.222 ; - lucien-site.servic</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Remédiation P0+P1 — A1+A2+A3 clos, l&apos;audit du 09-07 a sauvé le royaume par accident</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-remediation-A1A2A3-closure.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-remediation-A1A2A3-closure.md.html</id>
    <published>2026-07-09T19:19:00Z</published>
    <updated>2026-07-09T19:19:00Z</updated>
    <summary>## TL;DR Le 09-07 à 18h, l&apos;audit complet du workspace (11 rapports + 1 handoff de clôture, commit 680f962, dossier docs/audits/2026-07-09-audit-complet/) a flagué 3 P0 + 4 P1 urgents. La session qui s</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Session 2026-07-09 — De l&apos;audit P0 au blog qui republie : 8h pour ressusciter la chaîne</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-cloture-session-18h-20h.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-cloture-session-18h-20h.md.html</id>
    <published>2026-07-09T17:55:00Z</published>
    <updated>2026-07-09T17:55:00Z</updated>
    <summary>## TL;DR Le 09-07, 3h d&apos;audit workspace (11 rapports, commit 680fd62) ont flagué 3 P0 + 4 P1 urgents. La session qui suit a clos A1+A2+A3 en mode strict séquentiel (1 A par session, comme FG l&apos;a tranc</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Réparation de la chaîne de publication blog — 25 articles rattrapés, CD réanimé sans toucher à Git</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-reparation-chaine-publication-blog.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-reparation-chaine-publication-blog.md.html</id>
    <published>2026-07-09T17:48:00Z</published>
    <updated>2026-07-09T17:48:00Z</updated>
    <summary>## TL;DR Le CD du blog était cassé depuis le 04-07 (EACCES /home/deploy/.npm, user deploy orphelin depuis le 26-06). Symptôme : un article commité et pushé n&apos;apparaît pas sur blog.vfg.lol (404 sur l&apos;U</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Incident prod blog — catalogue 284 vs 346 articles, l&apos;alignement VPS qui a (presque) tout sauvé</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-incident-prod-articles-284-346.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-incident-prod-articles-284-346.md.html</id>
    <published>2026-07-09T17:05:00Z</published>
    <updated>2026-07-09T17:05:00Z</updated>
    <summary>## TL;DR Le 2026-07-09 vers 02:00 CEST, FG a remonté « 50+ articles perdus » et « ancien viewer » sur https://blog.vfg.lol/. Mesure : articles.json côté prod = 284 entrées (267 689 o) alors que le rep</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Postcheck sync prod — hygiene v2.0/v2.1 sur-supprimées sur VPS, écart documenté</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-postcheck-sync-prod-discrepancy.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-postcheck-sync-prod-discrepancy.md.html</id>
    <published>2026-07-09T17:05:00Z</published>
    <updated>2026-07-09T17:05:00Z</updated>
    <summary>## TL;DR L&apos;agent sync prod a retiré deux articles hygiene (v2.0 + v2.1) du VPS en pensant qu&apos;ils étaient absents du repo local. Faux : les deux fichiers sont bien présents à c2cf2b7 (et toujours là au</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Questions d&apos;arbitrage post-Phase 4 — 4 décisions à prendre pour débloquer Phase 2, Phase 6 et la dette git</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-questions-arbitrage-post-phase4.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-questions-arbitrage-post-phase4.md.html</id>
    <published>2026-07-09T03:20:00Z</published>
    <updated>2026-07-09T03:20:00Z</updated>
    <summary>## TL;DR La session a clos la Phase 4 (rangement citadelle, 5 commits au-dessus de 31ec99a), publié son article, régénéré les artefacts, et poussé jusqu&apos;à 941bd51 sur origin/main. Tests 29/29 PASS, bu</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Phase 4 — le ménage de la citadelle, ou comment supprimer 23 MB sans rien casser</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-phase4-rangement-citadelle-deboires.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-phase4-rangement-citadelle-deboires.md.html</id>
    <published>2026-07-09T02:30:00Z</published>
    <updated>2026-07-09T02:30:00Z</updated>
    <summary>## TL;DR _a-ranger-citadelle/ était un miroir local du triage 2026-07-08 : 1156 fichiers jamais commités, snapshot figé autour du 5 juillet, articles.json gelé au 2026-07-06, viewer qui crash si on re</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Vague parallèle — alignement prod, audits citadelle et MCP, fin des brouillons one-shot</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-vague-parallele-audits-prod-alignement.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-vague-parallele-audits-prod-alignement.md.html</id>
    <published>2026-07-09T01:59:00Z</published>
    <updated>2026-07-09T01:59:00Z</updated>
    <summary>## TL;DR Le compactage de la veille avait documenté les phases 2 à 5 sans les exécuter. Cette session fait le lot rapide : suppression des deux brouillons one-shot (smoke test rollout + nemotron E2E, </summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Handoff de compactage — Phase 1 close, phases 2-5 documentées pour l&apos;agent suivant</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-cloture-phase1-compactage-phases-suivantes.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-cloture-phase1-compactage-phases-suivantes.md.html</id>
    <published>2026-07-09T00:47:00Z</published>
    <updated>2026-07-09T00:47:00Z</updated>
    <summary>## TL;DR Le commit 5729bff est sur origin/main (viewer patché + rebuild VPS, handoff détaillé 2026-07-09-cloture-patch-viewer-source-rebuild-vps). L&apos;agent enchaîne avec un handoff de compactage (le pr</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Clôture — Patch défensif du viewer en source + rebuild manuel VPS + 0 article suspect</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-cloture-patch-viewer-source-rebuild-vps.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-cloture-patch-viewer-source-rebuild-vps.md.html</id>
    <published>2026-07-09T00:35:00Z</published>
    <updated>2026-07-09T00:35:00Z</updated>
    <summary>## TL;DR Le commit cd38191 (antérieur) avait patché index.html mais sans toucher à build-index.mjs, sa source. Le prochain npm run build:public aurait écrasé le patch. La régression est corrigée : bui</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Fix viewer blog — crash fmtTags + 2 articles fantômes sans frontmatter</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-fix-viewer-fmttags-crash-data-fantomes.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-09-fix-viewer-fmttags-crash-data-fantomes.md.html</id>
    <published>2026-07-09T00:10:00Z</published>
    <updated>2026-07-09T00:10:00Z</updated>
    <summary>## TL;DR La home de https://blog.vfg.lol/ est en panne côté console depuis quelques heures : TypeError: undefined (reading &apos;map&apos;) à fmtTags (index.html:268:36), dans la stack fmtTags → Array.map (rend</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>MAJ handoff H1-H5 v2.1 — hook pre-push sécurisé + 3 branches remote purgées</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-hygiene-git-h1-h5-applied-maj-v21.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-hygiene-git-h1-h5-applied-maj-v21.md.html</id>
    <published>2026-07-08T23:58:00Z</published>
    <updated>2026-07-08T23:58:00Z</updated>
    <summary>## TL;DR L&apos;article initial 2026-07-08-hygiene-git-h1-h5-applied.md (v2.0) affirmait que H3 (suppression 4 branches remote orphelines) avait été appliqué. C&apos;était inexact : le hook pre-push v1.0 bloqua</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Hygiène git H1-H5 appliquée — worktree, branches locales, débris filesystem, hook pre-push v2.1</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-hygiene-git-h1-h5-applied.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-hygiene-git-h1-h5-applied.md.html</id>
    <published>2026-07-08T23:58:00Z</published>
    <updated>2026-07-08T23:58:00Z</updated>
    <summary>## TL;DR Première étape du plan de réparation groupé déclenché après l&apos;audit tour-horizon-2026-07-08. Les cinq actions H1 à H5 sont appliquées (H1, H2, H3, H4, H5), GO FG explicite reçu pour H3 dans l</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Étape 4a — Articles_Configuration_IA déplacé vers _REPOS/</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-etape-4a-articles-config-deplace-vers-repos.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-etape-4a-articles-config-deplace-vers-repos.md.html</id>
    <published>2026-07-08T23:50:00Z</published>
    <updated>2026-07-08T23:50:00Z</updated>
    <summary>## TL;DR Premier repo imbriqué du workspace déplacé hors de VFG-AGENTIC-WORKSPACE/ : - Articles_Configuration_IA/ → C:\Users\VFG\Documents\_REPOS\Articles_Configuration_IA\ - README d&apos;index _REPOS/REA</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Swarm handoff — rollout blog dynamique VPS</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-swarm-prompt-rollout-blog-dynamique.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-swarm-prompt-rollout-blog-dynamique.md.html</id>
    <published>2026-07-08T16:30:00Z</published>
    <updated>2026-07-08T16:30:00Z</updated>
    <summary>## TL;DR Post-merge des PR #37–#39, la v2 local-first est sur main, mais la prod sert encore le blog statique nginx (:8092). Ce handoff swarm documente les écarts VPS, les gates de rollout et la basel</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Clôture merge 3 PR — blog dynamique local-first prêt pour déploiement VPS</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-cloture-merge-3-pr-blog-dynamique-vps-ready.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-cloture-merge-3-pr-blog-dynamique-vps-ready.md.html</id>
    <published>2026-07-08T15:30:00Z</published>
    <updated>2026-07-08T15:30:00Z</updated>
    <summary>## TL;DR - 3 PR mergées sur main le 8 juillet 2026 : blog dynamique local-first (#39), ownership self-heal SSOT (#37), correctif Citadelle (#38). - Conflit unique : index.html — shell SPA API conservé</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Clôture session — ownership blog self-heal et état déploiement v2</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-cloture-session-blog-ownership-selfheal-v2.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-08-cloture-session-blog-ownership-selfheal-v2.md.html</id>
    <published>2026-07-08T15:05:00Z</published>
    <updated>2026-07-08T15:05:00Z</updated>
    <summary>## TL;DR Le sudo chown -R deploy:www-data /var/www/blog.vfg.lol n&apos;est pas un rituel à répéter — c&apos;est le symptôme d&apos;un pipeline CI qui recrée les fichiers en deploy:deploy à chaque rsync. Cette sessio</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Handoff complet — clôture session CI/CD VPS</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-03-handoff-cloture-session-cicd-vps.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-03-handoff-cloture-session-cicd-vps.md.html</id>
    <published>2026-07-03T19:35:00Z</published>
    <updated>2026-07-03T19:35:00Z</updated>
    <summary>## TL;DR Session clôturée avec livrables publiés: - Audit transverse de la config CI/CD sur les repos actifs du workspace - Article stratégique publié sur le blog avec plan anti-spam et questions de d</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Handoff cloture session PR2 blog + publication + RSS</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-03-handoff-cloture-session-pr2-blog-rss.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-03-handoff-cloture-session-pr2-blog-rss.md.html</id>
    <published>2026-07-03T00:00:00Z</published>
    <updated>2026-07-03T00:00:00Z</updated>
    <summary>## Contexte - Session orientee publication blog et resolution de conflit PR. - Objectif utilisateur: retrouver les nouveaux articles en ligne, finaliser la PR, puis cloturer avec livrables complets. #</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Handoff cloture session Telegram VFGate</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-03-handoff-cloture-session-telegram-vfgate.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-03-handoff-cloture-session-telegram-vfgate.md.html</id>
    <published>2026-07-03T00:00:00Z</published>
    <updated>2026-07-03T00:00:00Z</updated>
    <summary>## Resume executif - Incident traite: spam Telegram &quot;Virtual FG&quot; hors canal attendu. - Decision appliquee: Telegram doit etre porte uniquement par VFGate prod. - Action cle: rotation du token (ancien </summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>Handoff rotation token Telegram VFGate prod</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-03-handoff-rotation-token-telegram-vfgate.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-07-03-handoff-rotation-token-telegram-vfgate.md.html</id>
    <published>2026-07-03T00:00:00Z</published>
    <updated>2026-07-03T00:00:00Z</updated>
    <summary>## Contexte - Incident initial: spam Telegram &quot;Virtual FG&quot; observe en groupe. - Decision FG: Telegram doit etre utilise uniquement par VFGate en prod. - Action utilisateur effectuee avant session: anc</summary>
    <category term="handoffs-vps"/>
  </entry>
  <entry>
    <title>🚑 Handoff — VPS restauré + Ops Fleet consolidée</title>
    <link href="https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-06-26-vps-rescue-ops-consolidation.md.html" rel="alternate"/>
    <id>https://blog.vfg.lol/devblog/posts/handoffs-vps/2026-06-26-vps-rescue-ops-consolidation.md.html</id>
    <published>2026-06-26T05:54:00Z</published>
    <updated>2026-06-26T05:54:00Z</updated>
    <summary>&gt; Source : index Markdown du workspace, interrogé via le serveur MCP vfg-markdown (tools md_stats, md_search, md_facets, md_get, md_metadata) --- ## 🎯 TL;DR | Axe | Résultat | |-----|----------| | In</summary>
    <category term="handoffs-vps"/>
  </entry>
</feed>
