move: source_type: Default streichen, unclassified als sichtbares Fach, layout: fuer source (schliesst #66)
CI / verify (push) Successful in 53s
Release / release (push) Successful in 35s

Files changed:
- CHANGES.md
- VERSION
- instructions/dev/corpus-policy.md
- instructions/wiki-ingest/SKILL.md
- kb/index.md
- kb/log.md
- kb/sources/COLLECTION.md
- kb/sources/INDEX.md
- kb/sources/Source - AMD Powermanagement CPU.md
- kb/sources/Source - Arch Linux Cheat Sheet.md
- kb/sources/Source - Conversation - AGENTS.md Skill Restructuring Session 2026-08-04.md
- kb/sources/Source - Conversation - Auto Mode and Tool Choice Session 2026-08-31.md
- kb/sources/Source - Conversation - Comma Bug Budget Refund and Lint Report Path Session 2026-08-31.md
- kb/sources/Source - Conversation - ENVIRONMENT.md as an Optional Third Session-Level File Session 2026-08-31.md
- kb/sources/Source - Conversation - Gate Counting and Measured Calibration Session 2026-08-31.md
- kb/sources/Source - Conversation - Hardening the Test Suite Against Silent Environment Dependencies Session 2026-08-31.md
- kb/sources/Source - Conversation - Issue Triage Labels and TODO Retirement Session 2026-08-31.md
- kb/sources/Source - Conversation - Nightly Drift-Check Workflow and doctor's Bootstrap Gap Session 2026-08-31.md
- kb/sources/Source - Conversation - Two Round-Trip Defects Found by an Ingest Session 2026-08-31.md
- kb/sources/Source - Conversation - Versioning CI-CD and Content Migration Session 2026-08-30.md
- kb/sources/Source - Conversation - Write-Once Frontmatter Fields and touch --set Session 2026-08-31.md
- kb/sources/Source - Copilot Skill Restructure Instructions.md
- kb/sources/Source - Docker Cheatsheet.md
- kb/sources/Source - Gitea Issue 41 - Issue Management and Label Scheme 2026-09-02.md
- kb/sources/Source - Gitea Issues 62-63 - status-incoming Label Introduction 2026-09-04.md
- kb/sources/Source - LLM Improvements Codex Analysis.md
- kb/sources/Source - LLM Improvements Production Agent Gaps 2026.md
- kb/sources/Source - LLM Improvements Sonnet Analysis.md
- kb/sources/Source - LLM Wiki Pattern.md
- kb/sources/Source - LLM Wiki v2.md
- kb/sources/Source - MCP Read Server Implementation Session 2026-09-02.md
- kb/sources/Source - Private-Instance Merge Correction and Issue 30 Session 2026-09-01.md
- kb/sources/Source - Public Release, Corpus Purge and History Squash Session 2026-09-01.md
- kb/sources/Source - Publish-Remote Gate and Issue Triage Session 2026-09-01.md
- kb/sources/Source - Version Part Nomenclature and Breaking Change Gate Session 2026-09-02.md
- kb/sources/Source - Wine.md
- kb/sources/Source - qmd - GitHub Repository.md
- kb/sources/analyses/Source - Copilot Skill Restructure Instructions.md
- kb/sources/analyses/Source - LLM Improvements Codex Analysis.md
- kb/sources/analyses/Source - LLM Improvements Production Agent Gaps 2026.md
- kb/sources/analyses/Source - LLM Improvements Sonnet Analysis.md
- kb/sources/articles/Source - AMD Powermanagement CPU.md
- kb/sources/articles/Source - LLM Wiki Pattern.md
- kb/sources/articles/Source - LLM Wiki v2.md
- kb/sources/documents/Source - qmd - GitHub Repository.md
- kb/sources/notes/Source - Arch Linux Cheat Sheet.md
- kb/sources/notes/Source - Docker Cheatsheet.md
- kb/sources/notes/Source - Wine.md
- kb/sources/trackers/Source - Gitea Issue 41 - Issue Management and Label Scheme 2026-09-02.md
- kb/sources/trackers/Source - Gitea Issues 62-63 - status-incoming Label Introduction 2026-09-04.md
- kb/sources/transcripts/Source - Conversation - AGENTS.md Skill Restructuring Session 2026-08-04.md
- kb/sources/transcripts/Source - Conversation - Auto Mode and Tool Choice Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Comma Bug Budget Refund and Lint Report Path Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - ENVIRONMENT.md as an Optional Third Session-Level File Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Gate Counting and Measured Calibration Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Hardening the Test Suite Against Silent Environment Dependencies Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Issue Triage Labels and TODO Retirement Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Nightly Drift-Check Workflow and doctor's Bootstrap Gap Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Two Round-Trip Defects Found by an Ingest Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Versioning CI-CD and Content Migration Session 2026-08-30.md
- kb/sources/transcripts/Source - Conversation - Write-Once Frontmatter Fields and touch --set Session 2026-08-31.md
- kb/sources/transcripts/Source - MCP Read Server Implementation Session 2026-09-02.md
- kb/sources/transcripts/Source - Private-Instance Merge Correction and Issue 30 Session 2026-09-01.md
- kb/sources/transcripts/Source - Public Release, Corpus Purge and History Squash Session 2026-09-01.md
- kb/sources/transcripts/Source - Publish-Remote Gate and Issue Triage Session 2026-09-01.md
- kb/sources/transcripts/Source - Version Part Nomenclature and Breaking Change Gate Session 2026-09-02.md
- tools/CONTRACT.md
- tools/chemenu/lint_core.py
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/test_lint.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_provenance.py
- tools/chemenu/tests/test_touch.py
- tools/chemenu/tests/test_type_resolver.py
- tools/chemenu/tests/test_xref.py
- types/source.md
- types/source.schema.yaml
- types/type-spec.md
- work/reclassify-source-types/README.md
- work/reclassify-source-types/plan.md
This commit is contained in:
2026-09-08 20:38:15 +02:00
parent 7f74303a00
commit b138fd8e64
51 changed files with 467 additions and 96 deletions
@@ -0,0 +1,127 @@
---
type: types/source.md
source_type: transcript
author: Claude Code (claude-opus-5)
raw_files: [raw/notes/Conversation Transcript - Auto Mode and Tool Choice Session 2026-08-31.md]
source_language: en
date: 2026-08-31
tags: [claude-code, auto-mode, permissions, tool-choice, harness]
entities: [Claude Code, wikitool]
concepts: [Claude Code Auto Mode, Diff-Reviewable Agent Edits]
summary: 'Sitzung zum auto-Berechtigungsmodus von Claude Code: die vom Modus injizierte Bash-Praeferenz, ihre Korrektur zugunsten diffbarer Edits, und was zur Dokumentationslage belegt bzw. nicht belegt ist'
---
# Source: Conversation - Auto Mode and Tool Choice Session 2026-08-31
**Autor:** Claude Code (claude-opus-5)
**Datum:** 2026-08-31
**Raw-Dateien:** raw/notes/Conversation Transcript - Auto Mode and Tool Choice Session 2026-08-31.md
**Typ:** Notes
## Zusammenfassung
Das Transkript ist eine vom Assistenten am Sitzungsende rekonstruierte Zusammenfassung, kein
wörtliches Protokoll. Es ist eines von drei Transkripten derselben Sitzung; die beiden anderen
behandeln die Werkzeugkorrekturen zu den Issues #12 und #13
([[Source - Conversation - Comma Bug Budget Refund and Lint Report Path Session 2026-08-31]])
und die Issue-Triage
([[Source - Conversation - Issue Triage Labels and TODO Retirement Session 2026-08-31]]).
Gegenstand ist ausdrücklich nicht der Wiki-Stack, sondern [[Claude Code]] als Harness. Die
Sitzung erzeugte keinen Commit; ihr Ergebnis war eine dauerhaft gespeicherte Arbeitsregel und
ein lokal abgelegter Entwurf für Produkt-Feedback.
Die Quelle trägt Material aus **drei Erfassungsschichten**, und ihr Kopfblock benennt sie
selbst. Diese Unterscheidung ist der wichtigste Teil der Quelle und wird auf allen von ihr
gestützten Seiten mitgeführt:
| Schicht | Was darunter fällt | Belegwert |
|---|---|---|
| Lokal belegt | Ausgabe von `claude --help` auf Claude Code 2.1.251, Inhalt von `~/.claude/settings.json`, Existenz des `dangerouslyDisableSandbox`-Parameters am Bash-Werkzeug, Torbens wörtliche Aussagen | In der Sitzung selbst bezeugt |
| Aus zweiter Hand | Alles im Abschnitt "What the subagent found documented": ein `claude-code-guide`-Subagent hat die Claude-Code-Dokumentation durchsucht und berichtet. Niemand in der Sitzung hat diese Dokumentation selbst gelesen | Vermittler in der Kette, Treue ist Annahme |
| Ausdrücklich unbelegt | Die Vermutung, die Bash-Präferenz hänge mit der Sandbox zusammen | Zum Zeitpunkt der Äußerung als Spekulation markiert und vom Subagenten **nicht** bestätigt |
Der Anlass war eine Beschwerde über die Arbeitsweise des Assistenten. Torbens Frage wörtlich:
*"Warum verwendest du seit neuestem immer die Shell um Dateien zu editieren anstelle der file
edit Tools? Das macht die Session schwer nachvollziehbar."* Ursache war eine vom aktiven
Berechtigungsmodus in die Sitzung injizierte Anweisung, die Bash den dedizierten
Datei-Werkzeugen vorzieht:
> While auto mode is active: Do your work through the Bash tool wherever it can accomplish the
> job: read files with `cat`, `head`, or `sed -n`, search with `grep` and `find`, and make file
> changes with `sed`, heredocs, or short scripts, rather than using the dedicated Read, Edit, or
> Write tools. Fall back to a dedicated tool only when Bash genuinely cannot do the job.
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)` umgeschrieben. Die daraus
abgeleitete Regel steht auf [[Diff-Reviewable Agent Edits]], die Mechanik des Modus auf
[[Claude Code Auto Mode]].
## Kernaussagen
- **Der benannte Schaden ist die fehlende Diff.** Ein `python3 - <<'PY'`-Block mit
`s.replace(old, new)` zeigt dem Leser zwei String-Literale und keine Änderungsansicht. Was
vorher in der Datei stand und was jetzt darin steht, ist nicht sichtbar; das `Edit`-Werkzeug
zeigt genau das. Bei einem einzeiligen `sed` ist der Unterschied unerheblich, beim
Mehrblock-Umbau eines Compiler-Moduls nicht.
- **Die Auflösung stützt sich auf den Wortlaut der Anweisung selbst.** Deren Qualifikator
*"wherever it can accomplish the job"* trägt die Entscheidung: ein Edit, dessen Diff niemand
prüfen kann, erfüllt die Aufgabe nicht. Zusätzlich rangiert die ausdrückliche Anweisung des
Nutzers über einer Modus-Voreinstellung. Lesen mit `cat`/`sed -n` bleibt zulässig, Schreiben
nicht. Die daraus gewordene Arbeitsregel: `Edit`/`Write` für Dateiänderungen, Bash für `git`,
`pytest`, [[wikitool]], `grep` und `find`. Sie wurde in das dauerhafte Gedächtnis des
Assistenten geschrieben, damit sie die Sitzung überdauert.
- **`auto` ist ein Berechtigungsmodus, kein Performance-Modus** - lokal belegt aus
`claude --help` auf Version 2.1.251: einer von sechs Werten für `--permission-mode`, neben
`acceptEdits`, `bypassPermissions`, `manual`, `dontAsk` und `plan`.
- **Das Bash-Werkzeug dieser Sitzung führt einen `dangerouslyDisableSandbox`-Parameter**, ist
also standardmäßig sandboxed; das Scratchpad-Verzeichnis der Sitzung wird als ohne
Berechtigungsabfragen nutzbar beschrieben. Lokal belegt.
- **Aus zweiter Hand (`claude-code-guide`-Subagent):** `auto` lässt ein separates
Klassifikator-Modell Aktionen vor der Ausführung bewerten, statt nachzufragen. Details,
Schaltwege und die dokumentierte Falle mit `permissions.defaultMode` in einer
Projekt-Settings-Datei stehen auf [[Claude Code Auto Mode]].
- **Der belastbare Negativbefund:** die Bash-Präferenz selbst steht **nicht** in der
öffentlichen Dokumentation - weder ihr Text noch eine Begründung - und es wurde keine
Einstellung gefunden, die sie einzeln abschaltet, ohne `auto` ganz zu verlassen.
- **Die Sandbox-Erklärung blieb Vermutung.** Dass die Bash-Präferenz existiert, weil
sandboxed Shell-Arbeit der Pfad ist, den der Modus ohne Rückfrage genehmigen kann, während
`Write`/`Edit` das sind, was ein Berechtigungssystem am ehesten absichern will, wurde in der
Sitzung ausdrücklich als Spekulation gekennzeichnet und vom Subagenten nicht bestätigt.
- **Eine Korrektur im Verlauf:** die früher in der Sitzung geäußerte Behauptung, es gebe einen
`/auto`-Slash-Command, war falsch und wurde zurückgenommen.
- **Zustand dieser Instanz:** `~/.claude/settings.json` enthält nur `theme`,
`inputNeededNotifEnabled` und `agentPushNotifEnabled`, kein `permissions.defaultMode`. `auto`
war also die eingebaute Voreinstellung für Plan und Version, keine hier getroffene Wahl.
- **Empfehlung der Sitzung:** in `auto` bleiben. Der Ausstieg kostet Berechtigungsabfragen auf
allem, für ein Problem, das eine stehende Arbeitsregel bereits löst. Als Alternative wurde
`permissions.defaultMode: "acceptEdits"` in der globalen Settings-Datei genannt - genehmigt
Edits, fragt bei Shell-Kommandos nach und ist damit praktisch die Umkehrung der Beschwerde.
## Aufgaben
- [ ] Der Entwurf für Produkt-Feedback - eine injizierte Anweisung, die das sichtbare
Arbeitsverhalten ändert, sollte dokumentiert und einzeln abschaltbar sein - liegt lokal und
wartet darauf, dass Torben ihn abschickt oder verwirft.
## Nicht übernommen
- **Die konkreten heredoc-Umbauten an `lint.py`, `frontmatter_io.py` und `run_budget.py`.** Sie
gehören inhaltlich zu den Issues #12/#13 und sind auf
[[Source - Conversation - Comma Bug Budget Refund and Lint Report Path Session 2026-08-31]]
erfasst. Hier zählen sie nur als Beispiel für die Diff-Frage.
- **Die Sandbox-Hypothese als Erklärung.** Bewusst nicht auf eine Seite übernommen: sie war als
Spekulation gekennzeichnet und wurde nicht bestätigt. Übernommen wurde stattdessen der
Negativbefund, dass die Dokumentation zur Bash-Präferenz schweigt.
- **Die vollständige Aufzählung der sechs `--permission-mode`-Werte mit ihren Bedeutungen.** Nur
`auto` war Gegenstand der Sitzung; für die anderen fünf liegt außer dem Namen nichts vor, und
eine Seite, die sie erklärt, würde das erfinden.
- **Der Wortlaut des Feedback-Entwurfs.** Er ist unabgeschickter Entwurfstext, kein Befund.
## Verwandte Entities
- [[Claude Code]]
- [[wikitool]]
## Verwandte Concepts
- [[Claude Code Auto Mode]]
- [[Diff-Reviewable Agent Edits]]