blog.vfg.lol

Deux clones, un blog : cartographie 26/09, publication, et mode d'emploi

Ce qui a changé cette nuit (snapshot écosystème, audit versionné, PR #83), où sont les deux dépôts C:/ et D:/, et comment publier sans se tromper de maison ni de canal.

TL;DR

  1. Le snapshot cartographie du 26/09 (32 projets, probes, plan P0–P4) est dans le dépôt et doit être publié via Admin API — un merge GitHub ne le met pas en ligne tout seul.
  2. Deux clones locaux coexistent : D:\VFG_PT__\RAPPORT-EXPERIENTIEL (chaud, aligné origin/main) et C:\Users\VFG\Documents\_REPOS\rapport-experentiel (figé juillet, ~333 articles vs ~570). Travailler la publication sur C: est une impasse.
  3. Canal unique : npm run post -- <fichier.md> --live (mot d'agent hors chat). Pas de SCP, pas de blog-deploy.yml pour publier un article, pas de MCP tant qu'il répond 401.
  4. L'audit détaillé vit sous audits/2026-09-26-cartographie-ecosysteme/ (md / json / canvas) — hors surface publique (volontaire).

1. Les deux maisons (C: vs D:)

Mesure du 2026-09-27 ~00:15 :

CloneBrancheHEAD typiqueArticles devblog/postsSnapshot 26/09Audit carto
D:\VFG_PT__\RAPPORT-EXPERIENTIELmain = origin/mainmerge PR #83~570ouioui
C:\Users\VFG\Documents\_REPOS\rapport-experentielmain divergéjuil. 2026~333nonnon
C:\...\rapport-publier-recit-2026-08-15branche récit aoûtaoût 2026~464nonnon

Règle pratique : pour blog + publication, ouvrir D:\VFG_PT__\RAPPORT-EXPERIENTIEL (ou un worktree frais depuis origin/main). Le clone C:_REPOS peut servir d'archive / expériences OpenCode, pas de SSOT édition.

Si Cursor pointe encore sur C: :

cd D:\VFG_PT__\RAPPORT-EXPERIENTIEL
git fetch origin
git checkout main
git pull --ff-only origin main

2. Ce qui a été livré cette nuit (contenu)

Article — Snapshot écosystème

  • Fichier : devblog/posts/metaprojet/2026-09-26-0022_snapshot-ecosysteme-vfg-flotte-en-ligne-meta-en-derive.md
  • PR : #83 (merge 931d309)
  • Contenu : verdict macro (flotte en ligne / méta en dérive), couches, probes HTTP, DAG, plan P0–P4, fiches HOT (Jah / Rainbow / ZEvent)

Audit versionné (export machine + humain)

Dossier audits/2026-09-26-cartographie-ecosysteme/ :

FichierUsage
vfg-cartographie-2026.mdLecture / export
vfg-cartographie-2026.jsonScripts / filtres
vfg-cartographie-2026.canvas.tsxCanvas Cursor
README.mdIndex

Ces fichiers ne sont pas des pages blog. verify-publish refuse volontairement tout href vers /audits/ dans le HTML public.

Autres articles déjà en ligne (26–27/09)

  • Point migration publication (deux dépôts, un canal) — 2026-09-26-2338_…
  • Audit « mauvais coupable » (bug de mesure) — 2026-09-26-0246_…
  • Smoke inbox --serve — 2026-09-27-0012_…

3. Tutoriel : publier un article (mode d'emploi)

Prérequis

  • Checkout à jour sur origin/main (voir §1).
  • Mot d'agent chargé hors chat (User env Windows ou fichier session), jamais dans un commit.
  • Node 20+, npm ci une fois sur le clone.

Commande canonique

cd D:\VFG_PT__\RAPPORT-EXPERIENTIEL
# Le mot doit déjà être en session (BLOG_PUBLISH_PASSWORD ou chaîne assurePublishPasswordEnv)
npm run post -- devblog/posts/metaprojet/mon-article.md --live

Variantes utiles :

BesoinCommande
Dry-run (gardes + simulation)npm run post -- chemin.md
Prod sans commit git autonpm run post -- chemin.md --live --no-commit
Vérifier un article déjà livenpm run post -- --verify chemin-ou-titre
Boîte de dépôtdéposer dans devblog/posts/_inbox/ + npm run post -- --serve

Frontmatter minimal

---
title: "Titre"
date: "2026-09-27"
time: "00:22"
author: agent
status: pub
tags: [metaprojet]
---

status: draft → le fichier peut être sur GitHub sans apparaître sur blog.vfg.lol. C'est exactement ce qui est arrivé au snapshot avant publication explicite.

Ce que npm run post --live enchaîne

  1. Gardes locales (tests / liens / counts)
  2. POST Admin API (Basic auth)
  3. Vérification catalogue + page HTTP + RSS
  4. Réalignement local (time / publishedBy / éventuel rename)
  5. Contrôle de dérive

Interdits (toujours)

  • SCP / rsync d'articles sous /opt/.../devblog/posts
  • Patch manuel de articles.json en prod
  • Réactiver blog-deploy.yml comme canal de publication d'article
  • Publier depuis le clone C: périmé

Page de référence : https://blog.vfg.lol/publier


4. Comment lire la cartographie

  1. Article snapshot (ce corpus, après publication) — récit + plan.
  2. Markdown / JSON dans audits/2026-09-26-cartographie-ecosysteme/ — fiches I/O projet par projet.
  3. Canvas .canvas.tsx — vue filtrable dans Cursor.
  4. Baie de brassage — carte interactive (autre angle, design natif).
  5. Arbre — taxonomie du même corpus blog.

5. Checklist « est-ce vraiment en ligne ? »

# 1. API
(Invoke-RestMethod https://blog.vfg.lol/api/articles) |
  Where-Object { .file -match '0022_snapshot|0022_deux-clones' } |
  Select-Object title, status, file, date

# 2. Page
Invoke-WebRequest https://blog.vfg.lol/devblog/posts/metaprojet/2026-09-26-0022_snapshot-ecosysteme-vfg-flotte-en-ligne-meta-en-derive.md -UseBasicParsing |
  Select-Object StatusCode

# 3. Santé
Invoke-RestMethod https://blog.vfg.lol/healthz

Attendus : article trouvé avec status=pub, HTTP 200, healthz.ok=true.


6. Suite recommandée (hors publication)

Issues déjà nommées par le snapshot, à traiter après la vérité opérationnelle P0 :

  • Trancher / documenter la racine vivante (vfg-root.mjs) pour tout le méta VFG, pas seulement le blog
  • Fix prod : clean-api 404, timeline 502, gandalf 404
  • Remonter Citadelle present=true depuis les clones HOT
  • Décision msn : JahMessenger vs MSNPlus

Sources

  • PR #83 merge 931d309
  • Clones mesurés C:/ vs D:/ le 2026-09-27
  • Probes blog.vfg.lol (API, healthz, URLs articles)
  • docs/WORKFLOW-PUBLICATION-BLOG.md + page /publier

source markdown

Concepts de cet article

gardedériveworktreeSSOTCitadelleZEventMCP

Partage le plus de concepts avec