M3.10: tools-context/* — drei Tool-Context-Module + drop gitkeep

Drei Module, klar nach Persona-Scope getrennt:

- brick-creation.md: Pulse / View / Row / Pool-View-Tools + die haerteste
  Stolperfalle (delete_brick vs delete_view_brick vs remove_word_from_row).
  Main-Voice-exklusiv.

- atomic-chain.md: Strikt-lineares Pattern fuer Sub-Agents ohne
  All-in-One-Finalize (Lueckentext). Drei Regeln: Reihenfolge, IDs aus
  Vorgaenger, bei Fehlschlag-Run beenden statt aufraeumen.

- atomic-finalize.md: All-in-One-Pattern fuer Sub-Agents MIT Finalize
  (Kreuzwort). Kombiniert Layer-Erstellung + Solution-Set atomar —
  vermeidet orphan-Zustaende.

atomic-chain und atomic-finalize zeigen explizit zueinander: wenn ein
Finalize-Tool existiert, bevorzuge es. atomic-chain ist Fallback wenn
das Backend nur die getrennten Tools anbietet.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
tim
2026-06-02 15:32:58 +02:00
parent eb89be6a3f
commit ee18a1f591
4 changed files with 180 additions and 3 deletions
+51
View File
@@ -0,0 +1,51 @@
---
module_id: tools-context/atomic-finalize
version: 0.1.0
description: All-in-One Layer+Solution-Erzeugung via atomic_finalize_*.
max_tokens: 200
applies_to: [kreuzwort-builder, future-atomic-finalize-builders]
sources:
- personas/kreuzwort-builder.md (atomic_finalize_kreuzwort_layer als FINALER Schritt)
extracted_at: 2026-06-02
extracted_by: phase-M3
---
# Atomic-Finalize Pattern
Manche Sub-Agents nutzen ein All-in-One-Tool `atomic_finalize_<TYP>_layer(...)`,
das **Layer-Erstellung und Solution-Persistenz in EINEM atomaren Call** kombiniert.
## Wann
Wenn das Backend ein solches Tool anbietet (heute: Kreuzwort), bevorzuge es
gegenueber der getrennten `atomic_create_layer` + `atomic_set_*_solution`-Kette.
Vorteil: kein orphan-Zustand zwischen Layer-Erstellung und Solution-Set.
## Aufruf-Schema
```
atomic_finalize_<TYP>_layer({
brickZones: { [brickId_1]: "zone-1", [brickId_2]: "zone-2", ... },
correctMapping: { ... }, // Loesung in Layer-spezifischem Format
title: "...",
})
→ liefert { layerId }
```
## Regeln
- **`brickZones`** muss die **EXAKTEN** `brickId`-Werte aus den Vorgaenger-Tool-Calls
enthalten. Keine erfundenen IDs, keine `"default"`, `"layer-1"` etc.
- **`correctMapping`** hat ein Layer-Typ-spezifisches Format
(z.B. fuer Kreuzwort: `{ "row,col": "L", ... }` pro Cell).
- **Genau ein Call** — das Tool ist nicht idempotent fuer "korrigieren".
Wenn der Layer falsch ist, muss alles davor neu gebaut werden.
## Warum getrennte Tools im Sub-Agent-Skill?
Manchmal sind `atomic_create_layer` + `atomic_set_*_solution` separat in
`required_tools`, manchmal nur das `atomic_finalize_*`. Im **Kreuzwort-Skill**
ist BEWUSST nur das Finalize-Tool exponiert (siehe Kommentar in
`kreuzwort-orchestrator.js`: "`atomic_set_kreuzwort_solution` ausgefiltert"),
damit die Reihenfolge nicht durcheinander geraten kann und keine erfundenen
`layerId`s entstehen.