Vault-structuur en debugging
Organiseer een markdown-vault als doorzoekbaar tweede geheugen. Triage de vier storingsmodi wanneer Claude iets onverwachts doet.
STATE.md en MEMORY.md bevatten wat elke sessie nodig heeft. Een markdown-vault (Obsidian of een willekeurige map) bevat al het andere: strategienotities, vergaderverslagen, projectjournaals, onderzoek, concurrentieanalyse.
De vault groeit uit tot institutioneel geheugen: beslissingen die je zes maanden geleden hebt genomen en waarom, referentiematerialen die het huidige werk informeren, patronen die projecten overspannen. Verbind het via een Obsidian- of bestandssysteem-MCP en Claude kan het geheel op aanvraag doorzoeken. Zonder de vault bestaat deze kennis alleen in je hoofd of is deze begraven in oude documenten.
Waarom markdown beter is dan een database: platte bestanden zijn doorzoekbaar, versiebeheer met git, openen in elke editor en overleven elke toolwijziging. Een werkende structuur:
~/notes/
├── STATE.md # Altijd geladen
├── MEMORY.md # Index, altijd geladen
├── STRATEGY-DIGEST.md # Samenvattingen van strategiedocumenten
├── strategy/ # Volledige documenten, op aanvraag gelezen
├── projects/ # Gedateerde projectnotities
├── resources/
└── reference/De schaalsleutel is het digest-patroon: wanneer je een strategiedocument van 1.000 woorden schrijft, schrijf dan een samenvatting van 3 zinnen ernaast en indexeer de samenvatting in MEMORY.md. Claude leest ongeveer 50 tokens bij het begin van de sessie in plaats van de ongeveer 1.500 van het volledige document. Bij 25 strategiedocumenten is dat 1.250 tokens versus 37.500, en sessies blijven snel.
Wanneer Claude iets onverwachts doet, controleer dan vier storingsmodi in volgorde, van meest naar minst voorkomend:
Verouderd geheugen: STATE.md zegt het één, de realiteit zegt het ander. Claude volgde je instructies perfect; de instructies waren verkeerd. Vraag eerst, elke keer: "Laat me je STATE.md zien".
Ontbrekende context: het relevante bestand is nooit geladen, dus Claude heeft een redelijke gok gedaan. Laad het bestand expliciet en vraag opnieuw.
Tool niet beschikbaar: een MCP is uitgevallen of een hook heeft een commando geblokkeerd, en Claude heeft er slecht omheen gewerkt. Controleer de beschikbaarheid van de tool voordat je de redenering de schuld geeft.
Hallucinatie: de zeldzaamste oorzaak. Controleer eerst: grep naar de functie, controleer of het endpoint bestaat. De meeste "hallucinaties" blijken een van de eerste drie te zijn.
Eén diagnostische vraag per storingsmodus:
Verouderd geheugen: "Wat zegt je STATE.md over [onderwerp]?" Inhoud van drie sessies geleden betekent een verouderde status.
Ontbrekende context: "Welke bestanden heb je geladen over [onderwerp]?" Geen relevante bestanden betekent het juiste bestand laden.
Tool niet beschikbaar: "Welke tools heb je nu beschikbaar?"
Hallucinatie: "Grep naar [functie/endpoint] en laat me zien wat je vindt."
De reeks duurt twee minuten en vindt de oorzaak bijna elke keer. Direct naar "Claude hallucineerde" springen vertraagt meestal de echte oplossing door code te herschrijven die niet herschreven hoefde te worden.
Preventie is beter dan debugging. De gewoonten:
STATE.md-update aan het einde van de sessie. Elimineert 80% van de problemen met verouderd geheugen.
Gearchiveerde projecten in gedateerde project_* bestanden.
Maandelijkse MEMORY.md-audit: bevestig dat elke verwijzing nog steeds naar een bestaand bestand verwijst.
Maak een samenvatting van elk document van meer dan 500 woorden.
Schrijf beslissingen op het moment van beslissing, niet aan het einde van de week. Retroactieve vastlegging verliest de redenering.
Voordat projectnotities worden gearchiveerd, extraheer de duurzame lessen in feedback_*-items. Het project wordt geschiedenis; de lessen blijven actief.
Een vault met 10 goed onderhouden documenten is beter dan één met 200 verouderde documenten. Kwaliteit en actualiteit zijn belangrijker dan volume.
Met een Obsidian- of bestandssysteem-MCP wordt de vault een live kennisbank:
Beslissingsarcheologie: "Doorzoek de vault waarom we Postgres boven MySQL hebben gekozen." Een handmatige zoektocht van 10 minuten wordt 15 seconden.
Patroonherkenning: "Vind alle vermeldingen van problemen met snelheidsbeperking of 429-fouten in projecten." Claude brengt een gemeenschappelijke hoofdoorzaak aan het licht die verspreid is over vijf projectbestanden.
Referentie-opzoeking: "Vind de contactgegevens in de leveranciersnotities." Onmiddellijke opvraging uit niet-geïndexeerde bestanden.
De zoekkwaliteit hangt af van de naamgevingsconsistentie: project_[naam]_[datum].md en feedback_[regel].md zijn beter dan wat op dat moment natuurlijk aanvoelde. Naamgevingsconventies zijn de index die je bouwt voordat je hem nodig hebt.
Alle vier de modi zijn schoon en de uitvoer is nog steeds verkeerd? Twee oorzaken lijken op hallucinatie, maar zijn dat niet.
Contextvolgorde: wanneer geladen bestanden conflicteren, wint later geladen inhoud meestal. Als oude projectnotities STATE.md tegenspreken, wijs dan expliciet autoriteit toe: "STATE.md is de huidige grondwaarheid. Het vervangt alles in projectnotities."
Beperkingsconflicten: CLAUDE.md zegt "parameteriseer alle SQL", dus Claude herschrijft SQL tijdens wat jij bedoelde als een refactor die alleen op stijl gericht was. Geen bug; beperk het expliciet: "Alleen stijl, verander de SQL-patronen niet."
De diagnose voor beide: "Welke instructies volg je die deze beslissing bepalen? Geef de regels in volgorde van prioriteit." Je zult een verouderde bron, een conflicterende regel of een CLAUDE.md-hiaat vinden. Allemaal oplosbaar.
Een markdown-kluis met digest-bestanden schaalt je tweede geheugen; digests houden sessies snel, volledige documenten laden op aanvraag. Als Claude zich misdraagt, triage dan in volgorde: verouderd geheugen, ontbrekende context, tool niet beschikbaar, hallucinatie, en begin altijd met "toon me je STATE.md." Voed de kluis op het moment van beslissing en de waarde ervan neemt elke week toe.