Files
chemenu/kb/concepts/Diff-Reviewable Agent Edits.md
T
torben 18ae28f918
CI / verify (push) Failing after 32s
Release / release (push) Successful in 38s
Chemenu 2.1.0 - deterministischer Wissenskompiler
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki:
raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht
tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren
Grenzen in Code durchgesetzt sind statt im Prompt.

Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige
Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses
Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44
Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist.

Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den
Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er
dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs.

Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte.
Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet -
siehe NOTICE.
2026-09-01 16:26:14 +02:00

4.0 KiB

type, concept_type, tags, created, modified, related, sources, confidence, confidence_base, provenance, summary
type concept_type tags created modified related sources confidence confidence_base provenance summary
types/concept.md decision
agent-workflow
context-engineering
tooling
2026-08-31 2026-08-31
Claude Code Auto Mode
Claude Code
Write-Once Frontmatter Fields
Source - Conversation - Auto Mode and Tool Choice Session 2026-08-31
0.70 0.70 sourced Entscheidung, Dateiaenderungen ueber Edit/Write statt ueber Shell-Heredocs zu fahren, weil nur das erste eine pruefbare Diff hinterlaesst

Diff-Reviewable Agent Edits

Typ: Decision

Definition

Ein Agent ändert Dateien über die dedizierten Werkzeuge Edit und Write, nicht über Shell-Konstrukte wie sed -i, Heredocs oder eingebettete Skripte. Die Shell bleibt für alles zuständig, was keine Datei umschreibt: git, pytest, wikitool, grep, find, und Lesen mit cat oder sed -n.

Kontext

Der aktive Berechtigungsmodus Claude Code Auto Mode injiziert eine Anweisung in die Sitzung, die genau das Gegenteil verlangt: Arbeit möglichst über das Bash-Werkzeug erledigen und auf ein dediziertes Werkzeug erst zurückfallen, wenn Bash die Aufgabe nicht bewältigt. Der Assistent war ihr gefolgt und hatte lint.py, frontmatter_io.py und run_budget.py über heredoc'te python3 - <<'PY'-Blöcke mit s.replace(old, new) umgeschrieben1 . Torben hat das abgestellt: "Warum verwendest du seit neuestem immer die Shell um Dateien zu editieren anstelle der file edit Tools? Das macht die Session schwer nachvollziehbar."

Entscheidung

Edit/Write für Dateiänderungen, Bash für Prozesse. Die Regel wurde in das dauerhafte Gedächtnis des Assistenten geschrieben, damit sie die Sitzung überdauert1 .

Zwei Gründe tragen sie, und der zweite ist der belastbarere:

  1. Die ausdrückliche Anweisung des Nutzers rangiert über einer Modus-Voreinstellung.
  2. Die Anweisung des Modus schlägt sich selbst. Ihr Qualifikator lautet "wherever it can accomplish the job". Ein s.replace(old, new) in einem Heredoc zeigt dem Leser zwei String-Literale und keine Änderungsansicht: was vorher in der Datei stand und was jetzt darin steht, ist nicht sichtbar. Ein Edit, dessen Diff niemand prüfen kann, erfüllt die Aufgabe nicht - also greift der Vorrang der Shell an dieser Stelle gar nicht erst.

Konsequenzen

  • Die Grenze verläuft zwischen Lesen und Schreiben, nicht zwischen Shell und Werkzeug. cat, head, sed -n, grep und find bleiben unverändert zulässig.
  • Sie verläuft nicht bei jeder Änderung gleich scharf: bei einem einzeiligen sed ist der Unterschied unerheblich, beim Mehrblock-Umbau eines Compiler-Moduls nicht. Die Regel wird trotzdem einheitlich angewandt, weil die Einschätzung "das ist klein genug" genau die ist, die im Zweifelsfall zugunsten der Bequemlichkeit ausfällt.
  • Der Modus lässt sich nicht so einstellen, dass nur diese Präferenz entfällt; es wurde keine solche Einstellung gefunden1 . Die Regel muss also als Verhaltensregel getragen werden, nicht als Konfiguration.
  • In diesem Repository fällt die Entscheidung mit den Interessen des Stacks zusammen: was wikitool erzeugt, wird ohnehin nie von Hand geschrieben, und was von Hand geschrieben wird, soll im Publish-Diff nachlesbar sein.

Status

Angenommen (2026-08-31), auf Anweisung des Nutzers, für Sitzungen an diesem Repository.

Verwandte Concepts

Beziehungen

Siehe auch

Fußnoten