the-dmz-transfer
Transfer der Multi-Agent Orchestrierungs-Patterns aus the-dmz (TheMorpheus407) auf Hermes/GreyHack. Enthält: auto-develop.sh Pipeline-Architektur, Dual-Review-Gate, Sub-Agent Specs (.claude/agents/*.m
Files2
View on GitHubSKILL.md.claude/skills/the-dmz-transfer/SKILL.md
GitHubThe DMZ Transfer
Pattern-Transfer aus TheMorpheus407/the-dmz in unsere Hermes-Orchestrierung.
DMZ ist ein AAA-Cybersecurity-Spiel (SvelteKit+Fastify), aber die wahren Goldstücke sind die Shell-Skripte
auto-develop.shundauto-create-issues.sh, die einen vollständigen Multi-Agent-Entwicklungs-Workflow orchestrieren.
Gelernte Pattern
1. Pipeline-Architektur (auto-develop.sh)
set -euo pipefail
Research → Implement → Review A (correctness) + Review B (issue coverage)
↓
Both ACCEPTED? → Finalize (commit, push, close issue)
Any DENIED? → Loop back to Implement (max 3x)
| Rolle | Aufgabe | Artefakt |
|---|---|---|
| Research | Issue + Codebase + Docs lesen, analysieren | research.md |
| Implementer | Code fixen, Tests schreiben | implementation.md + Code-Diff |
| Reviewer A | Syntax, Code-Qualität, Build | review-1.md (ACCEPTED/DENIED) |
| Reviewer B | Löst das den Bug vollständig? | review-2.md (ACCEPTED/DENIED) |
| Finalizer | Stage, Commit, Push, Issue closen | finalization.md |
2. Dual-Review-Gate (das Killer-Feature)
| Reviewer | Scope | Frage | ACCEPTED wenn... |
|---|---|---|---|
| A (Correctness) | Code-Qualität, Security, Build | "Ist der Code korrekt?" | Lint + Build + Tests grün |
| B (Coverage) | Anforderungsabdeckung | "Löst der Code das Issue?" | Alle AC-Kriterien erfüllt |
Gate-Logik:
- Beide müssen
ACCEPTEDals erstes Wort liefern (erste Zeile, kein Prefix) - Bei
DENIED: Delta-Feedback an Worker (kein Full-Rerun) - Max 3 Retries, dann Eskalation an Supervisor
3. Sub-Agent Specs (.claude/agents/)
Jeder Agent bekommt eine dedizierte .md-Datei mit:
- Name & Description (YAML frontmatter)
- Tools (Read/Write/Edit/Grep/Bash etc.)
- Domain-Wissen (Architektur, Konventionen, Pfade)
- Projekt-Layout (exakte Pfade im Monorepo)
- Checklisten (was muss geprüft werden)
- Verbotene Aktionen
- Output-Format (erste Zeile = ACCEPTED/DENIED)
DMZ-Specs (6 Stück): backend, frontend, database, testing, devops, reviewer
Unsere GreyHack-Specs (6 Stück, unter ~/greyhack-tools/.claude/agents/):
greyhack-syntax.md— GreyScript-Syntax-Experte (Build, char(), if/else)greyhack-mission.md— Game-Logik, Missions-Strategie, Reraldigreyhack-tools.md— Tool-Architektur, lib_core-Integrationgreyhack-reviewer.md— Code-Review-Spezialist (12-Punkt-Checkliste)greyhack-tester.md— Test-Spezialist (Smoke-Tests, Coverage)greyhack-deploy.md— Deploy-Spezialist (Fileserver, wget, greybel build)
4. Artifact-basierte Kommunikation
Agenten reden über Dateien, nicht über Context. Vermeidet Kontext-Verschmutzung:
set -euo pipefail
logs/issues/{N}/
├── issue.json # GitHub Issue Snapshot
├── research.md # Research-Output
├── implementation-{N}.md # Implementierungs-Summary
├── review-1-{N}.md # Reviewer A Verdict
├── review-2-{N}.md # Reviewer B Verdict
├── build-output.txt # greybel build output
└── finalization.md # Finalize-Summary
5. Issue-Erstellung (auto-create-issues.sh)
set -euo pipefail
MILESTONES.md → AI Agent liest ALLE Doku → Erstellt 1 Issue → Loops bis DONE×3
- Liest SOUL.md, MEMORY.md, AGENTS.md, DDs, BRD, bestehende Issues
- Bestimmt den nächsten logischen Schritt aus dem Milestone-Plan
- Erstellt Issue mit Requirements + Acceptance Criteria
- Bug-Fix-Mode (M1337): Scannt Codebase nach echten Bugs
- 3× DONE in Folge = keine Issues mehr übrig → Exit
GreyHack-Adaption
greyhack-auto-fix.sh
~/greyhack-tools/greyhack-auto-fix.sh
set -euo pipefail
./greyhack-auto-fix.sh --bug <N> [--research model] [--implement model] \
[--review-a model] [--review-b model] [--dry-run]
Model-Aliase (KRITISCH: auf OpenRouter prüfen!):
owl-alpha→openrouter/owl-alpha(0€, 1M Kontext)deepseek-flash→openrouter/owl-alpha(Alias, kein :free mehr!)deepseek-pro→deepseek/deepseek-v4-pro(paid)
AKTUALISIERT 2026-06-23: deepseek/deepseek-v4-flash:free existiert NICHT auf OpenRouter. Alle Referenzen auf :free müssen durch openrouter/owl-alpha ersetzt werden.
greyhack-create-issues.sh
~/greyhack-tools/greyhack-create-issues.sh
set -euo pipefail
./greyhack-create-issues.sh --scan # Voll-Scan (6 Bug-Patterns)
./greyhack-create-issues.sh --scan --quick # Schnell-Scan
./greyhack-create-issues.sh --list # Alle Bugs anzeigen
./greyhack-create-issues.sh --milestone # Nächstes Issue generieren
Scannt 112+ .src-Dateien auf 6 Pattern: char(10)-String, einzeilige if/else, get_shell-Parameter, import_code ohne .src, negative Indizes, Passwort in CLI-Parametern.
greyhack-daily-scan.sh (no_agent Cron)
~/.hermes/scripts/greyhack-daily-scan.sh
Läuft als no_agent: true Hermes Cron um 6:00 Uhr. Führt --scan --quick aus, zählt P0/P1 Bugs, prüft Git-Status.
greyhack-daily-fix.sh (no_agent Cron)
~/.hermes/scripts/greyhack-daily-fix.sh
Läuft als no_agent: true Hermes Cron um 18:00 Uhr. Fixiert top 3 P0-Bugs via greyhack-auto-fix.sh, committed und pusht zu GitHub.
Modell-Strategie (Kostenoptimierung)
| Rolle | Empfohlen | OpenRouter ID | Kosten |
|---|---|---|---|
| Queen (Orchestrator) | deepseek-v4-pro | deepseek/deepseek-v4-pro |
paid |
| Worker (alle Rollen) | Owl Alpha | openrouter/owl-alpha |
0€ |
| Critic (lokal) | deepseek-r1:8b | (lokal via Ollama) | 0€ |
Owl Alpha: 1.048.756 Token Kontext, 0€/Token, #1 Free-Modell auf OpenRouter. Perfekt für Subagenten-Scouts.
Kritische GreyScript-Regeln (für Reviews)
if/else/end ifMÜSSEN mehrzeilig sein (kein inline-if!)char(10)für newline (nicht\n)0ist truthy,nullist falsy- Keine negativen Indizes
import_code()mit.src-Endung
GitHub-Integration
GitHub Remote: https://github.com/Toqsick/greyscripts.git
gh CLI: Authentifiziert als Toqsick, Scopes: repo, workflow
Push-Strategie: Automatisch nach jedem greyhack-daily-fix.sh Lauf
set -euo pipefail
# Remote setzen (falls nicht vorhanden)
cd ~/greyhack-tools
git remote add origin https://github.com/Toqsick/greyscripts.git
git push -u origin master
Cron-basierte GitHub-Sync:
- Scan → erkennt neue Bugs (KEIN GitHub Issue, nur lokale Reports)
- Fix → committed + pusht zu GitHub (commit message:
fix(greyhack): ... / Closes #N) - Status-Cron (9:00) → prüft GitHub Issues und lokalen Stand
Cron-Design (DMZ-Pattern)
| Cron | Uhrzeit | Typ | Was |
|---|---|---|---|
greyhack-daily-scan |
06:00 | no_agent | Bug-Scan + Status-Report |
greyscripts-daily-status |
09:00 | LLM + Skills | GitHub-Status + MEMORY.md |
greyhack-daily-fix |
18:00 | no_agent | Fix P0-Bugs + Git Push |
Design-Regeln (von alten Crons gelernt):
- Nicht alle 30 Minuten — zu eng, produziert Noise
- Gestaffelt: Scan morgens, Status vormittags, Fix abends
no_agent: truefür deterministische Shell-Scripts = 0 Token-Kosten- LLM-Cron (daily-status) nur 1× täglich + Skills reduziert Tokens
Artefakte
| Tool | Pfad | Beschreibung |
|---|---|---|
| Auto-Fix Pipeline | ~/greyhack-tools/greyhack-auto-fix.sh |
Multi-Agent Bug-Fixing mit echtem greybel build |
| Issue Creator | ~/greyhack-tools/greyhack-create-issues.sh |
Bug-Scanner + Issue-Generator (6 Pattern-Typen) |
| MEMORY.md | ~/greyhack-tools/MEMORY.md |
Living Project State (142 Bugs, 12 Tasks, 10 Decisions) |
| Syntax-Spec | ~/greyhack-tools/.claude/agents/greyhack-syntax.md |
GreyScript-Build/Grammatik |
| Mission-Spec | ~/greyhack-tools/.claude/agents/greyhack-mission.md |
Game-Logik, Reraldi-Mission |
| Tool-Spec | ~/greyhack-tools/.claude/agents/greyhack-tools.md |
Architektur, lib_core |
| Reviewer-Spec | ~/greyhack-tools/.claude/agents/greyhack-reviewer.md |
12-Punkt Code-Review |
| Tester-Spec | ~/greyhack-tools/.claude/agents/greyhack-tester.md |
Smoke-Tests, Coverage |
| Deploy-Spec | ~/greyhack-tools/.claude/agents/greyhack-deploy.md |
Fileserver, 4-Phase-Deploy |
| Daily Scan | ~/.hermes/scripts/greyhack-daily-scan.sh |
no_agent Cron (6:00) |
| Daily Fix | ~/.hermes/scripts/greyhack-daily-fix.sh |
no_agent Cron (18:00) |
| Bug Reports | ~/greyhack-tools/logs/bugs/*.md |
142 Bug-Reports (#1-#142) |
| Workflow-Doku | ~/greyhack-tools/logs/AUTO-FIX-README.md |
README zur Pipeline |
| Handbook PDF | ~/docs/system/dmz-greyhack-handbook.pdf |
Vollständige Dokumentation |
| DMZ-Referenz | /tmp/the-dmz/ |
Original-Quelle (TheMorpheus407) |
Pitfalls (aktualisiert 2026-06-24)
- Modell-Änderungen brauchen Hermes-Neustart —
delegation.model-Changes greifen erst nach Prozess-Neustart. - Subagent-Phantom-Builds — "hab ich gebaut" ≠ "es läuft". Immer verifizieren!
- Dual-Review kann zwiegespaltene Ergebnisse liefern — Ein Reviewer sagt ACCEPTED, der andere DENIED. Queen entscheidet.
- Delta-Feedback nicht vergessen — Bei RETRY nur das Feedback schicken, nicht den gesamten Task-Wiederholen.
- Owl Alpha max_iterations — 1M Kontext, aber max_iterations (80) kann bei komplexen Tasks erreicht werden.
- OpenRouter Modell-Namen ändern sich —
deepseek/deepseek-v4-flash:freeexistiert NICHT. Bei Modell-Fehlern:curl https://openrouter.ai/api/v1/modelsprüfen! - Push-Konflikt mit Remote (2026-06-24 erfahren) — wenn daily-fix-Cron zwischen lokalem Commit und
git pushläuft, lehnt Push ab. Lösung:git fetch origin && git pull --rebase origin master && git push origin master. Immer zuerst fetch! - 71 Bugs pro Daily-Scan ist viel Stau — Daily-Fix holt nur 3/Tag. Bei hohem Aufkommen manuell mit Parent-Direct-Fallback arbeiten (siehe neue Sektion).
- Bin-Duplikate —
bin/*.srcsind alte Build-Kopien, kein Source-of-Truth. Fixes immer im Original. - xmem 12/12 Build-Blocker gefallen (2026-06-24) —
xmem/xmem.src:186 get_shell(username, password)→get_shell. Buildet jetzt! Letzter Lückenbüßer seit 2+ Wochen. - Negative Indices sind buildbar (Erkenntnis 2026-06-24) —
[-1],[:-1]werden von greybel akzeptiert. Runtime-Verhalten unbekannt. Kein Build-Blocker. - CI-Pipeline aktiv — GitHub Actions in
.github/workflows/: Matrix-Build aller 35 .src + Bug-Scan (05:00 UTC). Badges in README.
Parent-Direct-Fallback (NEU 2026-06-24)
Wenn der daily-fix-Cron zu langsam ist oder du gezielt Hotspots abräumen willst, kann Yuno direkt im Parent-Modus fixen ohne Subagenten. 3 Rollen wie bei Subagent-Workflow, aber inline:
| Rolle | Aufgabe | Output |
|---|---|---|
| Architekt | Bug-Report + Code-Datei lesen, Pattern erkennen | Liste der zu ändernden Zeilen |
| Implementierer | patch mit replace_all/mehrere replace-Calls anwenden |
Diff |
| Validator | greybel build <datei> ausführen, vorher/nachher vergleichen |
Build-Status |
Wann einsetzen:
- Viele mechanische Bugs gleichen Patterns (z.B. einzeiliges if/else) → schneller als Subagenten pro Bug
- Cron-Backlog abbauen
- Hotspot-Dateien mit vielen Issues gleichzeitig aufräumen
Wann NICHT:
- Komplexe Logic-Bugs die Recherche brauchen
- Refactorings über mehrere Dateien
- Tests erforderlich
Beispiel-Session 2026-06-24: 25 P0 in 3 Dateien (debugcore 8, buildcore 4, hardening 13) manuell gefixt, alle 3 Builds vorher rot → nachher grün, 17 Bug-Reports auf FIXED markiert, 4 Commits erstellt + gepusht. 20 Min Aufwand statt 8+ Subagent-Runs.
| Deploy-Spec | `/greyhack-tools/.claude/agents/greyhack-deploy.md| Fileserver, 4-Phase-Deploy | | Workflow-Doku |/greyhack-tools/logs/AUTO-FIX-README.md/.hermes/scripts/greyhack-daily-scan.sh| README zur Pipeline | | Cron-Scan Script || Täglicher Bug-Scan (6:00) | | Cron-Fix Script |~/.hermes/scripts/greyhack-daily-fix.sh| Täglicher Auto-Fix (18:00) | | DMZ-Referenz |/tmp/the-dmz/` | Original-Quelle (TheMorpheus407) |
Referenzen
- TheMorpheus407/the-dmz — Das Original (SvelteKit + Fastify Cybersecurity Game)
multi-agent-workSkill — Hermes' eigener 6-Phasen-Workflowgaming/greyhackSkill — GreyScript-Syntax-Referenzreferences/cron-github-integration.md— Detaillierte Cron- und GitHub-Konfigurationreferences/session-2026-06-23.md— DMZ-Transfer Vollausbau (8 Subagent-Tests, 142 Bugs, Handbook)references/session-2026-06-24.md— Working-Copy Cleanup + Parent-Direct-Fallback Pattern (25 P0 manuell gefixt, Push-Konflikt-Solution)references/session-2026-06-24-round2.md— 40+ P0 Syntax-Fixes, xmem 12/12 Build-Blocker, CI-Pipeline (GitHub Actions Matrix-Build), Negative-Index-Erkenntnisreferences/cron-design-patterns.md— Cron-Architektur und Schema