--- id: DIS-004 status: backlog phase: 0 priority: p0 labels: [phase:0, type:feat, priority:p0, security] branch: phase-0/bare-and-append-identity assignee: null started: null pr: null merged: null --- # DIS-004: Runner mit `--bare` + `--append-system-prompt-file` aufrufen ## Ziel Jeder CLI-Call verwendet `--bare` (skippt CLAUDE.md-Walk-Up, Hooks, Auto-Memory, MCP) und injiziert die Agenten-Identität explizit über `--append-system-prompt-file /CLAUDE.md`. Parent-CLAUDE.md-Leaks werden strukturell unmöglich. ## Kontext Claude Code walkt ohne `--bare` alle Parent-Dirs hoch und konkateniert CLAUDE.md-Dateien. → `docs/development-plan.md` §2.9, `docs/cli-feature-answers.md` Frage 8. ## Scope - **In**: `runner.ts` Args-Builder immer `--bare` + `--append-system-prompt-file /CLAUDE.md` · Integration-Test mit `tests/fixtures/fake-claude.mjs` der System-Prompt als JSON echoed - **Out**: `--resume`-Flag (Phase 2) · Streaming-Flags (Phase 5) ## Definition of Done - [ ] Args enthalten `["--bare", "--append-system-prompt-file", "/CLAUDE.md"]` - [ ] Integration-Test `tests/integration/no-parent-claude-md-leak.test.ts` verifiziert: nur Workspace-CLAUDE.md im System-Prompt, keine Parent-Leaks - [ ] Dokumentations-Kommentar im Runner warum `--bare` zwingend ist - [ ] `npm run build && npm test` grün ## Dateien (erwartet) - `src/agent/runner.ts` - `tests/fixtures/fake-claude.mjs` - `tests/integration/no-parent-claude-md-leak.test.ts` ## Abhängigkeiten Blockiert durch: **DIS-002** (sauberes Spawn-Setup muss vorher stehen). ## Spec → `docs/backlog.md` #DIS-004