upd
This commit is contained in:
parent
edb0cf8a37
commit
0696c40ba5
|
|
@ -2,3 +2,29 @@
|
|||
|
||||
<!-- Neue Einträge oben einfügen. Bestehende Einträge nie editieren. -->
|
||||
<!-- Vorlage: docs/templates/decisions-log-entry.md -->
|
||||
|
||||
---
|
||||
|
||||
## 2026-03-25 — task.md: Arbeitspakete und DoD getrennt
|
||||
|
||||
**Phase / Session:** Framework-Ebene (phasenübergreifend)
|
||||
**Typ:** [x] Prozess
|
||||
|
||||
**Kontext**
|
||||
Beim produktiven Einsatz in Phase 3 enthielt task.md nur eine flache DoD-Liste. Der Batch-Orchestrator konnte keine dispatchbaren Arbeitsgruppen erkennen und musste den User fragen, bevor Arbeitspakete nachträglich ergänzt wurden.
|
||||
|
||||
**Entscheidung**
|
||||
1. Neues Template `docs/templates/task.md` eingeführt mit zwei getrennten Sektionen: "Arbeitspakete" (###-Gruppen für Parallelisierung) und "Ergebnisse (Definition of Done)" (nummerierte Prüfkriterien).
|
||||
2. Arbeitspakete verweisen per `→ DoD: #N` auf DoD-Einträge. DoD-Einträge ohne Arbeitspaket werden als Querschnitt gekennzeichnet.
|
||||
3. `rules/batch-orchestration.md` um "Task Structure Requirement" ergänzt: Fehlt die Arbeitspakete-Sektion, stoppt der Orchestrator und fragt den User.
|
||||
|
||||
**Verworfene Alternativen**
|
||||
- DoD automatisch aus Arbeitspaketen ableiten — verworfen weil: Granularität divergiert (ein Arbeitspaket → mehrere DoD-Einträge), Querschnitts-Artefakte haben kein eigenes Paket, DoD kann qualitative Kriterien enthalten die über die reine Existenz hinausgehen.
|
||||
|
||||
**Konsequenzen**
|
||||
- Bestehende task.md-Dateien (Phase 1–4) sollten bei Gelegenheit an das neue Template angeglichen werden.
|
||||
- Der Orchestrator validiert jetzt die task.md-Struktur vor dem Dispatching.
|
||||
- `(context: ...)` pro Arbeitspaket macht Subagent-Inputs explizit statt implizit.
|
||||
|
||||
**Offen / Revisierbar?**
|
||||
[x] Revisierbar wenn: sich zeigt, dass die DoD-Verweise zu viel Overhead erzeugen
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
# Phase N — [Phasenname]
|
||||
|
||||
## Ziel
|
||||
[1-2 Sätze: Was soll am Ende dieser Phase erreicht sein?]
|
||||
|
||||
## Arbeitspakete
|
||||
<!-- Jede ###-Gruppe = Parallelisierungsgruppe (Tasks laufen parallel). -->
|
||||
<!-- Gruppen sind sequentiell: Gruppe N+1 startet erst nach Gruppe N. -->
|
||||
<!-- (context: ...) gibt an, welche Dateien der Subagent als Input braucht. -->
|
||||
|
||||
### Gruppe 1 — [Name]
|
||||
- [ ] output-file-a.md — [Beschreibung] (context: input1.md, input2.md) → DoD: #1, #2
|
||||
- [ ] output-file-b.md — [Beschreibung] (context: input1.md) → DoD: #3
|
||||
|
||||
### Gruppe 2 — [Name]
|
||||
- [ ] output-file-c.md — [Beschreibung] (context: output-file-a.md) → DoD: #4
|
||||
|
||||
## Ergebnisse (Definition of Done)
|
||||
<!-- Nummerierte Liste — Arbeitspakete verweisen per #N auf diese Einträge. -->
|
||||
<!-- DoD-Einträge ohne zugeordnetes Arbeitspaket kennzeichnen (Querschnitt). -->
|
||||
1. [ ] output-file-a.md — [Prüfkriterium]
|
||||
2. [ ] output-file-b.md — [Prüfkriterium]
|
||||
3. [ ] output-file-c.md — [Prüfkriterium]
|
||||
4. [ ] output-file-d.md — [Querschnitt, kein eigenes Arbeitspaket]
|
||||
|
||||
## Nicht in Scope
|
||||
- [Was bewusst ausgeklammert wird]
|
||||
|
|
@ -14,11 +14,17 @@
|
|||
- Subagents never write to task.md, status.md, decisions-log.md, or CLAUDE.md
|
||||
- Each subagent returns a 2-3 sentence summary as its return value
|
||||
|
||||
## Task Structure Requirement
|
||||
- Every task.md must contain an "Arbeitspakete" section with ###-grouped checkboxes, separate from the DoD section (see docs/templates/task.md)
|
||||
- Work items reference DoD entries via `→ DoD: #N` — DoD entries without a matching work item are flagged as cross-cutting at checkpoints
|
||||
- If a task.md only has a flat DoD list without an Arbeitspakete section: hard stop, ask the user to add work groups before dispatching
|
||||
|
||||
## Task Parsing
|
||||
- The orchestrator parses the first section in task.md that contains ### sub-headings with - [ ] checkboxes (the work section)
|
||||
- The orchestrator parses the "Arbeitspakete" section — ###-grouped checkboxes are the work section
|
||||
- Flat checkbox lists without sub-headings are treated as Definition of Done and ignored for dispatching
|
||||
- Tasks under the same ### heading form a parallelization group (can run concurrently)
|
||||
- Tasks under different ### headings are sequential (Group N+1 starts after Group N completes and checkpoint passes)
|
||||
- Work items may declare `(context: file1.md, file2.md)` — the orchestrator loads these as subagent input
|
||||
|
||||
## Context Loading
|
||||
- Base context (always): project rules of active phase + status.md
|
||||
|
|
|
|||
Loading…
Reference in New Issue