blog.vfg.lol

STATUS — VFJah_Messenger — 2026-10-05

STATUS — VFJah_Messenger

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

STATUS

Session

Porte machineLive 4.0.21 (05/10) : STAB-09 batterie (#298) — le HUD ne travaille plus onglet caché ; lint main restauré en passant. Tag v4.0.21. /readyz 4.0.21. Suite produit : 10 (métriques) — confiée au cloud (relais handoffs/2026-10-05-0430-relais-cloud-stab10.md). TodoStatut : publier blog BLOG-01/02 (a-publier). Hors STAB : OPS-09 (#246).
Livev4.0.21 (05/10 : batterie — le monde et l'interface reposent onglet caché) ; GH v4.0.21 — /readyz 4.0.21. Précédents : 4.0.20, 4.0.19, 4.0.18.
File machine (agents)STAB prod 12/13 (00–09 en live, dont 07A/B/C en 4.0.20). Reste : 10 (métriques, outillage — cloud, PR distincte). Vague 5 file 4.1.0 : OPS-09 pret ; L08 wip-local (ne pas toucher).
Hors liveL08 (JahMessenger-L08) ; stash AUDIT. PRs dormantes fermées : #262, #264, #278. Canal Telegram agent→FG à réparer (jetons locaux 401 ; §14).
Pont opsGate appliqué ; #172 en main ; preuve DM Telegram→Jah = Lot 2 (auto) ; rotator token reporté (rappel ci-dessous, non bloquant) — docs/plans/fond-2026-10-01.md
Humain dormant (pas de ping ; agent gère rappels)Rappel rotator bot (ordre FG 01/10 : FG un jour) ; rappel vote DA V5 avatars A/B/C (gelé) ; œil 4.0.8 ; R2 / soirée / cutover ; allumages Lundi/Bal/Crieur/push restent off jusqu’à phrase « allume X » (pas de sollicitation) ; Boum allumée (0021) ; F1–F11 / Q9-05 / Q10

05/10 — STAB-09 en live 4.0.21. Mesure d'abord (HUD 250 ms travaillant onglet caché) → correctif (#298) → FULL e7456e8 vert → release --ci-verified. Deux rouges préexistants qualifiés au passage (stab-vues environnement-dépendant, .catch d'un test d'appels). Live 4.0.21. Suite : STAB-10 (cloud).

05/10 — PR-B en live 4.0.20 (handoff interrompu). #287 fusionnée ; FULL vert 74be1aa ; release --ci-verified ; deploy Release 37254532148 success ; /readyz 4.0.20. Leçon agents #291. Relais : handoffs/2026-10-05-0215-prb-release-interrompu.md.

05/10 — TodoStatut blog a-publier. Articles prêts dans Jah (branche cursor/article-cible-ne-vaut-pas-full-da50) : méthode ciblé ≠ FULL + produit Retours. Prochaine passe : node scripts/post.mjs … --live depuis RAPPORT (sans push auto).

05/10 ~03:40 — clôture session (outillage visu + lecture). Hors porte machine, aucun code produit. Page publique blog.vfg.lol/jah-stab-vues scindée en état live (régénérable, npm run stab-vues) + instantané 04/10 conservé (vues 1–8). scripts/stab-vues.mjs + 6 tests verts. Dépôt local resynchronisé : main était divergé (ahead 1 périmé / behind 34) → réaligné sur origin/main 19a7287, sauvegarde sur backup/main-99d3b6a-2026-10-05 ; remote fantôme cloud-agent-notes purgé. Inventaire du travail laissé en worktree : 74 worktrees, 24 avec du travail, 14 avec commits non fusionnés, 10 branches au remote supprimé — audit rejouable [chemin local]. Aucun nettoyage fait (§14). Relais : handoffs/2026-10-05-0340-cloture-stab-vues-inventaire.md.

05/10 ~20:30 — PÉRIMÈTRE OUTILLAGE VISUEL (hors produit), clôture WIP. À lire comme une zone à part du dev produit Jah : ce lot ne touche que les vues d'avancement. Générateurs : npm run stab-vues (état live + compteurs CI + instantané daté 05/10 : tags réels × lots par version) et npm run chantier-lots (kanban depuis les files). Blog à jour : /jah-stab-vues (instant 05/10, 04/10 archivé), /jah-lots, hub + carte de l'outillage /prototypes/apercus/2026-10-05-cartographie-outillage-visuel.html. Constat : 3 « chantier des lots » dont 2 manuels jamais mis à jour → un dépôt parallèle dédié est la réponse. PR #304 (instantané + carte, diff additif). Prochain handoff : créer le repo parallèle dédié à ces outils et y déplacer scripts/{stab-vues,chantier-lots,metrics*} + pages + tests ; JahMessenger ne garde qu'un pointeur. Relais : handoffs/2026-10-05-2030-cloture-wip-outillage-visuel.md.

Qualité : Q0 #69, Q1 #72, Q2 #73, Q3 #70, Q4 #71, Q5 #74, Q6 via #78 (#77 fermée), Q7 #78, Q8 #75, Q9 #76, J6-05 #80, lint Q5 #81.

Live

https://jah.vfg.lol/readyz = 4.0.21 (sonde du 05/10 après release). Précédents : 4.0.20, 4.0.19, 4.0.18. Histoire : CHANGELOG.md, CHANGELOG-USER.md, docs/plans/archive/2026-09/.

Portes ouvertes

PorteÉtat
Machine (produit)Néant : S0–S19 machine en prod (S11 inclus). Restent S15-03/04 et S16 sur ordre FG
R2 phases 4–6Humain, après usage réel (compteurs Admin → Portes R2)
Soirée test / cutoverHumain (README)
QualitéQ0–Q9 machine fusionnés ; Q9-05 / Q10 / F1–F11 hors scope

Mécaniques du §10 (six maillons)

Tous les maillons ci-dessous sont Livré sauf mention. Aucun « Concept ». F7 (déplacer hors STATUS) : décision FG.

MécaniqueBesoinReprésentationContrainteActionPreuveRécompense
Wizz / duel (§10.2)Signe à distanceFenêtre, ⚡, comboSecousse ; silence heures calmesRendre en 2 minServeur marque renduDUEL ; styles/badges
Accueil Wizz (Ann. B)Se sentir attendudidou + WizzUn geste montréRendre à didouUne fois / compteSouvenir + toast
Fou rire (§10.3)Rire ensemblePuces + badge3 rieurs / 10 minRéagir 😂Compte distinctPluie + souvenir
GIFothèque (§10.3)Blagues du cercleOnglet ♥Village seulementPartager / garderAccès voisinFans
Amitié (§10.1)Lien sans compterPousse / jardinRéciprocité, plafondSe répondreServeur, plafondsPalier + Lulu
Styles Wizz (§10.2)Jouer, pas harcelerMenu ▾ / badgesDéblocage renduRendreStyles refusés sinonEmotes
Clins d'œil / Lulu (§10.4)Geste sans écrireAnim 2–3 sPaliersEnvoyerServeurLulu à deux
Monde (§10.7)Se retrouverPlace, maisonsVillage honnêteMarcher, bulleAutorité serveurCroiser les siens
Ondes / fils / jardinVie sans spyOnde, fil, planteDouble accordÉcrire / montrer filTrames inspectéesFil / jardin
Gestes syncTope-làInvite + étincelles2 cases, 2 sTope-là, câlin, danseDistance + fenêtreAmitié
Bonne nuit / papillonPartir sans frein🌙, chenilleRésumé, pas reprocheBonne nuitSession closePapillon
Quêtes IRL (§10.11)S'entraider IRLTableauPas de pushConfirmer croiséMembres seulsObjet + étincelles
Rituels (§10.6)RDV sans pressionKiosque, carteCaché jusqu'à l'heureRépondre / signerHorloge simuléeRévélation
RassemblementTrace collectiveCercle 📸≥3, 60 sEntrer le cercleServeur comptePhoto + cadre
Le LundiSourire lundiNuageDissipe au 10ᵉ momentVivre ; rangerHorlogeÉteint (admin)
Boîte à idéesEnrichir banques#quete…10/j ; FG rangeÉcrire à didouÉtiquette + auteurMerci privé
Robot CrieurNouvelles voisinesTricorne / #gazetteSource + 280 car.Lire / taireSources FGÉteint (admin)
Talents (§10.12)Reconnu sans score🌟 / ailesRéciprocitéVivre momentstalent_logTitre + S12
Étincelles / chantiersBut communTerrainsPas de solde persoMoments + voteTrace momentLieu ouvert
Objets-souvenirsGarder momentsChambreVisiteur = membrePoser / offrirServeurCadeau = moment
Activités (§10.5)Rire à deuxMenu / ArcadeBornes griséesInviter / jouerTours vérifiésCarte-souvenir
Perles / capsules / fantômesHistoireMusée, coffresAccord / date / seulProposer / scellerMuet avantCérémonie
Bal masqué (ph. 8)DevinettesMasques 30 min≥3 ; 1/jOuvrir / devinerGarde hubÉteint (admin)
Jam ScèneMusique à plusieursMicro + notesSilence 20 s → reposJouerDébit / blocagePartition
Boum vendrediSoirée récurrenteDisco 21–23 hAllumée 0021Danser / rangerHeure + villageAllumée
LacMoment d'il y a 1 anPontonÀ deuxPêcherTiers exclusCarte
CinémaAlbum ensembleÉcranProjectionnistecinema.slideSchéma + fuzzingRire
SerreAmitiés anciennesFleursÀ soi ; ≥1 anVisiterTiers exclusFleurs

Appels (§11 ph. 7) : six maillons Livré (besoin → récompense) — voir CHANGELOG ph. 7.

Critères d'acceptation finaux (SPEC §15)

#Critère (résumé)MachineFG
1Deux téléphones + PC : invitation → appels, push, PWAE2E phases 1–7 ; live alpha.13Soirée réelle
2Monde honnête (bulles, ondes, fils, village endormi)monde*.test, E2E ph. 4Feeling village vide
3Village : étincelles, chantier, objetsvillage.test, E2E ph. 5Premier chantier R2
4Quête IRL confirmée croiséequetes.test, E2E ph. 65 quêtes R2
5Import legacy + « Il y a un an »import / bascule (tests)Cutover données réelles
6Bonne nuit ; pas de push jeuintégration + E2ECompteur R2 Bonne nuit
7Redémarrage sans perte / vague toastsops / backup / E2EConstat live
8Checklist §8 + npm audit sans hauteCI FULL—
9Charte §2 couvertetable §2 ci-dessous + tests—
10Tags v4.x.0 GHCR réversiblesrelease → GHCRTags stables S15-04
11Look MSN + monde (captures)artefacts PRŒil produit

Charte de jeu (§2)

RègleOù c'est tenu
1 RéciprocitéWizz rendus ; amitié = réponses ; styles au rendu
2 Rien ne se perdScores / paliers / déblocages ne baissent pas ; plante s'endort
3 Pas de classementAucun score affiché ; palier privé au fil
4 Pas de pression lecturechat.read → ses appareils seulement
5 Consentement à deuxGIF / fil : double accord
6 Calme par défautHeures calmes ; Occupé coupe le son Wizz
7 Tous les âgesGrand confort partout (monde compris)
8 Toujours une sortieJeux rangeables ; messagerie reste
9 Pull par défautPush seulement DM / Wizz / @ / appel adressés
10 Session terminableBonne nuit ; assoupissement 30 min
11 Jamais de faux vivantHors ligne = hors ligne ; démo assumée
12 Loot plutôt que karmaPas de monnaie ; étincelles collectives
PréambuleToast MDP hérité non bloquant ; Nouveautés à la demande

Couverture checklist §8

PointÉtat
1–7Livré (XSS/CSP/sessions/CSRF/mdp/invitations/autorisations) — tests + E2E
2 CSPÉcart validé : trusted-types jah-sw (pas 'none')
8 EntréesPlafonds ph. 1–6 ; rituel 280 (pas 500 du SPEC)
9–12Fichiers, GIF sans SSRF, fuzzing, fermé par défaut
13 Vie privéeLogs sans contenu ; export/suppression ; Q1 #72 : file ponts, rétention, pouls/capsules vs bloqués ; GC fichiers réel depuis 4.0.6 (DQ11 levé, #183)
14–20Backups, CI/préprod, autorité monde, frontières, blocage monde, preuves quête, bulles

Actions humaines requises (FG)

Détail des préparations machine : docs/plans/suite.md §5 et fiches S15/S16 (actives) ; closes en archive/2026-09/.

  1. Secrets serveur / DEPLOY_* : posé (27/09). Ponts : README › Brancher les ponts.
  2. DNS jah : fait. jah-pre reporté.
  3. Coturn / STUN : prêt éteint — README › Allumer le TURN (S10).
  4. Relire banques (quêtes, questions, Lundi, Crieur, bal) et allumer ou non.
  5. Dessin Lulu (5 PNG) ; recalibrage après un mois (S15-03).
  6. Tags stables v4.x.0 (S15-04) ; S16 sur ordre.
  7. Copie backups hors serveur (hebdo) ; restore-check mensuel.
  8. Veille prod : active (#64) ; désactiver le workflow si besoin.
  9. Boum : allumée (0021) ; éteindre via Admin si besoin.
  10. Qualité (§5 qualite.md) — décisions FG du 29/09 :
    • CN-04B : on accepte — un diff de docs reste en mode lint ; le job « Lint seul » couvre déjà les liens et les chemins cités. Ne pas modifier ci-plan.mjs.
    • Exports morts (W3) : on nettoie les exports morts et inutilisés. Le cliquet (R2) est donc ouvert — il reste 148 avertissements dead-export au 29/09.
    • Node 24 : accord donné (R5) — le poste ne certifie pas le runtime tant qu'il reste en Node 22.
    • Teaser : on le garde (docs/teaser/, hors image Docker).
    • R4 (branches/worktrees morts) : fait le 29/09.
    • F1 [variable d'environnement] ; F2 erratum SPEC (docs/plans/qualite-spec-erratum.md) ; F3 docs/runbooks/ vs README long ; F5 typescript en dev (Q9-05) ; F6 qui fusionne ; F7 six maillons hors STATUS ; F8–F11 (Q10) : villages client, retirer message, démo prod, rôle visiteur.
    • Contenus : FG relit au fur et à mesure ; un mode interne de validation des textes proposés est à prévoir (à cadrer — nouvelle fonctionnalité, donc Q10).
  11. Q9-05 / Q10 / §7 : listés dans qualite.md — pas démarrés ici. Ce qui reste côté machine (R2 sur décision « on nettoie », R3 et R4 faits, R5 sur accord Node 24, R6, doubles) : docs/plans/archive/2026-09-30/suite-2026-09-29.md (R1–R6, archivé) ; version sans jargon : archive/2026-09-30/reprendre-en-simple.md.

Liste de mise en service (jah.vfg.lol)

Un seul hôte (décision FG 26/09). Caddy → loopback :5240. Live = v4.0.19 (05/10 ; release v4.0.19). Cutover : README › Cutover. Soirée test : README › Soirée test.

Plans

Relais produit 04/10 (STAB live 4.0.18) : handoffs/2026-10-04-2315-cloture-session-jah-stab.md. Relais outillage visu : handoffs/2026-10-04-2316-cloture-outil-visu-avancement.md. Pack agentique : handoffs/2026-10-04-2108-pack-agentique-local.md. Relais du 03/10 : handoffs/2026-10-03-1805-cloture-v4.0.16-tipis.md (tipis en 4.0.16 ; article Place en tipis). File 4.1.0 : docs/plans/plan-2026-10-03-suite.md ; état : docs/plans/lots/file-4.1.0.json (vague 5 : OPS-09). File STAB : docs/plans/lots/file-stabilisation-4.0.x.json (alignée live 4.0.18 à la reprise 05/10). V5 / JahStyle : clôture integrate handoff-2026-10-01-2326-cloture-kimi-v5.md (relais 0706) — JahStyle ; porte humaine : vote DA V5 étape 3 (ouverte). File prioritaire : STAB reprise 05/10 ; train 4.1.0 reporté pendant stabilisation : docs/plans/plan-2026-10-03-suite.md (état : docs/plans/lots/file-4.1.0.json) ; fond-2026-10-01.md ne garde que la vague C (VFGate). Périmés le 01/10 : docs/plans/archive/2026-10-01/fond-2026-09-30.md, docs/plans/hotfix-2026-09-30.md. Méthode : docs/plans/discipline-livraison.md. Relais ponts : docs/plans/handoff-2026-10-01-ponts-identifiants.md (H1). Actifs : docs/plans/lots/, docs/plans/README.md, suite.md, suite-S15.md, suite-S16.md, qualite.md, ci-tests.md. Closes : docs/plans/archive/2026-09/, archive/2026-09-30/, archive/2026-10-01/.

Méga-dossier des audits, revues et rapports : [chemin local] (index (réservé version locale)). Campagne audit v2 (docs, SHA 408d8e8) : [chemin local] — PR #85 fusionnée ; re-vérification livrée : contre-revue/RAPPORT-REVERIFY.md. Cadres #84 (analyse) et #82 (revue croisée V) fusionnés ; teaser vidéo PR #79 fusionnée (scripts/teaser/, hors image). Restent ouverts côté FG : N-01 CN-04B (ci:full vs diff docs) et runtime Node ≥24. Note CI : deux flakes E2E sous charge (S12-02, R7-07) — R7-07 corrigé (#87), S12-02 non reproduit.

source markdown

Concepts de cet article

handoffgardeworktreeLes OndesgateVFGateCaddy

Partage le plus de concepts avec