Chroniques du Panthéon

Les versions d'ulk, consignées dans le grimoire. Chaque release apporte son lot d'arcanes, de correctifs et d'invocations.

v7.6.0

Le Punisher (85) rejoint les souverains — release totale radicale — et deux agents pivots changent d'identité : sauron (ex-obiwan) et peon (ex-2b3), visuels inclus.

Changed

  • **Renommage `obiwan` (61) → `sauron`** — le Chief Product Officer devient l'Œil : vision panoptique du portefeuille produit, épithète « l'œil qui voit tout le portefeuille ». Rapports `docs/reports/sauron-*`, invocation `/ulk:sauron` (« obiwan » conservé en alias legacy). Renommage transverse : agents, protocoles `_shared/`, règles, CLI Go, miroirs commands, site (fiche + sphère oracles + descriptions FR), golden test.
  • **Renommage `2b3` (08) → `peon`** — le checkpoint de fin de session devient le Péon (Warcraft II/III) : défini par sa fonction, dos voûté, répliques cultes VF câblées sur le style caveman (« Zug-zug » = phase reçue · « Dabu » = phase ok · « Travailler, travailler… » = pipeline en cours · « Encore du travail ? » = commit scellé). Invocation `/ulk:peon` (« 2b3 » conservé en alias legacy), mémoire `.claude/agent-memory-local/ulk-peon/`, managed agent `ulk ma peon`, fiche site sphère gardiens. L'historique (CHANGELOG, `docs/audits/`, backlog archivé) garde les anciens noms.
  • **Illustrations définitives** — `sauron.jpg` (Œil de Sauron, © New Line Cinema / Warner Bros.), `peon.jpg` (péon orc Warcraft, © Blizzard Entertainment), `punisher.jpg` (couverture © Marvel Comics) + entrée `AGENT_ILLUSTRATIONS` et crédits `illustrations.ts` à jour.
  • **Purge `docs/_inbox`** — 600 fichiers de triage supprimés (−129 500 lignes), README `docs/` réorganisé par dossiers, palette source déplacée vers `docs/visuels/`.

Added

  • **Agent `punisher` (85) — release totale radicale** — orchestrateur qui exécute la release complète de bout en bout, là où `blackemperor mode=release` rend un verdict et `mode=ship` livre vite : gate GO/NO-GO (délégué à blackemperor 18), **rangement radical du repo** (fichiers errants, cartes done archivées, code mort, TODO fantômes), doc scellée (CHANGELOG Keep-a-Changelog, README, CLAUDE.md via shuri 01 + `/claude-md-improver`, générateurs projet), **site régénéré + build de contrôle**, et **kit de communication** dans un dossier dédié `docs/release/vX.Y.Z/` (RELEASE-NOTES, posts par canal x/linkedin/bluesky/mastodon, email partenaires, note interne — rédaction déléguée à brigitte 24, skill `avoid-ai-writing`). Règle d'or « prépare tout, ne publie rien » : `refuses:` sur force-push, push main, `gh pr merge`, `gh release create` ; tag local non poussé, publication humaine. Golden test + fiche site (sphère souverains). Spec : `docs/backlog/archive/2026-07-18-spec-punisher-release-totale/CARD.md`.
  • **Suite d'invariants cohérence C5–C8** (`framework/tests/agents-coherence.test.mjs`) — refs archivées (C5), numéros `nom (NN)` (C6), `loads_skills` résolvables (C7), count opus ↔ table de justification model-policy (C8) ; table d'alias slug↔nom installée `framework/skills-aliases.json` + résolveur, fixtures golden otto (C4). Issu de l'audit cohérence roster 2026-07-17.

Fixed

  • **Handoffs vers agents archivés** — les renvois vivants vers Ranma (31) redirigés vers tony (50) mode=audit ; handoff skills-radar (archivé) → sauron (61). Bruce annonce le bon compte d'agents (83).
  • **5 skills fantômes retirées** des `loads_skills` de sauron (ex-obiwan) — plugins opt-in, pas des skills registry.
  • **Collisions de routage à la saisie** — anti-triggers croisés gandalf/xavier, mot-clé « audit visuel » désambiguïsé (visual-auditor/agathe), identifiant brique, `extends` alphabétique (#355, #348, #347).
  • **`DESIGN.md` casing** (#354, merci @Devil1716), `bonjour.sh` dépendance `jq`, crash `govulncheck` dans le hook pre-push.
v7.5.0

Intégration design (`impeccable`), autopilote de backlog (`otto`), récupération d'espace disque (`ulk reclaim`) et vérification de mise à jour quotidienne.

Added

  • **Intégration `impeccable` (design)** — skill/plugin de **direction artistique + lint déterministe** (pbakaus, bâtie sur `frontend-design` d'Anthropic) : `/impeccable init` (→ `PRODUCT.md`/`DESIGN.md`), 23 commandes `/impeccable` (craft, critique, bolder, quieter, distill, audit…) et **46 détecteurs d'anti-patterns exécutés sans LLM ni clé API**. Câblée en `loads_skills` des 5 agents design (stark 58, agathe 60, brique 01, visual-auditor 03, agamotto 17) et positionnée **complémentaire** à `hallmark` dans `_shared/design-source-protocol.md` §5ter (règle de coexistence : `docs/design.md` reste la source de vérité ; le `DESIGN.md`/`PRODUCT.md` d'impeccable l'alimentent). Install : `npx impeccable install`.
  • **Agent `otto` (84) — autopilote ticket→PR (#338)** — orchestrateur qui déroule le backlog : délègue l'implémentation, ouvre une PR draft, attend le merge avant de passer au suivant. Nouveau protocole `_shared/executor-protocol.md` (retry borné sur gate échoué, blocage séquentiel une unité en vol par working tree, report sans *silent caps*), câblé aussi dans task-runner (04).
  • **`ulk reclaim` (#284)** — récupération d'espace disque : scanne les répertoires régénérables (dépendances, sorties de build, caches d'outils). **Dry-run par défaut** (`--apply` pour agir), heuristique de sûreté (noms génériques `dist`/`build`/`out`/`target` réclamés seulement à côté d'un manifeste projet), flags `--older-than N` / `--only deps,build,cache` / `--json`.
  • **Vérification de mise à jour** — check **quotidien** propose-only (binaire ulk, agents/skills, CLIs requises manquantes) piloté par Bruce (25) Phase 0.6, et **rappel mensuel** de la maintenance native `/checkup` (alias de `/doctor`), gated 1×/mois calendaire. Pur shell, 0 token, jamais appliqué sans accord.
  • **Intégration `grill-me` / `grilling` (interview pré-build, #350)** — skills externes (mattpocock/skills, MIT) qui **stress-testent un plan/design avant le build** : interrogatoire descendant l'arbre de décision **une question à la fois** (réponse recommandée jointe, faits cherchés dans l'environnement, pas d'action avant *shared understanding*). `grill-me` = front door user-invoquée stateless (`/grill-me`) ; `grilling` = primitive model-invoquée. Nouveau protocole `_shared/grilling-protocol.md` (coexistence avec `triple-questioning` agent-interne et le questionnaire de tony, sans doublon), enregistrement registry (`skills-sources.json`), référence dans `base-rules.md` + `agents/CLAUDE.md`, et `loads_skills: grill-me` sur les 4 porteurs canoniques : tony (50), bruce (25), obiwan (61), shuri (01). Artefacts d'install locaux gitignorés (non vendorés, réinstallés via `ulk skills update`).

Fixed

  • **Dérive des miroirs `framework/commands/`** — `task-runner` (source enrichie d'`_shared/executor-protocol.md` sans régénération du miroir) et `otto` (miroir de l'agent 84 jamais généré) resynchronisés via `generate-commands.cjs` (idempotent, déterminisme vérifié).
v7.4.1

Correctif. Deux skills promises depuis toujours et jamais installées, plus la porte d'entrée de session (`/ulk:bonjour`) et ses défauts de robustesse.

Fixed

  • **`HookModule` n'installait jamais la skill qu'il promettait** — `handoff-hook` et `context-mode` annonçaient « Unlocks : Skill … » dans leur pédagogie, mais `HookModule` n'exposait que `scriptSrc` + `configSrc` : aucun champ n'installait de skill. Les deux `SKILL.md` étaient versionnés dans `framework/community-skills/` et copiés **nulle part**. L'installateur imprimait la promesse et n'en tenait que la moitié, sans erreur ni avertissement. `HookModule` accepte désormais `communitySubdir` + `skillPrefix` (même contrat que `SkillModule`), et `Uninstall` honore `removeGlobs`. **`/ulk:handoff` et `/context-mode` s'installent enfin réellement.**
  • **Test de non-régression sur la classe entière** — `TestModulePromisingSkillInstallsOne` échoue si un module dont `Unlocks` mentionne « Skill » n'en déclare aucune. Vérifié par mutation : rouge sans le correctif.
  • **`bonjour.sh` — ancrage à la racine du dépôt** — le script supposait `cwd == racine` sans jamais l'imposer. Lancé depuis un sous-dossier, il ne plantait pas : il rendait silencieusement « mode obsidian » et « rien à lister » sur un projet `faru` peuplé, et semait un `.claude/state/` orphelin dans chaque répertoire d'invocation (chaque dossier avait alors son propre tampon de gate). Une sortie fausse sans erreur est pire qu'un échec franc.
  • **`bonjour.sh` — borne réelle sur les appels réseau** — sans coreutils, macOS n'a ni `timeout` ni `gtimeout` : l'ancien fallback exécutait la commande **nue**. La promesse « un brief matinal ne bloque jamais l'ouverture d'une session » était fausse précisément sur la plateforme principale. Remplacé par un watchdog bash pur, sans dépendance.
  • **`bonjour.sh` — fenêtre des PR mergées** — « PR récemment mergées » remontait les 5 dernières sans filtre temporel, fussent-elles vieilles de six mois. Ajout de `--search "merged:>=<dernier brief>"`.
  • **`bonjour.sh` — `force` amputait la fenêtre du lendemain** — `force` est un rejeu, pas un nouveau brief ; il avançait pourtant la borne de collecte, vidant le bloc « Hier (toi) » du brief suivant. La borne n'avance plus qu'au premier brief du jour.
  • **`feedback-loop` (16) — dégradation gracieuse** — l'agent sortait en erreur dès que `accountability.jsonl` était absent, alors que 2 de ses 4 patterns ne dépendent que de `git log`. Il dégrade désormais au sous-ensemble git-only au lieu d'échouer.

Added

  • **`/ulk:bonjour` (#336)** — brief de début de journée, symétrique de `2b3` : le cycle de session avait une porte de sortie, pas de porte d'entrée. Urgences (CI rouge, PR à relire, issues P0, cartes `blocked`) · **collisions** (fichiers modifiés des deux côtés, toi *et* l'amont) · activité du remote · commits de la veille · cartes `wip`/`todo` · un cap. Collecte en pur shell (`framework/tools/bonjour.sh`), read-only, gaté 1×/jour. Câblé dans Bruce (25) Phase 0.7, non bloquant.
v7.4.0

Trois axes : automatisation full-local (label-to-pr, seed sentinel, gate sécurité), refonte de l'installateur (T1–T8 #324, défauts opt-out), et extension mobile/Apple (tim/illidan/buzz, 5 skills Swift).

Added

  • **Pipeline `label-to-pr` (#325)** — module opt-in `--with-label-to-pr` : une issue GitHub `agent-ready` déclenche un `/loop` local → robocop (11) en GitHub Issue Mode → PR draft. Skill + script `label-to-pr.sh`, 100 % full-local (aucun cloud).
  • **Seed `.ulk/config.json` (#313)** — l'installateur sème la config projet en mode `remind` : le hook sentinel est **réellement actif** après install (fail-safe no-op hors projets ulk).
  • **Module `hooks-resync`** (`--with-hooks-resync`) — resynchronise `.git/hooks/` depuis `scripts/hooks/` au SessionStart : le gate full-local est toujours présent et à jour (clone frais, worktree neuf, désync multi-sessions). Catalogue CLI : 53 → **55 modules**.
  • **Cycle mobile app-builder complet (#327)** — `tim` (81), `illidan` (82), `buzz` (83) ; roster 78 → **81 agents**. `happy` gagne un mode implement BaaS (Supabase/Firebase).
  • **Prompt Library câblée (#317)** — intégrée dans `bruce` (25) et `blackemperor` (18).
  • **Champ `outcome` faru + checkpoint obiwan Phase Ship (#315)** — alignement AIDD.
  • **Champ `featured` (#251)** — peuplé dans le contrat `ulk agents list`.
  • **5 skills Apple spécialisées** — bundle `swift-skills` : 7 → 12 skills (widgets, intents, IAP, CloudKit…) + registry swiftui-performance.
  • et 2 autres changements…

Changed

  • **Installateur T1–T8 (#324)** — catalogue = source unique des flags (T1), module `vps` absorbé via `RemoveGlobs` (T2), `NoopModule` justifiés (T3), profils déclaratifs via `base.Profiles` (T4), dedup du re-sign `~/.local/bin/ulk` (T5), help `--profile` dérivé de `ProfileNames` (T7), gardes anti-drift + tests de couverture flags/profils (T8).
  • **Accountability + sentinel actifs par défaut (#313)** — `enabledByDefault` au premier install, opt-out `--without-accountability` / `--without-sentinel`. Comble le Gap #1 (Sécurité) de l'audit AIDD : ownership traçable des mutations IA. Installs existantes intactes.
  • **Toggle `auto-skill-review`** — câblé vers l'état runtime auto-dream (`state/auto-skill-review.json`).
  • **Voice FR-first (#301)** — contrat CLI + casse marque site francisés ; re-audit minitel : cohérence copy 8/10.
  • **LLM local apfel-only** — purge du câblage résiduel ollama (bundle `ai-clis`, status, dashboard).
  • **Dé-bloat orchestrateurs** — isaac/lovecraft/bruce allégés, bloc partagé `_shared/skill-detection-block.md`.
  • **Épic HERMES-ADAPTATION (#255) clos** — 27/27 cartes done, validation déterministe passée, cartes généralisées sans référence personnelle.
  • **Backlog Faru** — archivage massif (109 + 12 cartes closes), priorités uniformisées (P→mots), casse des préfixes TYPE normalisée, réalignement backlog ↔ issues GH.

Removed

  • **Flag mort `--wizard` (#324)** — déprécié depuis que le wizard est le mode par défaut, consommé nulle part (audit binaire 2026-07-03). `--with-faru` / `--with-update-check` conservés (no-ops documentés, API user-facing).

Fixed

  • **feedback-loop (#318)** — boucle échec→signal AIDD P11 réparée + golden test verrouillant l'invariant git-only.
  • **subagent-handoff (#229)** — garde-fou `MAIN_REPO` worktree-safe.
  • **Gate pre-push** — rendu worktree/hook-safe.
  • **Site** — menu mobile cassé sur ≤ 860 px (containing block).
  • **vibe (#280)** — strip du trailing whitespace des TOML générés + resync des `.vibe` périmés.
  • **sync-issues** — préservation de l'URL des issues sans label (read/IFS tab).
  • **Agents** — conformité frontmatter `tools` + `loads_skills` dupliqué ; garde-fou anti-récidive archivage (remap de 118 réfs mortes).
  • **Hooks** — faux positif commentaire inline hooks-conformance (#231) verrouillé en test ; scrub du `SENTINEL_BYPASS` hérité dans le test sentinel-hook.
v7.3.0

Added

  • **Intégration `/checkup` natif (CC ≥ 2.1.202)** — routine **mensuelle** de maintenance de l'installation Claude Code. `/checkup` est l'alias du `/doctor` revampé (*« full setup checkup that can diagnose and fix issues »*) : cleanup skills/MCP/plugins inutilisés, dedup CLAUDE.md local vs versionné, éclatement du CLAUDE.md racine, hooks lents, mise à jour CC, auto mode, pré-approbation des commandes read-only refusées — confirme avant chaque changement. Section canonique : `.claude/rules/native-features.md` § `/checkup` (cadence, interdiction mid-session Règle 5, table de positionnement vs gandalf 34 / `/context-audit` / `/health` / update-check / `/claude-md-improver`, garde-fou marqueurs `ulk:count`). Câblage : session-practices + CLAUDE.md (§ Hygiène de contexte), `_shared/claude-code-mastery.md` § 11, hint gandalf (34) Phase 6, page site `hygiene-contexte`.
  • **Rappel mensuel `/checkup` dans le hook update-check** — `framework/tools/hooks/update-check.sh` émet une ligne `maintenance CC` **1×/mois calendaire** (clé `last_checkup_month` dans `.claude/state/ulk-update-check.json`), propose-only, émise même si le binaire `ulk` est absent du PATH. Protocole : `_shared/update-check-protocol.md` § Rappel mensuel.

Changed

  • **README** — badge version (resté sur 7.2.0 depuis le cut 7.2.1) + ligne `/checkup` (2.1.202) dans la table *Compatibilité Claude Code 2.1*.
  • **Installateur** — module `update-check` (catalog.go) : description + pedagogy mentionnent le rappel mensuel `/checkup` ; idem ligne `--with-update-check` d'`install-reference.md`.
v7.2.1

Fixed

  • **`scripts/release.sh`** — fallback `gh auth token` pour `HOMEBREW_TAP_TOKEN` (parité avec le fallback `GITHUB_TOKEN` existant) + `export` requis par goreleaser (process enfant). Supprime le point de friction du cut v7.2.0 où une entrée Keychain introuvable avait fait échouer les étapes Homebrew tap + upload VPS.
v7.2.0

Added

  • **Review & Simplify Gate** (`_shared/review-gate-protocol.md`) — review + simplification rendues **systématiques sur le diff** (plus opt-in par phase). Profondeur adaptative par taille de tâche : XS/S → 1× `feature-dev:code-reviewer` · M → `/pr-review-toolkit:review-pr` · L/XL → Quality Review de `/feature-dev` (anti-doublon). Trois niveaux d'enforcement : gate dur **task-runner** Phase 3.1.6 (bloque `wip→done` sur findings 🔴), backstop **2b3** Phase 4.5, convention **base-rules** (édition ad-hoc). Filet mécanique opt-in `--with-review-gate` : hook Stop pur shell (0 token) qui rappelle `/code-review` + `/simplify` si un fichier non-doc a changé sans review récente. Catalogue CLI : 52 → **53 modules**.
v7.1.0

Trois axes : hardening sécurité CLI (SHA256 fail-closed, CWE-78, 7 Dependabot résolus), site vitrine Arcana (Astro 7, 78 fiches agents), et extension du framework (vinci #80, 16 skills opt-in, pacing protocol, intégration avoid-ai-writing 35 agents).

Added

  • **`vinci` (#80)** — agent Claude Design générique : point d'entrée unique pour les workflows design impliquant hallmark, hue, figma, open-design. 6 modes : `list`, `sync`, `impl`, `audit`, `card`, `dashboard`.
  • **16 skills opt-in** — dev workflow (6 : `oneshot`, `prompt-creator`, `merge`, `skill-manager`, `environments-manager`, `agents-managers` — absorption croisée inbox Melvynx), Next.js bundle (4 : `nextjs-setup-project`, `nextjs-add-prisma-db`, `nextjs-setup-better-auth`, `create-vitejs-app`), QA live (`playwright-qa`). Catalogue CLI : 44 → **52 modules**.
  • **Site vitrine Arcana** (`site/`) — Astro 7 statique, design system Ulk–Arcana, 9 sphères, 78 fiches agents (`/agents/[sphere]/[agent]/`), page `/install/`. Plugin `@izo/hyperfocale` (routing, pagination). `https://ulk.regrets.app`.
  • **`_shared/pacing-protocol.md`** — protocole pacing (rythme énergétique) : 5 règles (incréments digestes, points d'arrêt reprenables, anti boom-bust, prévisibilité, rythme fixé par l'humain). Signal `pacing: low|normal|deep`. Hérité par `base-rules.md`, gardé par gandalf (34) Phase 1.8.
  • **Intégration `avoid-ai-writing`** — 6 couches : protocole `_shared/prose-protocol.md`, section §Prose dans `base-rules.md`, 35 agents avec règles prose natives, CLI detector, gate 2b3, signal Bruce Phase 5.
  • **`asc-skills × 22`** (rudrankriyam, registry) — suite App Store Connect via CLI `asc` : signing, build, TestFlight, submission, metadata, ASO, crash triage, notarisation, pricing, IAP RevenueCat, release notes IA.
  • **`_shared/routines-protocol.md`** — protocole Cloud Routines (`/schedule`, agent `routine 53`).

Changed

  • **`_shared/base-rules.md`** — §Prose (`avoid-ai-writing`) + §Pacing.
  • **`framework/agents/CLAUDE.md`** — table protocols étendue (`pacing-protocol.md`).
  • **`.claude/rules/agents-authoring.md`** — documentation pacing + `extends:` guidance.
  • **`gandalf` (34)** — Phase 1.8 : garde le pacing (signal `pacing:` → adapter le rythme de sortie).
  • **`bruce` (25), `2b3` (08), `task-runner` (04)** — référence `pacing-protocol.md`.
  • **Biome** — migration 2.4.x → **2.5.1** (`schema`, `rules.preset: none`, exclusions `dist/` + `*.d.ts`).
  • **`CLAUDE.md` racine** — section Pacing + count agents corrigé (78, était 98 sur index.astro).
  • **Registry** — `registry.json` + `registry.md` régénérés (78 agents, date 2026-06-30).

Fixed

  • **Biome hook** — `files.includes` avec `!**/dist/**` + `!**/*.d.ts` + `overrides` redondant : hook pre-commit stable sur les dist/ compilés.
  • **`install.sh` compte agents** — `index.astro` affichait `98 agents` → corrigé `78`.
  • **Conflits merge registry** — `registry.json` + `registry.md` (date 2026-06-28 vs 2026-06-30) résolus.

Security

  • **`self-update` durci** (`c5341d2a`) — SHA256 vérifié **fail-closed** avant extraction, staging temp imprévisible, guard path-traversal tar. CWE-494/367/377/22.
  • **`InstallCmdAllowed` factorisé** (`7d1bbd93`) — comble le gap CWE-78 sur `exec.Command` ; whitelist centralisée + confirm/checksum.
  • **`gstack` vendorisé supprimé** (`ed15e2ae`) — 7 alertes Dependabot résolues.
  • **`npx -y` supprimé** (`048b9794`) — CWE-494 (téléchargement sans vérification).
  • **yaml CVE-2026-33532** (`9d1127de`) — override npm `^2.8.3`.
v7.0.0

Trois chantiers structurants : support Gemini via Vertex AI ADC, intégration GCP native (skills, MCP Toolbox, Developer Knowledge MCP), et refonte de l'architecture agents (policy de modèles, durabilité, context manifests).

Added

  • **`ulk export --target vertex`** — génère `VERTEX.md` à la racine du projet : auth ADC (`gcloud auth application-default login`), mapping modèles (gemini-2.5-pro/flash/2.0-flash), guide Workload Identity pour CI/CD. Vertex AI est désormais un target de première classe aux côtés de Codex / Gemini CLI / Mistral Vibe.
  • **`google-cloud-skills × 20`** (google/skills, Apache-2.0) au registry — cherry-pick par slug : `google-cloud-basics` · `google-cloud-run` · `google-cloud-storage` · `google-cloud-armor` · `google-cloud-bigquery` · `google-cloud-firestore` · `google-cloud-sql` · `google-cloud-logging` · `google-agent-builder` · `google-cloud-well-architected` + 10 autres. Install : `ulk skills update` ou `npx skills add google/skills --skill <slug>`.
  • **`_shared/gcp-protocol.md`** — protocole GCP ulk : MCP Toolbox for Databases (`googleapis/mcp-toolbox`, 6 sources : BigQuery/Firestore/AlloyDB/Cloud SQL/Spanner/Looker, ADC-only), Developer Knowledge MCP (anti-hallucination API Google sur Cloud/Firebase/Android/SecOps), cherry-pick skills, cohérence ADC.
  • **Developer Knowledge MCP** documenté dans `multi-provider-protocol.md` — ancre les agents sur la documentation Google officielle et à jour.
  • **Context Manifests** (`_shared/context-manifest-protocol.md`, ULK-CM1) — frontmatter étendu `context_budget` + `loads_skills` + `mcp_cap_strategy` sur 3 agents pilotes (sargeras 45, ed209 52, tony 50). Bruce calcule la somme avant routing pour prévenir le context rot.

Changed

  • **Protocole modèles** (`_shared/model-policy.md`) — politique formalisée opus/sonnet/haiku : critères de choix, table de routage par agent, règle effort (`xhigh` sur tous les agents `model: opus`, `low` sur `model: haiku`), durabilité Wulveryck.
  • **Durabilité agents** — 77 agents classés `amplifier` / `compensatory` / `mixed` (See, Act, Correct, Wulveryck). Roster : 74 amplificateurs / 2 mixed / 1 compensateur. Audit : `docs/audits/durability-2026-06-05.md`. Rejouable à chaque sortie de modèle.
  • **Archivage 2026-06-09** — 21 agents archivés dans `framework/agents/_archived/` (traîne morte epic consolidation-maturité). Fusions : picsou (56) = ex-killbill + ex-picsou (26) ; benjamin (64) absorbe rodin (46). Agents persona préservés (alex 59, astride 40, brigitte 24).
  • **`_shared/local-llm-protocol.md`** — modèle de référence mis à jour : `gemma3:1b` → `qwen3.6:35b-a3b-mlx-bf16` (MoE 35B, 3.5B actifs, 128K ctx, MLX Apple Silicon, ~2-5s/appel).
  • **Table des alias modèles** (`CLAUDE.md` + `multi-provider-protocol.md`) — colonne Gemini → Gemini / Vertex AI ; note ADC explicite.
  • **Hints GCP** dans 3 agents pivots :
  • **`gcloud CLI`** documenté dans `install-reference.md` comme opt-in (Vertex AI ADC uniquement).
  • **`install-reference.md`** — section `google-cloud-skills × 20` dans les Skills externes (cherry-pick, ADC, protocole).
  • et 2 autres changements…

Fixed

  • Alignement `CLAUDE.md` racine avec la table Multi-LLM (Vertex AI ADC, `VERTEX.md`).
v6.3.0

Import des garanties d'exécution de [Superpowers](https://github.com/obra/superpowers) (epic W1–W8) + refonte du Panthéon + portail de releases auto-hébergé.

Added

  • **Epic Superpowers W1–W8 — garanties d'exécution importées** (8 cartes, 3 PRs) — forcing-functions de `obra/superpowers` (MIT) câblées dans l'architecture `_shared/` ulk **sans renier l'invocation manuelle** :
  • **Portail de releases auto-hébergé** (`releases.regrets.app`) — page d'index GoReleaser, design `ulk-zed-orange` (light-first, radius 0, Geist Sans/Mono), liens binaires macOS/Linux corrigés (underscore → dash), déployé sur VPS Coolify.
  • **Skill `shadcn/improve`** (registry) — advisor codebase read-only, audit 9 catégories, priorisation par leverage (impact ÷ effort), plans de handoff auto-suffisants dans `plans/`. Complémentaire à sargeras (45) / ed209 (52) / tech-debt-audit / verify (65).

Changed

  • **Migration Biome v1.9.4 → v2.4.16** — `organizeImports` → `assist.actions.source`, `files.ignore` → `files.includes`, nouvelle règle `useIterableCallbackReturn` (4 `forEach` → `for...of` dans `todo-parser.test.ts`).
  • **Refonte du Panthéon** (site) — 77 agents avec sphère + épithète complets, navigation `/agents` → `/pantheon`, filtres avancés (recherche / modèle / durabilité), 254 pages **WCAG AA** vérifiées (shot-scraper accessibility).
  • Registry régénéré (`registry.{json,md}`) après le renommage khadgar ; exports `.gemini` / `.vibe` resynchronisés.

Removed

  • **Carte `usage-integration` annulée** — `/usage` natif jamais sorti en GA, blocage indéfini.