Commit Graph

15 Commits

Author SHA1 Message Date
bastien
f4a0cbe24d memory: capitalize darwin 2026-05-12 — LRN-017/018 + BLK-003 + BDR-015
LRN-017: thin-dispatcher SKILL.md round-1 invariant = fallback + triggers.
LRN-018: darwin eval subagents drift on total math (factor-10, D8 weight).
BLK-003: scripts/screenshot.mjs hardcoded macOS path blocks PNG cards on Linux.
BDR-015: exclude broken gstack symlinks from /darwin-skill scope.
journal: 2026-05-12 session entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 18:07:29 +02:00
bastien
bf54de84a1 docs(memory): BDR-013 + BDR-014 + LRN-014..016 + 2026-05-11 journal append
decisions.md:
- BDR-013: client-handover 6-chapter doc — promote scores §2 + NAP §4
  (supersedes BDR-011 4-chapter structure).
- BDR-014: personal SKILL.md descriptions follow "Use when [triggers]…"
  pattern + 1024-char frontmatter spec limit.
- Backfilled missing BDR-012 Index row (entry existed in body, Index
  skipped in prior session).

learnings.md:
- LRN-014: pandoc base gfm strips header id attrs — need
  `gfm+gfm_auto_identifiers` for internal anchor links.
- LRN-015: BrightLocal Free Tools retired 2026 — Moz Local Citation
  Checker is current free NAP-audit replacement.
- LRN-016: pandoc GFM checkbox markup breaks adjacent-sibling CSS —
  target `li > input[type="checkbox"]` directly, not `+ *` siblings.
- Backfilled missing LRN-013 Index row.

journal.md:
- 2026-05-11 session: orchestrator audit + writing-skills CSO fixes +
  client-handover 6-chapter restructure + 4 atomic commits e2425ca..0fb634d.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-11 16:15:05 +02:00
bastien
17ef213548 docs(memory): BDR-012 + LRN-013 + 2026-05-07 journal append
- BDR-012 — `/client-handover` cover: white bg + green-forest accents +
  PNG logo default. Captures iteration (cream → green-dark rejected →
  white-pure final). Why: light theme matches zenquality.fr without
  overpowering long client-facing text. Solid green-dark reserved for
  marketing covers, not deliverables.
- LRN-013 — marked CLI 16.x ignores stdin and dumps own cli.js source.
  Pattern: do not assume marked CLI accepts stdin like awk/jq/sed.
  Always pass `-i FILE`. Smoke-test MD→HTML output for known content.
- Journal — appends bugfix subsection under 2026-05-07 with the three
  bugs, root causes, fixes, verified output (164 KB / 19 pages).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 19:57:20 +02:00
bastien
591a035ec6 docs(memory): BDR-011 + LRN-012 + 2026-05-07 journal append 2026-05-07 19:11:44 +02:00
bastien
5d8103f595 docs(memory): BDR-010 + LRN-011 + 2026-05-07 journal entry 2026-05-07 18:39:16 +02:00
bastien
64cef26e50 docs(darwin-skill): audit report + LRN-008/009/010 + journal entry 2026-05-06 18:39:12 +02:00
bastien
d5677f67c9 chore(memory): capitalize BDR-009 from caveman format mandate
Append BDR-009 entry + Index update in decisions.md, plus 2026-05-05
heading in journal.md covering the 4-commit batch.

Catches Index up to BDR-008 (was missing 007/008 entries despite
already-written sections).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-05 23:50:07 +02:00
bastien
4364e2b351 chore(memory): compress 5 registries to caveman format
Apply CLAUDE.md "Format — registries ALWAYS caveman" rule to existing
entries via /caveman:compress. Drops articles, filler, and hedging
while preserving:

  - Technical terms (rtk, claude plugin install, framer-motion, etc.)
  - IDs unchanged (BDR-XXX, LRN-XXX, BLK-XXX, EVAL-XXX)
  - Dates unchanged (2026-04-22 etc.)
  - Code blocks and quoted error strings exact
  - Commit refs (892de28, 7b57b2e, d3c79f0, 64d6ca7)

Files: decisions.md, learnings.md, blockers.md, journal.md, evals.md.
Token reduction: ~40% on session-start memory load.

Pre-compression backups saved as *.original.md (gitignored next).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-05 23:46:23 +02:00
bastien
d694a9e0da chore(memory): capitalize BDR-007 + BDR-008 from profile system
- BDR-007: Skill profiles partition gstack by usage (v1, skill-only).
  Decision to ship lib/profile.sh + symlink-based toggle for skills,
  with plugin/MCP entries advisory in v1. Rationale: the existing
  toggle-external.sh enable|disable gstack is too coarse — it
  disables checkpoint/ship/learn alongside design skills. Profiles
  hide the irrelevant skills without uninstalling the gstack repo.
  Alternatives rejected: forking SKILL.md to strip the gstack
  preamble (re-fork on every upgrade — preamble already degrades
  gracefully via `|| true`); per-skill toggle via claude plugin
  enable/disable (gstack skills are not marketplace plugins);
  removing symlinks (lossy if user has local edits).

- BDR-008: Profile system v2 — extend to plugins + MCPs + CLIs.
  Reverses the "advisory only" stance from BDR-007 alternative #4.
  User feedback: pure-skill toggling left ui-ux-pro-max/magic always
  loaded regardless of profile, so passive token cost didn't drop
  enough on profile switch. Solution: real claude plugin enable/
  disable for an explicit MANAGED_PLUGINS allowlist (3 entries) +
  PROTECTED_PLUGINS denylist for always-on (caveman, security-
  guidance, superpowers). MCP magic delegated to toggle-external.sh.
  Other MCPs stay advisory because each needs specific config. Adds
  4 new profiles: web, seo, web-full, backend.

- Journal: 2026-05-04 entry summarizing the v1 ship, then a follow-up
  block for the v2 extension (new profiles, plugin auto-toggle, tie-
  breaker for `current`).

- TODO.md: marked done — v1 (Skill profiles) section and v2 (Profile
  system v2 — extension plugins/MCPs/CLIs) section, both with their
  full subtask lists.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 02:09:51 +02:00
bastien
d8ad38b131 chore(memory): capitalize BDR-006 + LRN-005 + LRN-006 from caveman session
- BDR-006: Caveman as 4th always-on plugin (output compression, sym
  with rtk's input compression). Full install rationale, alternatives
  rejected, caveats around path normalization + gitignore.
- LRN-005: claude plugin install does NOT enable — explicit
  claude plugin enable required for ALWAYS-ON plugins. Pattern: read
  enabledPlugins, never hardcode plugin names in status displays.
- LRN-006: caveman-shrink (and any MCP middleware proxy) needs an
  upstream wrapper. Bare registration fails health checks. Pattern:
  register under derived names (proxy-upstream), don't auto-register.
- Journal: 2026-05-03 entry summarizing the session.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 23:06:26 +02:00
bastien
4d3fb6a661 chore(memory): capitalize BDR-005 + LRN-004 from animation lib auto-install
BDR-005: motion as default animation library; plugin-advisor stays
read-only (orchestrators own install).

LRN-004: framer-motion was rebranded `motion` in Nov 2024 — single
package for React/Svelte/vanilla, separate `motion-v` for Vue. React
Native still needs react-native-reanimated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 15:32:55 +02:00
bastien
e209f56216 chore(memory): capitalize BDR-004 + LRN-003 from auto-mode switch
BDR-004 documents the decision to adopt auto permission mode as default
with classifier safety net, alternatives, and feature-gate caveats.

LRN-003 captures the gotcha that Claude Code's disable* settings use
the literal sentinel string "disable" rather than a boolean — required
context for any future permission-mode change.

Journal entry added for 2026-04-27.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-27 13:19:00 +02:00
bastien
54602a9a3c chore(memory): retrofit existing 9 entries to English
Apply the English-only rule (BDR/CLAUDE.md § Memory registries)
retroactively to the 9 entries written before the rule was in place:

- decisions.md: BDR-001, BDR-002, BDR-003 + index titles
- learnings.md: LRN-001, LRN-002 body prose (LRN-002 was already
  half-English from the CAPITALIZE pass; now fully normalized)
- blockers.md: BLK-001, BLK-002 + BLK-002 index row
- journal.md: 2026-04-23 entry rewritten, + one bullet added noting
  the retrofit itself
- evals.md: EVAL-001 + index row

Content-preserving translation — same claims, same IDs, same dates,
same file structure. YAML headers and schema sections untouched
(they were already English).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 16:30:58 +02:00
bastien
ec5ba2a16c chore(memory): capitalize BDR-003 + LRN-002 + BLK-002 from restructure
First real CAPITALIZE phase (commit-changer Phase 4) — extract reusable
knowledge from the .claude/ restructure batch (commits 892de28..6ec06c8):

- BDR-003: gitignore wildcard + negations pattern (decision with why/alts)
- LRN-002: moving report-file paths requires grepping bash READS,
           not just WRITES — rule learned from 2 dispatchers being
           silently broken until a verify-gate caught them
- BLK-002: rmdir blocked in sandbox even on empty dirs — resolved via
           git rm + rename auto-detect (no rmdir needed in practice)
- journal: 2026-04-23 entry extended with verify-gate outcomes and
           commit batch reference

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 16:19:28 +02:00
bastien
892de288fe feat(memory): introduce .claude/{tasks,memory,audits}/ governance layout
Move tasks/ into .claude/tasks/ and create .claude/memory/ with 5
persistent registries (decisions/learnings/blockers/journal/evals) plus
.claude/audits/ for audit reports. Also seed templates/memory/ for
onboarder to copy into user projects.

- tasks/TODO.md, tasks/rtk-upstream-issue.md → .claude/tasks/
- tasks/LESSONS.md deleted (empty template; superseded by learnings.md)
- .claude/memory/: 5 append-only registries with YAML schema + seed entries
- templates/memory/: 5 empty-index templates for new projects

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 16:06:00 +02:00