5 Commits

Author SHA1 Message Date
tim eb89be6a3f M3.9: drop workflows/.gitkeep — folder is populated
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-02 15:31:48 +02:00
tim 70aedcacd7 M3.7+8: workflows/self-correction + workflows/error-recovery
Zwei verwandte aber unterschiedliche Recovery-Pattern:

- self-correction: Backend liefert strukturierte errors[] (z.B.
  atomic_validate_crossword_grid mit Frame-Konflikt-Hinweis), LLM
  korrigiert gezielt. Max 4 Versuche, dann vereinfachen. "Server denkt"-
  Pattern, wiederverwendbar fuer kommende validierte Builder.

- error-recovery: Tool wirft unstrukturierten Error (HTTP, FK-Verletzung,
  Timeout). LLM variiert Input, max 3 Versuche, dann ehrlich abbrechen.

Beide Pattern koennen parallel in derselben Persona aktiv sein —
self-correction beim Validate-Loop, error-recovery bei allen anderen
Tools. Die Module sind explizit gegeneinander abgegrenzt
(Vergleichstabelle in error-recovery.md).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-02 15:31:35 +02:00
tim 48a2c21234 M3.5+6: workflows/sub-agent-discipline + workflows/tool-scope-lock
Zwei konzeptuell verschiedene Sub-Agent-Workflows:

- sub-agent-discipline: KEIN record_thought / record_reflection, KEINE
  Voice-Tools, keine generelle Brick-Manipulation. Definiert WAS der
  Sub-Agent NICHT tut.

- tool-scope-lock: Du hast genau N Tools, keine erfundenen, keine
  geliehenen. Definiert die HAERTE der Tool-Liste.

Beide explizit nicht fuer Main-Voice — Main-Voice braucht das volle
Tool-Set + Trace-Reducer. Frontmatter dokumentiert das.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-02 15:30:44 +02:00
tim 5d2edfe8cc M3.4: workflows/plan-before-action.md — record_thought + reflection
Main-Voice-spezifischer Workflow: vor jedem Tool-Block ein
record_thought, danach ein record_reflection mit did_match_user_intent
als Lakmustest.

Explizit NICHT fuer Sub-Agents — die haben in ihrem Persona-Block ein
hartes "KEIN record_*". Frontmatter dokumentiert das via
applies_NOT_to: [kreuzwort-builder, lueckentext-builder] + Hinweis im
note_on_scope.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-02 15:30:05 +02:00
tim f4f147e519 M2: 1:1 extraction of monolithic prompts from llm-gateway
Pulled the System-Prompts out of the three .js files in /root/llm-gateway/
on the Stream-Box-VPS, dropped them 1:1 as Markdown personas — no
modularisation yet (that is M3).

Personas:
- personas/main-voice.md
  ← llm/gemini.js lines 64-172
  (SYSTEM_PROMPT_VOICE + SYSTEM_PROMPT_INTRO)
- personas/kreuzwort-builder.md
  ← orchestrator/kreuzwort-orchestrator.js lines 47-100
- personas/lueckentext-builder.md
  ← orchestrator/lueckentext-orchestrator.js lines 35-68

Plus README.md explaining the target topology
(base/ + workflows/ + tools-context/ + personas/) and a skill-index.md
stub that M4 will fill.

Empty folders kept with .gitkeep so Git tracks the structure even
before M3 starts populating them.

Reference notes:
  arch-flow/brainstorm/Sprache/
    2026-06-02 — Master-Synthese — Prompt-Migration-Reihenfolge.md
    2026-06-02 — Prompt-Modularisierung — Architektur und Composition.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-02 15:11:42 +02:00