44 lines
1.6 KiB
Markdown
44 lines
1.6 KiB
Markdown
---
|
|
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 <workspace>/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 <ws>/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", "<ws>/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
|