Files
tim ee18a1f591 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>
2026-06-02 15:32:58 +02:00

1.9 KiB

module_id, version, description, max_tokens, applies_to, sources, extracted_at, extracted_by
module_id version description max_tokens applies_to sources extracted_at extracted_by
tools-context/atomic-finalize 0.1.0 All-in-One Layer+Solution-Erzeugung via atomic_finalize_*. 200
kreuzwort-builder
future-atomic-finalize-builders
personas/kreuzwort-builder.md (atomic_finalize_kreuzwort_layer als FINALER Schritt)
2026-06-02 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 layerIds entstehen.