Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,11 @@ der Skill `projecta-workflow` ist die Checkliste dazu). Ältere Betriebs-Gotchas

- **Repo-Einstellungen:** `.claude/settings.json` erlaubt lesende
git-/cargo-Befehle sowie `cargo build`/`npm run build`/`npm install`, sperrt das Lesen von
`target/`, `target-red-first-*/` und `node_modules/` (überall im Baum) sowie `.pa/archiv/` (Deny, Nutzer-Freigabe 05.10.) und hängt zwei Hooks ein: `SessionStart` →
`target/`, `target-red-first-*/` und `node_modules/` (überall im Baum) sowie `.pa/archiv/` (Deny, Nutzer-Freigabe 05.10.) und hängt vier Hooks ein: `SessionStart` →
`scripts/install-hooks.sh`, `PostToolUse` (Write/Edit) →
`.claude/hooks/red-first.sh` (Warnung, kein Blocker). Vorschlag für weitere
`.claude/hooks/red-first.sh` (Warnung, kein Blocker), `PreToolUse` (Bash) →
`scripts/lib/rules-guard.mjs` und `PreToolUse` (Write/Edit) →
`scripts/lib/seam-guard.mjs` (beide blockieren, Details in `docs/setup/claude-code.md`). Vorschlag für weitere
Allow-/Deny-Regeln: [`docs/setup/permissions-proposal.md`](docs/setup/permissions-proposal.md)
— der Nutzer entscheidet und trägt ein, kein Agent.
- **MCP-Server und Plugins:** Der Start lädt MCP-Server, Plugins und Skills.
Expand Down
14 changes: 7 additions & 7 deletions docs/PLAN.md

Large diffs are not rendered by default.

26 changes: 15 additions & 11 deletions docs/development/WORKFLOW.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,8 @@ Seit 25.09.2026 gestuft (AGENTS.md, Regel 5): Stufe A (Nahtstelle, Sicherheit,
Nebenläufigkeit, PTY, Datenbank) zwei Reviewer anderer Anbieter, Stufe B
(übriger Rust-/TS-Code) einer, Stufe C (Doku, Tests, Snapshots, Konfiguration
ohne Laufzeitwirkung) keiner; höchstens zwei Runden, danach entscheidet der
Nutzer. Hintergrund (Prüfung C, 25.09.): alle zehn nachgewiesenen echten
Koordinator (Root) über Merge, Aufteilen oder Verwerfen; der Nutzer wird
informiert (AGENTS.md, Regel 5). Hintergrund (Prüfung C, 25.09.): alle zehn nachgewiesenen echten
Review-Treffer lagen in Stufe-A-Code; F4 lief 27 Runden. Annahme oder Ablehnung
jedes Befunds steht mit Begründung im PR-Text. Eine zweite Meinung, die nie
widerspricht, ist keine Prüfung.
Expand Down Expand Up @@ -256,7 +257,7 @@ der Fehler fällt vor dem Push auf statt danach. Der produktive Bundle-Build
existiert weiterhin nur im Release-Workflow (`v*`-Tags).

**Jeder Lauf endet mit einem Block „NICHT ABGEDECKT".** Er gehört in den
PR-Text bzw. `.pa/ACTIVITY.md`: die `#[cfg(unix)]`-Tests (Dateirechte,
PR-Text (auf Branches landen Notizen in `.pa/ACTIVITY.local.md`): die `#[cfg(unix)]`-Tests (Dateirechte,
Prozessgruppen-Kill) kompilieren unter Windows nicht, die
`#[cfg(windows)]`-Tests nicht unter Linux (`KNOWN_ISSUES` KI-7) — **kein
einzelner Rechner deckt beide Hälften ab.** Die Linux-Hälfte kommt aus WSL2
Expand Down Expand Up @@ -475,11 +476,12 @@ auf. Was für diese Umgebung belegt gilt:

## Ressourcen-Nutzung (RAM sparen)

ProjectA und OmniRoute (lokaler Daemon auf `:<omniroute-port>`,
`scripts/omniroute-serve.cmd`) dürfen jederzeit benutzt werden — ihre Nutzung
ist sogar **bevorzugt**, um auf der lokalen Maschine RAM zu sparen:
Auslagerbare Arbeit (Agenten-Läufe, Routing) läuft bevorzugt über OmniRoute
statt in zusätzlichen lokalen Prozessen.
OmniRoute (lokaler Daemon auf `:<omniroute-port>`,
`scripts/omniroute-serve.cmd`) darf benutzt werden, um auf der lokalen Maschine
RAM zu sparen: Auslagerbare Arbeit (Agenten-Läufe, Routing) kann über
OmniRoute statt in zusätzlichen lokalen Prozessen laufen. Die Desktop-App
startet man nicht, nur um sie anzusehen: ihre Queue kann sofort echte Worker
starten (AGENTS.md, „Start with current evidence").

---

Expand All @@ -498,7 +500,7 @@ bash scripts/sync.sh start
Das Briefing zeigt Branch, `git status`, alle Worktrees, die letzten Commits
über alle Branches und die letzten Journal-Einträge. Ohne Script (manuell):
`STAND.md` und `docs/PLAN.md` lesen, `git status --short`,
`git log --all --oneline -12`, `git worktree list`, Ende von `.pa/ACTIVITY.md`.
`git log --all --oneline -12`, `git worktree list`, Ende von `.pa/ACTIVITY.md` (auf Branches `.pa/ACTIVITY.local.md`).
`STATUS.md` endet bei v1.4.0 und ist nur noch Chronik.

### Während der Arbeit
Expand All @@ -510,7 +512,7 @@ Das Briefing zeigt Branch, `git status`, alle Worktrees, die letzten Commits
`.pa/archiv/`.
- Keine Laufzeit-Artefakte im Repo-Root; was nicht ins Repo gehört, kommt in die
`.gitignore`.
- Vor größeren Eingriffen `git status` + `.pa/ACTIVITY.md` prüfen, ob eine
- Vor größeren Eingriffen `git status` + `.pa/ACTIVITY.md` prüfen (auf Branches auch `.pa/ACTIVITY.local.md`), ob eine
andere Instanz gerade im selben Bereich arbeitet.

### Session-Ende
Expand All @@ -519,7 +521,9 @@ Das Briefing zeigt Branch, `git status`, alle Worktrees, die letzten Commits
bash scripts/sync.sh note "<instanz>" "<zusammenfassung>" [commits]
```

Der Eintrag landet append-only in `.pa/ACTIVITY.md`; Zeitstempel, Branch und
Der Eintrag landet append-only in `.pa/ACTIVITY.md` (auf Branches in der
untrackten `.pa/ACTIVITY.local.md`, die Zusammenfassung steht dann im PR-Text;
AGENTS.md, „Checks"); Zeitstempel, Branch und
Uncommitted-Liste ermittelt das Script selbst aus git. Nie uncommittete
Änderungen ohne Eintrag mit Begründung hinterlassen; Zwischenstände werden
ohnehin sofort gepusht (AGENTS.md, Regel 4). `STAND.md` und die Stand-Spalte in
Expand All @@ -540,7 +544,7 @@ ersetzt die manuelle Zusammenfassung nicht.
| `AGENTS.md` | die Regeln für alle Anbieter (zehn Kernregeln oben) |
| `docs/development/WORKFLOW.md` | **diese Datei** — Nachschlagewerk ohne eigene Regeln |
| `STAND.md` | kurz: wo wir stehen, nächster Griff, aktive Specs |
| `docs/PLAN.md` | der einzige Plan: Meilensteine M1–M4, Gestrichenes/Geparktes, Entscheidungs-Inbox; alte Fassungen unter `.pa/archiv/` und `docs/archive/plaene-2026-09/` |
| `docs/PLAN.md` | der einzige Plan: Ziele Z1–Z4 (M1–M5 sind Historie), Gestrichenes/Geparktes, Entscheidungs-Inbox; alte Fassungen unter `.pa/archiv/` |
| `docs/MASTERPLAN.md` | nur ein Verweis auf `docs/PLAN.md` |
| `docs/ERLEDIGT.md` | erledigte Pakete mit PR und Merge-SHA |
| `README.md` | Feature-Referenz (Profile, Routing, Ledger, IPC-Contract, `pa`) |
Expand Down
4 changes: 3 additions & 1 deletion docs/setup/claude-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,16 @@ Zurück zur Übersicht: [README.md](README.md).
- **`CLAUDE.md`** — eine eigene Zeile `@AGENTS.md` (hier die erste). Ohne diesen Import lädt Claude
Code `AGENTS.md` **nicht**; `npm run dev:agent-check` prüft die Zeile.
- **`.claude/settings.json`** — Allow-Liste nur für lesende git-, cargo- und
npm-Befehle; drei Hooks:
npm-Befehle; vier Hooks:
- `SessionStart` → `bash scripts/install-hooks.sh` (setzt `core.hooksPath`)
- `PostToolUse` (Write|Edit) → `bash .claude/hooks/red-first.sh` — warnt, wenn
Quellcode ohne Test-Diff geändert wurde; blockiert nicht.
- `PreToolUse` (Bash|PowerShell) → `node scripts/lib/rules-guard.mjs` — blockiert (Exit 2) `--no-verify`
bei git commit/push/merge, `git stash` außer `list`/`show`, `CARGO_PROFILE_*=`, erzwungenes `git push`
und `gates.sh | tail|head` ohne `PIPESTATUS`/`pipefail`. Die Meldung `BLOCKED: …` nennt die Regelquelle
(AGENTS.md/CLAUDE.md): Befehl ohne das Muster neu aufrufen. Nur Claude Code; Guard-Fehler lassen durch.
- `PreToolUse` (Write|Edit|MultiEdit|NotebookEdit) → `node scripts/lib/seam-guard.mjs` — verweigert Schreibzugriffe
auf die vier Nahtstellen (AGENTS.md, Regel 6), außer `PA_SEAM_ALLOW` nennt den Pfad.
- **`.claude/skills/projecta-workflow/SKILL.md`** — Kopie von
`.agents/skills/projecta-workflow/SKILL.md`; nur die `.agents`-Fassung
bearbeiten, dann kopieren.
Expand Down
13 changes: 7 additions & 6 deletions docs/setup/mergify.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,8 @@ für den Alltag. Zurück zur Übersicht: [README.md](README.md).
Setzen/Entfernen: `gh pr edit <n> --add-label do-not-merge`,
`gh pr edit <n> --remove-label do-not-merge`.

> **Stand 24.09.2026:** Die Labels `do-not-merge` und `priority` sind im Repo
> noch **nicht angelegt** (`gh label list`); `gh pr edit --add-label`
> scheitert dann. Einmalig anlegen (Nutzer oder Koordinator):
> `gh label create do-not-merge` und `gh label create priority`.
> **Stand 14.10.2026:** Die Labels `do-not-merge`, `priority` und `review-ok`
> sind im Repo angelegt (`gh label list`).

## Berichtsschutz

Expand Down Expand Up @@ -123,8 +121,11 @@ generierten Snapshots zurück:

Regelfall: `main` wird über die Queue gemergt. **Notfall-Ausnahme**
(Nutzerentscheidung 24.09.2026): Hängt die Queue oder fällt Mergify aus, darf
der Koordinator fertige PRs weiter von Hand mergen (`gh pr merge --merge`,
Merge-Commit wie die Queue). Sonst mergt niemand von Hand. Die Ausnahme
der Koordinator fertige PRs weiter von Hand mergen
(`gh pr merge --merge --match-head-commit <sha>`, gebunden an den Kopf-SHA mit
grünen Checks; vorher den `ci`-Workflow per Handstart auf dem Branch laufen
lassen, weil die Windows-Bahn auf PRs ein Stub ist; AGENTS.md, „Merging").
Sonst mergt niemand von Hand. Die Ausnahme
kommt mit SETUP-04 auch in `AGENTS.md` („Merging"). Ob `gh pr merge` für alle
übrigen Claude-Sitzungen per Deny-Regel gesperrt wird, entscheidet der Nutzer:
siehe [permissions-proposal.md](permissions-proposal.md).
Expand Down
118 changes: 0 additions & 118 deletions scripts/f6-suite.ps1

This file was deleted.

76 changes: 0 additions & 76 deletions scripts/smoke-verdict-token.mjs

This file was deleted.

25 changes: 0 additions & 25 deletions scripts/window-watch.ps1

This file was deleted.

Loading