Un Fil vide est presque toujours un amont éteint — ou un port qui ne parle pas à qui l'on croit. Ce billet fixe la topologie locale documentée le 15 septembre 2026, les collisions déjà rencontrées, et ce qui reste une action hors dépôt Fil (dont l'alignement Playwright RainbowPiano).
La chaîne en une image mentale
Agents (Cursor, Claude, …)
│
▼
VFGate API :5191 (+ admin :5190)
│
▼
relay-vfgate.mjs (poll ~500 ms) ← maillon fragile
│
▼
FG_Chronos :4344 ← seul ledger durable
│ lecture seule
▼
Fil (Chronowflow) :4477
Sources parallèles vers Fil :
Pulse :4330 · git locaux · blog.vfg.lol
Points structurants (docs/DEV-ENVIRONNEMENT.md) :
- Fil lit, il n'écrit pas le ledger Chronos.
- Sans relay, VFGate peut « tourner » et Fil rester vide.
- Chronowflow vit dans
D:\GitRepos\Chronowflow— hors du meta-repoD:\VFG_PT__.
Table des ports utiles
| Service | Port | Rôle pour Fil |
|---|---|---|
| Fil | 4477 | UI Next.js + proxies lecture |
| FG_Chronos | 4344 | Ledger (agent.turn, act, presence) |
| VFGate API | 5191 | Hub événements / présence |
| VFGate Admin | 5190 | Admin hub |
| FG_Pulse | 4330 | 2ᵉ source live recommandée |
| Ollama | 11434 | optionnel |
| ai-usage-hub | 11435 | optionnel |
MCP vfg-docs | 4340 | pas Chronos (historique collision) |
Migration Chronos :4340 → :4344
Le 15 septembre 2026 (ADR 0005) : FG_Chronos, dernier arrivé, a cédé :4340 au MCP vfg-docs (occupant depuis 2026-06-12) et s'est installé sur :4344. Un outil ou POC encore calé sur 4340 produit un faux négatif d'ingestion — vécu par vfg-gate-trigger (1 558 ms d'attente inutile → 17 ms après correctif ; rejeu VERIFICATION : ingestion 4 233 ms, chaîne OK).
:4477 n'était pas dans la SSOT → corrigé le même jour (_ssot/ports.json + manifeste).
Collision documentée : Vite vs VFGate sur :5191
Constat d'exécution (POC / ARTICLE / README) :
| Binding | Processus | Effet pour 127.0.0.1 |
|---|---|---|
127.0.0.1:5191 | Vite (--strictPort) | Gagne → HTML / 404 |
0.0.0.0:5191 | node src/server.js (VFGate) | Invisible depuis localhost si Vite est là |
Origine du défaut Vite : RainbowPiano playwright.capture.config.ts — défaut 5191, alors que playwright.config.ts utilise déjà 5183.
Action 0.6 (RainbowPiano)
Aligner le défaut capture Playwright : 5191 → 5183. Le STATUS.md Fil du 15 septembre consigne 0.6 comme fait côté RainbowPiano (playwright.capture.config.ts aligné sur playwright.config.ts).
Non rejoué depuis ce billet : re-probe de collision Vite vs VFGate sur le poste après le patch. Hypothèse : la collision disparaît tant qu'aucun autre outil ne reprend 5191.
Ce que le POC a prouvé sur cette topologie
Session VERIFICATION.md (révision c662246, ~16:36–16:38) :
| Probe | HTTP | Note |
|---|---|---|
| VFGate health | 200 | 6 adaptateurs |
Chronos :4344 healthz | 200 | |
Fil /api/chronos | 200 | ~1,3 Mo |
| Dry | verdict mock-only | rien injecté |
Live --presence | chaîne PASS | Fil session trouvée active + Stop completed |
Un Fil qui répond 200 sur /api/chronos ne prouve pas que VFGate a livré ailleurs — seulement que la lecture Chronos côté Fil fonctionne.
Pièges d'opérateur (déjà rencontrés)
| Symptôme | Cause typique | Réflexe |
|---|---|---|
| UI Fil ne change pas après edit | Ancien node sur 4477 (lanceur = build prod) | Get-NetTCPConnection -LocalPort 4477 · npm run build + restart, ou npm run dev |
| Présence absente, hubs « ok » | Relay éteint | Relancer relay-vfgate.mjs |
| Commits git « du mauvais dépôt » | git -C sous-dossier | Exiger rev-parse --show-toplevel |
| Badge dégradé alors que tout est calme | empty pris pour down | Seuls down / stale dégradent |
| Nouveau test « vert » mais inutile | Oublié de la liste package.json test | Ajouter le fichier explicitement |
Chemins disque (rappel)
| Composant | Chemin typique |
|---|---|
| Fil | D:\GitRepos\Chronowflow |
| Chronos | D:\VFG_PT__\FG_Chronos |
| VFGate | D:\VFG_PT__\BDDBridgePOC |
| Pulse | D:\VFG_PT__\FG_Pulse |
| POC observation | Chronowflow/vfg-gate-trigger/ |
Preuves vs non exécuté
Preuve
- Topologie et ports :
docs/DEV-ENVIRONNEMENT.md(version docs0.5.0). - Probes + dry/live :
vfg-gate-trigger/VERIFICATION.md. - Collision Vite / défaut Playwright : README + AUDIT du POC.
Non exécuté
- Re-probe collision
:5191après le patch Rainbow 0.6 (STATUS dit fait ; non rejoué ici). - Redémarrage VFGate depuis
main(0.5). - Cartographie runtime complète de tous les processus du poste au moment de la rédaction.
- Preuve que
:4477SSOT est synchronisée sur toutes les machines hors poste d'auteur (non mesuré).
Une phrase pour la suite
La topologie de Fil tient en quatre numéros — 4477 / 4344 / 5191 / 4330 — et la plupart des « bugs Fil » sont des ports qui mentent ou un relay absent ; garder 5183 côté Playwright Rainbow évite de rouvrir la porte la plus bête sur 5191.
Sources : docs/DEV-ENVIRONNEMENT.md, vfg-gate-trigger/VERIFICATION.md, README.md, HANDOFF.md, STATUS.md, DERNIERE-INFO.md. Billet lié : 2026-09-15-vfg-gate-trigger-chaine-presence.md. Miroir : Chronowflow/docs/devblog/.