# klaassen-thinkroom-compounding-knowledge-lifecycle-2026-07-02

## Veille

Agent guide (Thinkroom, la piattaforma di Kieran Klaassen) che documenta il **Compounding Knowledge Lifecycle** del compound-engineering-plugin (Every): come una lezione appresa una volta "continua a ripagare" — catturata, archiviata, recuperata e mantenuta veritiera. Descrive l'anatomia di un *learning* (`docs/solutions/`), la sua cattura tramite `/ce-compound`, la mappa della memoria (durevole vs effimera), il recupero *grep-first* (learnings-researcher) collegato a 5 skill nei punti decisionali, e le tre controforze che impediscono alla memoria di mentire. Direttamente rilevante: è la dottrina dietro la convenzione `docs/solutions/` di questo repo. Dominio: compound engineering, gestione agentica della conoscenza, skill.

## Titre Article

The Compounding Knowledge Lifecycle — Agent Guide

## Date

2026-07-02

## URL

https://thinkroom.kieranklaassen.com/d/Yxr8tfwAVV

## Keywords

Compound engineering, compounding knowledge lifecycle, learning, solution doc, docs/solutions, /ce-compound, learnings-researcher, pattern doc, memoria durevole vs effimera, grep-first, frontmatter, l'evidenza presente vince, coherence neighborhood, /ce-compound-refresh, eliminazione delle classi di fallimento, CONCEPTS.md, repo-profile cache

## Authors

Kieran Klaassen (Thinkroom / Every — compound-engineering-plugin) ; document « Agent Guide » généré (byline « Claude Code / Anthropic »)

## Ton

**Profilo**: una guida tecnica di riferimento con finalità agentica ("Agent Guide"), terza persona, registro analitico denso, strutturata in 8 sezioni numerate + un glossario. Livello tecnico elevato, rivolta tanto agli agenti quanto agli ingegneri che praticano il compound engineering.

**Stile**: esplicativo e sistematico, ogni sezione descrive una fase del ciclo (premessa → cattura → archiviazione → rilevazione → refresh → ciclo completo → perché si accumula). Uso costante di **tabelle** (il ruolo di ciascun campo del frontmatter, i consumatori della memoria, le modalità di fallimento evitate) e di **descrizioni di diagrammi**. Una **metafora finanziaria estesa**, deliberata e "guadagnata": *learning = capitale*, *un recupero che cambia una decisione = pagamento di interessi*, *pattern doc = reinvestimento*, il corpus (35 documenti) = *bilancio*. Formule dottrinali: *"la conoscenza che rimpiangeresti va in git; la conoscenza ri-derivabile va in /tmp"*, *"l'evidenza presente vince"*, *"una memoria sicura di sé ma sbagliata è peggio di nessuna"*, *"non che i documenti si accumulino, ma che le classi di fallimento vengano eliminate"*, *"nessuna mano vuota"*. Autorevolezza tramite auto-dimostrazione: la guida si tratta come un corpus vivente (un censimento di 35 learning, la funzionalità `/ce-explain` consegnata "ieri", l'incidente reale #714). **Pubblico di riferimento**: progettisti di sistemi agentici e skill, praticanti del compound engineering.

## Pense-betes

- **Scommessa fondante del compound engineering**: *"ogni unità di lavoro dovrebbe rendere più facile l'unità successiva."* Il **codice** migliora il *prodotto*, non il *processo*; ciò che **si accumula (compounds)** è la **conoscenza** — ogni problema risolto, concetto nominato e convenzione documentata in una forma **recuperabile nel momento esatto in cui il lavoro futuro ne ha bisogno**.
- **Il vero collo di bottiglia = il recupero**, non la scrittura. I postmortem "marciscono nei wiki perché nessuno li rilegge". Questo sistema **chiude il ciclo** rendendo il recupero **automatico** attraverso 5 skill, non una questione di disciplina volontaria.
- **Un *learning* (solution doc)** = 1 file markdown = 1 problema risolto, sotto `docs/solutions/<category>/`. **L'intero frontmatter serve alla *ricerca*, non alla narrazione**: `title` (bersaglio grep #1), `tags` (superficie di sinonimi — grep `tags:.*(menu|routing|handoff)` senza aprire un file), `module`/`component` ("è la mia area?"), `problem_type` (l'interruttore di instradamento), `applies_when` (un test di autoselezione di 3 righe), `severity` (classificazione quando più elementi corrispondono), `date` (segnale di obsolescenza).
- **`problem_type` = 2 binari**: **bug-track** (cosa si è rotto: `runtime_error`, `test_failure`, `performance_issue`, `security_issue`…) e **knowledge-track** (cosa è stato *deciso/scoperto*: `architecture_pattern`, `design_pattern`, `tooling_decision`, `convention`, `workflow_issue`, `best_practice`…). *"Un sistema che conserva solo i bug dimentica la parte essenziale di ciò che un team apprende."* Censimento vivente: **35 learning, 6 categorie, skill-design in testa (20)**.
- **Pattern doc** = un gradino sopra: generalizzato da *più* learning → **più leva, più rischio se diventa obsoleto**. Nessuno ancora promosso qui (`docs/solutions/patterns/critical-patterns.md` = uno slot in attesa di essere riempito).
- **Cattura = `/ce-compound`**, disciplina centrale = **tempismo**: documentare **mentre il contesto è ancora fresco** (stessa sessione del fix, mentre i tentativi falliti e il "ah, ECCO perché" sono ancora presenti). Una settimana dopo → degrada in un semplice riassunto.
- **Meccanica**: fan-out di subagent (**context analyzer** = categoria/nome/frontmatter, **solution extractor** = corpo in prosa problema/investigazione/soluzione/prevenzione, **related-docs finder** = controllo di deduplicazione); **solo l'orchestratore scrive UN documento**, i subagent non toccano mai i file tracciati. Altri punti di ingresso: `/ce-debug` (propone un compound dopo l'analisi della causa radice), `/ce-pov` ("compound it" → `tooling_decision` in modalità headless), **modalità leggera** (piccole lezioni, salta il controllo di deduplicazione).
- **"La vita di un learning"** (esempio canonico): incidente **#714** (l'agente si ferma dopo il menu) → causa radice (instradamento per opzione in un file di riferimento non caricato) → fix + `/ce-compound` → learning `post-menu-routing-belongs-inline.md` → **test di regressione** + **dottrina in AGENTS.md** ("Inline the Trigger, Not the Content"). **Un incidente, 4 artefatti durevoli.** *"Accumulare (compounding)" = classi di fallimento vengono eliminate*, non solo documenti che si accumulano.
- **Mappa della memoria, asse = durabilità.** **DUREVOLE (git)**: `docs/solutions/` (i 35 learning), `CONCEPTS.md` (vocabolario/glossario, mai specifiche), `STRATEGY.md` (direzione/assi), `docs/plans/` + `brainstorms/` (il **PERCHÉ**). **EFFIMERO (derivato)**: la **cache repo-profile** (ri-derivata 1×/commit, condivisa da 9 skill, mai fonte di verità — cancellarla non fa perdere nulla). Regola: *la conoscenza che rimpiangeresti → git; ciò che è ri-derivabile → /tmp*. **I piani non vengono mai modificati dopo l'esecuzione** → spiegano comunque il *perché* mesi dopo.
- **Rilevazione: nulla spinge la conoscenza verso di te** (nessun digest, nessun "leggi il wiki"). **5 skill la tirano (pull)** al momento decisionale, tramite un protocollo condiviso **learnings-researcher**, **grep-first** (la memoria è progettata per essere *cercata* senza essere *letta*). Imbuto: 35 documenti → grep paralleli sul frontmatter → una manciata di candidati (frontmatter di ~30 righe) → lettura completa dei vincitori → **5 risultati distillati** nel contesto del chiamante.
- **Consumatori**: `/ce-plan` (i learning → vincoli e KTD), `/ce-brainstorm` (delimita l'ambito), **`/ce-code-review`** (revisore sempre attivo: verdetto **rispettato / violato** rispetto al diff reale — *"il dente più affilato"; una violazione = un finding `file:line`, non un suggerimento*), `/ce-ideate` (elimina i vicoli ciechi passati), `/ce-debug` (fa emergere cause radice note).
- **2 regole di fiducia**: (1) **L'evidenza presente vince** — se un learning contraddice il codice attuale, il conflitto viene **segnalato** invece di essere respinto (una memoria *sicura di sé ma sbagliata* è peggio di nessuna); (2) **La data è un segnale** — ogni learning porta la propria data per valutare se il mondo si è evoluto nel frattempo.
- **Refresh — "una memoria che cresce soltanto finisce per mentire."** 3 controforze a ritmi diversi: **tempo di lettura** (l'evidenza presente vince, gratuito); **tempo di scrittura** (quando si aggiunge/modifica una voce di `CONCEPTS.md`, si ispeziona il suo **coherence neighborhood** — i termini correlati citati — e si corregge la deriva *per cui esiste evidenza*; limitato, mai un audit completo su un semplice sospetto); **su richiesta** (`/ce-compound-refresh`, una scansione deliberata, **NON un follow-up predefinito**, eseguita solo in presenza di un motivo, con un **suggerimento di ambito** — `/ce-compound-refresh payments` — perché un refresh sull'intero corpus quasi mai è la spesa giusta).
- **Il ciclo completo tramite `/ce-explain`** (skill consegnata "ieri", tutto realmente accaduto): il brainstorm recupera il repo-profile dalla cache; la pianificazione fa emergere **5 learning** (3 *da applicare obbligatoriamente*: instradamento inline del menu [eredità del #714], portabilità di `$ARGUMENTS`, ancoraggio `SKILL_DIR`); l'implementazione crea il suo **test di regressione speculare**; la revisione verifica il diff rispetto a **8 learning** (tutti rispettati) e **respinge un fix proposto da un revisore** che avrebbe reintrodotto la modalità di fallimento originale (*"la memoria non si è limitata a informare il lavoro, lo ha difeso"*); il vocabolario compound (*Explainer*, *Check-in* → `CONCEPTS.md`); un residuo → **issue #1057** → futuro **learning #36**. *"Nessun passaggio ha richiesto a qualcuno di ricordarsi di consultare la memoria."*
- **Perché si accumula (metafora finanziaria)**: learning = **capitale**, ogni recupero che cambia una decisione = **pagamento di interessi**, pattern doc = **reinvestimento**. Modalità di fallimento evitate: marciume del wiki, linee guida obsolete che uccidono il nuovo lavoro, accumulo non curato, memoria invisibile, decadimento, silos (un unico `docs/solutions/` serve 9 skill).
- **Legame diretto con questo repo**: la convenzione `docs/solutions/` (frontmatter `module`/`tags`/`problem_type`) documentata nel `CLAUDE.md` del repo veille è esattamente questo sistema; le skill `compound-engineering:*` (`ce-compound`, `ce-plan`, `ce-code-review`, `ce-compound-refresh`…) sono installate qui. **Un candidato naturale per una promozione a livello aziendale** (un pattern di capitalizzazione).

## RésuméDe400mots

Questa agent guide di Thinkroom (la piattaforma di Kieran Klaassen) descrive il **Compounding Knowledge Lifecycle** del compound-engineering-plugin: il meccanismo per cui "una lezione appresa una volta continua a ripagare". Scommessa fondante del compound engineering: *ogni unità di lavoro dovrebbe rendere più facile la successiva*. Tuttavia il codice migliora il prodotto, non il processo; ciò che **si accumula (compounds)** è la **conoscenza** — a condizione che sia documentata in una forma **recuperabile nel momento esatto in cui serve**. Il vero collo di bottiglia, quindi, non è la scrittura (i postmortem "marciscono nei wiki") ma il **recupero**, reso qui **automatico** attraverso cinque skill anziché lasciato alla disciplina individuale.

L'unità è il **learning**: un file markdown, un problema risolto, sotto `docs/solutions/<category>/`, il cui **intero frontmatter serve alla ricerca** (`title`, `tags`, `module`, `problem_type`, `applies_when`, `severity`, `date`). `problem_type` si divide in **bug-track** (cosa si è rotto) e **knowledge-track** (cosa è stato deciso/scoperto) — perché "un sistema che conserva solo i bug dimentica l'essenziale". Corpus vivente: 35 learning, con skill-design in testa. Al di sopra, il **pattern doc** generalizza più learning (più leva, più rischio se diventa obsoleto).

La **cattura** avviene tramite `/ce-compound`, la cui disciplina cardine è il **tempismo** (documentare mentre il contesto è ancora fresco), con un fan-out di subagent (analyzer, extractor, dedup-check) mentre solo l'orchestratore scrive un unico documento. L'esempio canonico — l'incidente #714 che diventa un fix + un learning + un test + una dottrina — mostra che "accumulare (compounding)" significa **eliminare classi di fallimento**, non impilare documenti.

La **mappa della memoria** contrappone il durevole (git: `docs/solutions/`, `CONCEPTS.md`, `STRATEGY.md`, piani/brainstorm = il PERCHÉ) all'effimero (la cache repo-profile, ri-derivabile). La **rilevazione** non spinge nulla: cinque skill **tirano (pull)** al momento decisionale tramite il **learnings-researcher** grep-first (35 documenti → grep sul frontmatter → candidati → lettura completa → 5 risultati). `/ce-code-review` è "il dente più affilato": una violazione diventa un finding `file:line`. Due regole di fiducia lo proteggono: **l'evidenza presente vince** e **la data è un segnale**.

Infine, il **refresh** impedisce alla memoria di mentire tramite tre controforze (tempo di lettura, tempo di scrittura via *coherence neighborhood*, `/ce-compound-refresh` mirato su richiesta). Il ciclo è illustrato end-to-end dalla consegna di `/ce-explain`. Metafora finanziaria: learning = capitale, recupero = interesse, pattern doc = reinvestimento — un sistema in cui il nuovo lavoro "arriva immune agli errori passati".

## GrapheDeConnaissance

- Compound engineering —affirme_que→ "chaque unité de travail doit rendre la suivante plus facile" (AFFIRMATION, 0.95)
- Compounding Knowledge Lifecycle —est_basé_sur→ docs/solutions/ (DOCUMENT, 0.94)
- Learning —fait_partie_de→ docs/solutions/ (DOCUMENT, 0.95)
- Learning —est_basé_sur→ frontmatter conçu pour la recherche (grep-first) (CONCEPT, 0.92)
- ce:compound —permet→ Learning (CONCEPT, 0.93)
- ce:compound —utilise→ subagents (context analyzer, solution extractor, related-docs finder) (METHODOLOGIE, 0.9)
- learnings-researcher —permet→ récupération grep-first aux points de décision (5 skills) (CONCEPT, 0.93)
- /ce-code-review —utilise→ learnings pour un verdict followed/violated contre le diff (CONCEPT, 0.92)
- /ce-plan —utilise→ learnings comme contraintes et KTDs (CONCEPT, 0.9)
- Pattern doc —est_basé_sur→ plusieurs learnings généralisées (DOCUMENT, 0.9)
- repo-profile cache —est_instance_de→ connaissance éphémère re-dérivable (CONCEPT, 0.9)
- Compounding Knowledge Lifecycle —recommande→ "present evidence wins" (signaler le conflit si le code contredit) (AFFIRMATION, 0.92)
- /ce-compound-refresh —résout→ obsolescence de la mémoire (balayage scopé, non par défaut) (CONCEPT, 0.9)
- Compounding Knowledge Lifecycle —affirme_que→ "compounding = retirer des classes de défaillance, pas empiler des docs" (AFFIRMATION, 0.9)
- Compounding Knowledge Lifecycle —résout→ wiki rot (postmortems non relus) (CONCEPT, 0.9)
- Kieran Klaassen —a_créé→ Thinkroom (TECHNOLOGIE, 0.85)

---
Canonical: https://www.thekb.eu/it/fiches/klaassen-thinkroom-compounding-knowledge-lifecycle-2026-07-02/
