chore(memory): reconcile TODO + queue /reconcile skill
Reconcile TODO.md against real git/fs state (not conversation memory): - tick FINISH+PUSH prune-memory (merge73e12be, develop==origin/develop) - tick 3x stale [ ] Commit (working tree clean -> shipped) - tick .gitmodules follow-up (a) (be1dcef); split (b) zenquality (other repo) - tick doc-sync twin (BDR-036); requalify v2 Stop-hook deferred->REJECTED (BDR-037) - keep line 26 cleanup-machine deferred (fs-verified: darwin-skill still present) - flag --help chantier BLOCKED: contradicts BDR-001 (accepted, per-SKILL.md rejected) Queue /reconcile skill: declared-vs-real reconciler, 4-category output, gated. journal 2026-06-29 (cont. 4). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C6bUdvHnajCNzgVQefZowj
This commit is contained in:
parent
73e12be5f7
commit
bdfa9bcbed
@ -242,3 +242,9 @@ rules:
|
||||
- RED-8 (added-negation): consciously ACCEPTED as documented limit ([[LRN-047]] — FP-prone guard worse than honest limit on a destructive skill).
|
||||
- Index backfill: 34 missing rows (decisions 11, learnings 21, blockers 2) composed + ID-sorted insert; drift 34→0, STEP-4 verify OK. Re-read the 5 awk-missed Applies-to → 4 corrected a nuance the title dropped. Moved pre-existing out-of-order LRN-021. [[EVAL-010]].
|
||||
- Branch `bugfix/prune-memory-hardening`; no finish yet (awaiting signal). LAST of 3 chantiers.
|
||||
|
||||
## 2026-06-29 (cont. 4) — TODO reconcile + /reconcile skill queued
|
||||
- Session question "open-work queue really empty?" answered by READING sources (TODO, BLK, BDR/LRN deferred) vs REAL git state, not conversation memory. TODO lied 7 lines: FINISH+PUSH prune-memory already done (merge `73e12be`, develop==origin), 3× `[ ] Commit` (tree clean → shipped), `.gitmodules` follow-up (a) done (`be1dcef`), doc-sync twin done ([[BDR-036]]), v2 Stop-hook marked "deferred" but REJECTED ([[BDR-037]]).
|
||||
- Contradiction caught: chantier `--help` (STEP 0.5 per SKILL.md) contradicts [[BDR-001]] accepted (helper via session-start hook; per-SKILL.md copy REJECTED) → `--help` BLOCKED pending BDR-001 resolution (supersede or re-route).
|
||||
- Our OWN manual inventory had an error: line 26 cleanup-machine declared "auto-cleaned next make plugin" but fs shows darwin-skill still present → demoted "done"→"still deferred" after fs check. Proof-by-example the queue needs a RECONCILER (declared-vs-real), not a `[ ]`-grepper.
|
||||
- Reconciled TODO (5 ticked + 1 requalify + 1 split, annotated `reconcile 2026-06-29` w/ evidence) + queued `/reconcile` skill chantier (4-cat output, inter-registry contradiction detection, GATED TODO edit). Sequencing: /reconcile FIRST (oracle = today's inventory, perishable) → resolve BDR-001 → --help.
|
||||
|
||||
@ -25,8 +25,9 @@ Root causes trouvées (logs install-20260623-181416.log) :
|
||||
cycle minimal↔full OK ; git propre (symlinks gstack gitignorés) ; profil full restauré
|
||||
- [~] Cleanup machine courante : $REPO/.claude/skills/darwin-skill + .agents/skills VIDE
|
||||
restent (rm bloqué par garde permission .claude/) → auto-nettoyés au prochain `make plugin`
|
||||
[reconcile 2026-06-29 : TOUJOURS présents (fs-vérifié, darwin-skill 116K daté 23/06) — `make plugin` pas rejoué depuis. Reste différé, déclencheur = prochain install.]
|
||||
- [x] Capitalize — LRN-042 (Bug B CWD-relatif) + BDR-030 (gstack on-demand par profil) + journal 2026-06-23
|
||||
- [ ] Commit (via /commit-change)
|
||||
- [x] Commit (via /commit-change) — DONE (reconcile 2026-06-29 : working tree clean, travaux shippés)
|
||||
|
||||
## profile.sh — verbe `gstack on|off`
|
||||
- [x] Extraire helper `enable_all_gstack()` (boucle de cmd_reset) — anti-duplication
|
||||
@ -80,7 +81,7 @@ Root causes trouvées (logs install-20260623-181416.log) :
|
||||
- [x] Ajouter 2 niveaux d'audit (LOCAL code-only / FULL live+externe)
|
||||
- [x] Adapter scoring, legal, GEO aux deux niveaux
|
||||
- [x] Renumeroter proprement (0-14) + corriger toutes les refs internes
|
||||
- [ ] Commit
|
||||
- [x] Commit — DONE (reconcile 2026-06-29 : working tree clean, agent seo-analyzer live)
|
||||
|
||||
## /onboard — cso archetype-aware
|
||||
Problème : prompt cso fallback est non-adaptatif — cherche XSS/SQLi/CORS même sur firmware.
|
||||
@ -131,6 +132,7 @@ Subtasks :
|
||||
- [x] Tester : shellcheck OK ; matrix React/Vue/RN/backend/with-motion/no-package/pnpm tous corrects
|
||||
|
||||
## Helper `--help` / `help` sur tous les skills (option C)
|
||||
> ⚠️ BLOQUÉ (reconcile 2026-06-29) : contredit BDR-001 (accepted) qui a REJETÉ "copier le helper dans chaque SKILL.md" (maintenance entropy) au profit d'un hook session-start. Or ce chantier planifie STEP 0.5 par SKILL.md. Le TODO note lui-même "aucun skill ne gère --help aujourd'hui" → la voie hook de BDR-001 n'a jamais produit de --help fonctionnel. TRANCHER d'abord : BDR-001 périmé → marquer superseded, OU repasser par le hook. Ne pas lancer avant résolution.
|
||||
Problème : aucun skill ne gère `--help` aujourd'hui. `argument-hint` affiche juste la syntaxe en autocomplétion, pas de description/exemples. L'utilisateur doit lire le SKILL.md ou deviner.
|
||||
|
||||
Objectif : `/<skill> --help` (ou `/<skill> help`) affiche un bloc standardisé (description, args, exemples, cross-refs) et exit SANS dispatcher l'agent ni modifier quoi que ce soit.
|
||||
@ -210,7 +212,7 @@ obligatoire avant axe suivant. Construit via superpowers:writing-skills (TDD).
|
||||
- [x] Vérif finale : skill découvrable (~/.claude/skills/audit-delta via symlink
|
||||
skills/), frontmatter valide, worktrees de test nettoyés
|
||||
- [x] Capitalize : BDR-020 + LRN-027 + journal 2026-06-11
|
||||
- [ ] Commit (via /commit-change quand prêt)
|
||||
- [x] Commit (via /commit-change quand prêt) — DONE (reconcile 2026-06-29 : working tree clean, skill audit-delta live)
|
||||
|
||||
## 2026-06-11 — darwin eval: 4 confirmed bugs fix (branch auto-optimize/*-bugfixes)
|
||||
|
||||
@ -245,8 +247,8 @@ doc-sync twin chantier deferred. Safety in the pathspec, never `git add -A`.
|
||||
- [x] Task 4 — ship-feature reorder (capitalize before FINISH) — e8eff7e
|
||||
- [x] Task 5 — init-project founding-decisions capitalize (F5) — df60df6
|
||||
- [x] Task 6 — behavioral verify + shellcheck + CHANGELOG + BDR/LRN — this commit
|
||||
- [ ] v2 (deferred) — Stop hook (non-blocking, BDR-033 style) reusing the detector
|
||||
- [~] twin chantier — doc-sync → own plan (2026-06-27). NOTE: "reorder before FINISH" REFUTED — doc-syncer commits nothing, needs reorder + NEW doc-commit mechanism.
|
||||
- [x] v2 — REJETÉ (pas différé) — BDR-037 (reconcile 2026-06-29) : aucun event CC ne supporte un nag de fin-de-session (Stop = par-tour, SessionEnd = debug-log only). Vrai manque = câblage, corrigé en wirant /capitalize+/close à l'include. Aucun code à écrire.
|
||||
- [x] twin chantier — doc-sync DONE (reconcile 2026-06-29) : chantier propre livré ci-dessous (2026-06-27, BDR-036). La note REFUTED était juste — doc-commit BÂTI, pas reorder-seul.
|
||||
|
||||
## 2026-06-27 — doc-sync coupled (twin of coupled-capitalize)
|
||||
Plan: [.claude/tasks/2026-06-27-doc-sync-coupled.md](2026-06-27-doc-sync-coupled.md)
|
||||
@ -275,7 +277,8 @@ Goal: universal gitflow across all `bchanot/*` Gitea repos. Lib built across pri
|
||||
- [x] Deleted merged branches: `feat/deploy-skill` (local+remote) + `cleanup/caveman-always-on` (remote)
|
||||
- [x] Dogfood PROVEN: hook whitelists `.claude/**` on main + Option-1 lets owner push (commit `1620e5b`)
|
||||
- [x] Capitalize: BDR-039 (Option-1 protection), LRN-068/069/070, BLK-010 closed + BLK-012, journal 2026-06-29 — committed + pushed on main
|
||||
- [ ] follow-up (optional) — `submodule.gstack.ignore=dirty` into committed `.gitmodules` (share across clones); zenquality `cleanup/post-smtp-fix` rename `<type>/<name>` or finish+delete
|
||||
- [x] follow-up (a) — `submodule.gstack.ignore=dirty` committé dans `.gitmodules` — DONE (reconcile 2026-06-29 : commit `be1dcef` sur main, mergé via hotfix/gstack-ignore-gitmodules)
|
||||
- [ ] follow-up (b) — zenquality `cleanup/post-smtp-fix` rename `<type>/<name>` ou finish+delete (AUTRE repo, optionnel)
|
||||
|
||||
## 2026-06-29 — MINOR-gate strengthening (doc-syncer) [branch feature/minor-gate-strengthening]
|
||||
Read-first cartography refuted the literal premise: "strengthen MINOR gate" = 3 problems;
|
||||
@ -304,5 +307,39 @@ LAST of 3 chantiers. Read-first cartography confirmed RED-7/8 + measured 34-row
|
||||
- [x] RED-8 (added-negation inversion) — consciously ACCEPTED as documented limit in BACKLOG ([[LRN-047]]); no fragile guard built
|
||||
- [x] Index backfill — 34 missing rows (decisions 11, learnings 21, blockers 2) composed + ID-sorted insert; drift 34→0, STEP-4 verify OK; moved pre-existing out-of-order LRN-021
|
||||
- [x] Capitalize — [[LRN-073]] + [[LRN-074]] + [[EVAL-010]] + journal 2026-06-29 (cont. 3)
|
||||
- [ ] FINISH — merge bugfix/prune-memory-hardening → develop (awaiting explicit human signal)
|
||||
- [ ] PUSH — develop → origin after the 3 chantiers land (awaiting explicit human signal)
|
||||
- [x] FINISH — merged bugfix/prune-memory-hardening → develop — DONE (reconcile 2026-06-29 : merge `73e12be`)
|
||||
- [x] PUSH — develop → origin — DONE (reconcile 2026-06-29 : develop == origin/develop, 0 commit en avance)
|
||||
|
||||
## 2026-06-29 — skill /reconcile (RÉCONCILIATEUR file-ouverte ↔ réel) [QUEUED, non bloqué]
|
||||
Genèse : l'inventaire manuel du 2026-06-29 a prouvé que le TODO mentait (5 cases fait-mais-non-coché
|
||||
+ 1 "auto-nettoyé" qui ne l'était pas + 1 rejeté marqué "deferred"). Cet inventaire EST la spec du
|
||||
skill ET son cas de test de référence (résultat manuel connu-bon à reproduire).
|
||||
|
||||
PRINCIPE NON NÉGOCIABLE — ce n'est PAS un grep des `[ ]` du TODO (ça reproduirait le mensonge : dirait
|
||||
"ouvert" sur du fait-mais-non-coché). C'est un RÉCONCILIATEUR : confronte les sources DÉCLARATIVES à
|
||||
l'état RÉEL et signale les ÉCARTS. Un lister-de-todos ne vaut rien (grep le fait) ; un "le TODO prétend
|
||||
X, le réel est Y" vaut beaucoup.
|
||||
- Sources DÉCLARATIVES : TODO.md ; BDR deferred/follow-ups/caveats ; BLK status=open|upstream ;
|
||||
LRN caveats "revisit if / re-run if".
|
||||
- État RÉEL (oracles) : git (branche mergée/absente, commit existe, origin sync, working tree clean) ;
|
||||
fichier live = committé (skill/agent présent + linké = shippé) ; statut registre.
|
||||
|
||||
SORTIE = les 4 catégories de l'inventaire 2026-06-29 :
|
||||
1. actionnable maintenant (non bloqué)
|
||||
2. bloqué (condition externe — upstream)
|
||||
3. différé (déclencheur conditionnel)
|
||||
4. écart TODO↔réalité (fait-mais-non-coché / rejeté-marqué-deferred / "auto-fait" non vérifié)
|
||||
+ CONTRADICTIONS inter-registres (ex. BDR-001 accepted "pas de helper par SKILL.md" vs chantier
|
||||
--help qui copie dans chaque SKILL.md).
|
||||
+ réconciliation TODO **GATED** : montre les écarts, DEMANDE avant cocher/requalifier
|
||||
(modifie un fichier tracké → jamais silencieux).
|
||||
|
||||
Subtasks (à détailler au lancement) :
|
||||
- [ ] Spec : table oracle-par-source (commit existe / branche absente / tree clean / skill linké /
|
||||
statut registre) — chaque "déclaré" a son test réel
|
||||
- [ ] Décider build : superpowers:writing-skills (TDD, RED = fixture TODO menteur reproduisant les 7 écarts)
|
||||
- [ ] `skills/reconcile/SKILL.md` + routage CLAUDE.md (triggers : "reconcile", "file vraiment vide ?",
|
||||
"qu'est-ce qui reste ouvert", "inventaire chantiers")
|
||||
- [ ] Détecteur de contradictions inter-registres (BDR accepted vs chantier qui le contredit)
|
||||
- [ ] Gate de réconciliation (diff TODO proposé, A/B/C confirm avant edit)
|
||||
- [ ] Test final = reproduire l'inventaire 2026-06-29 (cat. 1-4 + contradiction BDR-001) comme oracle
|
||||
|
||||
Loading…
Reference in New Issue
Block a user