Minos
De wijzigingen die je zijn voorgelegd, gescheiden van wat zonder vragen is toegepast.
Minos (Μίνως) is de koning wiens paleis het labyrint bij Knossos is, en een van de drie rechters over de doden. Het hof waarin hij zitting heeft, weegt wat een leven werkelijk deed en niet wat het daarover zegt.
Wat hij doet
Een lange sessie eindigt met een werkmap die je niet hebt zien vollopen. Bij een enkele wijziging heeft Claude Code eerst gevraagd of het mocht. De meeste zijn zonder die vraag doorgevoerd, omdat de sessie in acceptEdits liep, en een flink deel binnen een subagent, waarvan de diff nooit in je terminal verscheen.
Minos leest de transcripten die Claude Code toch al wegschrijft en deelt elke wijziging in bij een van die drie klassen. Hij rapporteert ook het werk dat de sessie niet heeft overleefd: een wijziging van 19:02 die om 19:41 door een latere beurt over een ander onderwerp is overschreven, komt in de uiteindelijke diff niet voor, want die toont alleen de laatste stand.
Tijden staan in de tijdzone waarin Minos draait en niet in de UTC van het transcript, en een +1d markeert een tijdstip dat op de kalenderdag na de start van de sessie valt.
Wat hij je niet vertelt
Minos rapporteert of Claude Code een wijziging als beslissing aan je heeft voorgelegd. Of je hem gelezen hebt, weet hij niet, want niets op je machine legt dat vast. Een wijziging die je in een halve seconde goedkeurde, telt dus mee als voorgelegd.
Voor zichzelf is hij even streng. Het label decided leidt hij af uit de permissiemodus en nooit uit een vastgelegde goedkeuring, dus een staande allow-regel kan betekenen dat een beurt in default je niets heeft laten zien. Het rapport zet dat er zelf bij, en noemt de allow-regels die golden op het moment dat je het opvroeg.
Die grens weegt zwaarder dan elke functie eronder. Een tool die suggereert dat hij weet of je echt gekeken hebt, is minder waard dan een tool die minder belooft en hardop zegt waar zijn kennis ophoudt.
De drie klassen
| Klasse | Wat het betekent |
|---|---|
decided | De prompt waar deze wijziging uit voortkomt, is ingediend in default- of plan-modus, dus Claude Code zou hebben gestopt om het te vragen. Afgelezen aan de modus, nooit aan een goedkeuring |
auto | Ingediend onder acceptEdits, bypassPermissions of auto, de modus waarin de meeste echte wijzigingen ontstaan. Een modus die Minos niet kent, of die het transcript niet heeft vastgelegd, telt hier ook mee, en wordt niet in jouw voordeel geraden |
subagent | Toegepast binnen een subagent. Er is in geen enkele vorm een diff in je terminal verschenen |
subagent gaat voor de andere twee, want zelfs in default-modus worden de wijzigingen van een subagent nooit aan je getoond. Geen wijziging wordt dubbel geteld. Een bestand dat onder meer dan één klasse veranderde, telt onder elk van die klassen mee, dus die drie bestandstellingen overlappen met opzet, en het rapport herhaalt dat waar het ze afdrukt.
Wat hij überhaupt kan zien, is wat het transcript bevat: de tools Edit, Write en NotebookEdit. Een bestand dat door een shell-commando, door MultiEdit of door een eigen MCP-server is herschreven, levert niets op wat hij kan lezen, en komt in geen enkele telling voor.
De wijzigingen die het niet hebben gehaald
Drie vormen, elk bij naam gerapporteerd. Overwritten: wat een eerdere operatie toevoegde, is na een latere operatie verdwenen. Reverted: een latere bewerking is exact de inverse van de eerdere en zet terug wat daar eerst stond. Discarded: een latere Write over het hele bestand bevat niet meer wat een eerdere operatie had toegevoegd.
Elk daarvan noemt beide tijdstippen, en voor zover het transcript dat toelaat de prompt aan weerszijden, zodat je leest dat wat je in prompt 4 vroeg prompt 9 niet heeft overleefd. Een wijziging die niet naar een prompt te herleiden is, krijgt (unattributed) in plaats van een gok, en bij operaties uit een subagent gebeurt dat vaak.
De detectie werkt op de tekst van de wijzigingen zelf, dus lees het als een sterke aanwijzing, geen bewijs. Een bestand waarvan de eindstand niet te reconstrueren is, kan een melding opleveren die niet standhoudt, en tekst die elders in het bestand opnieuw opduikt, kan een echte melding juist verbergen.
minos file geeft je de hele geschiedenis van één bestand binnen die sessie.
Aan de slag
In Claude Code installeer je de plugin en vraag je het rapport op met /minos:
claude plugin marketplace add https://aranea-development.nl/plugins/marketplace.json
claude plugin install minos@araneaOp de commandoregel is het dezelfde tool, zonder de harness eromheen. Minos is pre-release en staat nog niet op npm, dus je installeert hem uit de repository, en je hebt Bun 1.1 of nieuwer nodig:
bun install -g github:AraneaDev/minos
minos reportEr hoeft niets geïnstalleerd te zijn vóór de sessie die je wilt lezen. Minos werkt op de transcripten zoals ze er nu staan, en geeft dus ook antwoord voor sessies van weken geleden, zolang Claude Code die transcripten nog op schijf bewaart.
De commando's
minos report the default; the latest session for this directory
minos file <path> one file's operation history in that session
minos undone the changes that did not survive, on their own
minos sessions sessions with headline counts, to pick one
minos export the ledger as data, JSONreport, file, undone en export nemen elk --session <id> en --project <path>. sessions neemt --project en --limit <n>.
minos sessions is waar je begint als de sessie die je zoekt niet je laatste is.
Wat hij niet doet
- Hij geeft geen oordeel over de code die hij rapporteert. Dat doen Momus, Chaos en Knossos.
- Hij raakt git niet aan. Er wordt niets klaargezet, niets gecommit en niets teruggedraaid.
- Hij schrijft niets onder
~/.claudeen niets in je werkmap. Hij leest de transcripten, en de allow-regels in jesettings.json, zodat hij kan noemen welke daarvan een beurt indefaultiets laten toepassen zonder het te tonen, en verder niets. - Hij doet geen enkel netwerkverzoek, draait geen daemon en verstuurt geen telemetrie.
Bij geen enkele beurt draait er een hook, en tijdens je werk wordt er niets vastgelegd. Elk getal in het rapport wordt teruggelezen uit bestanden die Claude Code toch al had geschreven.
Wat je nodig hebt
Bun 1.1 of nieuwer, en een transcriptmap van Claude Code op ~/.claude/projects, of waar CLAUDE_CONFIG_DIR naar wijst.