Der Architektur-Graph zeigt, was mit was zusammenhängt. Das hier zeigt stattdessen Reihenfolge und Richtung — input → output → input → output, wie eine Fertigungsstraße. Beide Ansichten ergänzen sich, keine ersetzt die andere. Klick auf einen Knoten öffnet einen vorausgefüllten Forgejo-Issue, um direkt am Diagramm zu kommentieren.
flowchart LR
A[Config-Änderung im Repo] --> B[nix flake check]
B --> C["nix eval --raw .drvPath"]
C --> D[nix build toplevel]
D --> E[nix store diff-closures]
E --> F{Diff plausibel?}
F -->|nein, klären| A
F -->|ja| G[dry-activate]
G --> H[nixos-rebuild switch]
H --> I[Live-System]
I --> J["Verifikation: curl / systemctl / journalctl"]
click A commentDeploy
click B commentDeploy
click C commentDeploy
click D commentDeploy
click E commentDeploy
click F commentDeploy
click G commentDeploy
click H commentDeploy
click I commentDeploy
click J commentDeploy
Folgt der in CLAUDE.md dokumentierten
Verifikationskaskade. Nicht jeder Schritt ist im Nachhinein per
Journal belegbar (flake check/build/
diff-closures laufen non-sudo, ohne Log-Spur) — bei
Boot-/Netzwerk-/Firewall-/sshd-/Secret-Änderungen kommt zusätzlich
ein nixos-rebuild test-Fallback dazwischen, hier zur
Übersicht weggelassen.
flowchart LR
A[Nutzer-Auftrag] --> B[Orchestrator]
B -.fire and forget.-> C["Spezialist: eigene, atomare Session (Administrator / Orga / Agent-Manager / Graphics)"]
C -.Skill-Rückfrage — Entwurf §4.-> B
B -.Antwort.-> C
C --> D[Output]
D -->|Aktivierung im Auftrag ausdrücklich freigegeben| E[Deploy durch Spezialisten]
D -->|Regelfall: keine Freigabe| E2[Meldet Aktivierungsschritt, stoppt]
E --> F[Reviewer]
E2 --> F
C -->|keine Rückfragen offen| Z[Session wird idle]
Z --> G[Synthese im Orchestrator]
F -->|Befunde, read-only| G
G -->|Korrektur nötig| C
G --> H[Antwort an Nutzer]
click A commentDelegation
click B commentDelegation
click C commentDelegation
click D commentDelegation
click E commentDelegation
click E2 commentDelegation
click F commentDelegation
click G commentDelegation
click H commentDelegation
click Z commentDelegation
Der Orchestrator delegiert
fire-and-forget — er wartet nicht aktiv, sondern beendet seinen
eigenen Turn nach der Übergabe (docs/herdr-orchestration.md).
Jede Delegation startet als eigene, atomare Session: die Rolle
ist so klar umrissen (agents/*.md), dass der
Spezialist die Aufgabe bis zum Ende durcharbeitet und die
Session verlässt (Pane wird idle — nicht wirklich terminiert,
sonst wäre sie über herdr agent read/send nicht
mehr ansprechbar), sobald keine Rückfragen mehr offen sind,
statt auf weitere Anweisung zu warten. Das Idle-Werden der
Session ist der Auslöser für die Synthese im Orchestrator,
nicht ein separater, unabhängiger Schritt.
Deploy/Aktivierung ist kein
unbedingter Teil des "funktional lösen" — alle vier
Rollenverträge verlangen dafür standardmäßig eine im Auftrag
ausdrücklich erteilte Freigabe (agents/admin.md:
"nur wenn ausdrücklich freigegeben, sonst mit dem genauen
Aktivierungsschritt melden und stoppen"; agents/agent-manager.md,
agents/orga.md gleiches Muster je Aktion).
agents/graphics.md hat überhaupt kein
Deploy-Konzept — committet/pusht nie selbst. Der Regelfall ist
also D → E2 (Aktivierungsschritt melden,
stoppen); D → E (Spezialist deployed selbst) ist
die Ausnahme bei expliziter Freigabe, keine automatische Folge
von "fire and forget".
Review passiert danach am bereits
ausgelieferten oder gemeldeten Ergebnis, nicht als Gate davor
— Reviewer bleibt read-only und fließt mit seinen Befunden
ebenfalls in diese Synthese ein, statt sie zu blockieren;
laufen die Befunde erst nach der ersten Antwort an den Nutzer
ein, löst das bei Bedarf eine Korrekturschleife zurück zum
Spezialisten aus. "Fire and forget" ersetzt nicht die
ursprüngliche Nutzer-Freigabe der Aufgabe selbst, nur die
Notwendigkeit weiterer Zwischen-Bestätigungen während der
Ausführung. Spezialisten können während der Bearbeitung
außerdem jederzeit eine Skill-/Sachfrage an den Orchestrator
zurückschicken — im Diagramm selbst als Entwurf markiert
(§4), nicht nur im Fließtext, weil sonst diese Kante optisch
nicht von der bestätigten "fire and forget"-Kante zu
unterscheiden wäre (Entwurf für einen entsprechenden
Rückfrage-Kanal: docs/herdr-eskalation-review-entwurf.md §4)
— das ist etwas anderes als das noch unfreigegebene "Review
als Standardschritt" aus §1, das hier bewusst nicht
dargestellt ist.
flowchart LR
P[iPhone: a-Shell] --> T[Tailscale-Mesh]
L[Laptop: SSH] --> T
T --> B[blunix]
B --> TM["tmux: Herdr-Session"]
TM --> AG[Agent-Prozess]
AG --> OUT[Output]
OUT --> LOG[Log / Memory]
OUT --> DEP[Deploy]
click P commentAccess
click L commentAccess
click T commentAccess
click B commentAccess
click TM commentAccess
click AG commentAccess
click OUT commentAccess
click LOG commentAccess
click DEP commentAccess
Wie ein diktierter Prompt tatsächlich durchs System läuft, bevor überhaupt etwas passiert.
flowchart LR
A["Analog: handschriftliche DIN-A5-Seite"] --> B[Scan]
B --> C[Digitaler Input an KI]
C --> D["ai-magic / Transformation"]
D --> E["Contingent digital artifact, any medium"]
E --> F[Analog Output]
click A commentZettel
click B commentZettel
click C commentZettel
click D commentZettel
click E commentZettel
click F commentZettel
Aus memory/zettel/ (Blatt 9) —
die Methode des Ursprungsprojekts selbst, nicht von der Plattform
abgeleitet, sondern ihr Vorbild.
flowchart TD
A[Forschungsauftrag] --> B["Agent: Frage, Scope und Ziel schärfen"]
B --> C["Research Contract: Teilfragen, Quellenstandard, Budget und Abbruchkriterien"]
C --> D["Agent: Hypothesen und priorisierte Arbeitsliste"]
D --> E{"Agent wählt nächsten Werkzeugaufruf"}
E --> T1["Websuche / Browser"]
E --> T2["Paper-, PDF- und Dokumentparser"]
E --> T3["Lokaler Korpus / Code-Suche"]
E --> T4["Rechnen / strukturierte Datenanalyse"]
T1 --> F[Beobachtung]
T2 --> F
T3 --> F
T4 --> F
F --> G["Evidenzspeicher: Fundstelle, Claim, Beleg, Datum, Provenienz"]
G --> H["Agent: Claim Map, Widersprüche und Unsicherheit aktualisieren"]
H --> I{"Abdeckung und Qualität ausreichend?"}
I -->|nein| J["Agent: Lücke bestimmen und Arbeitsliste neu priorisieren"]
J --> E
I -->|ja| K["Agent: Synthese entlang belegter Claims"]
K --> L["Agent: Citation Audit und Gegenbeispiel-Suche"]
L -->|Lücke gefunden| J
L -->|tragfähig| M["Research Report: Ergebnis, Belege, Grenzen, offene Fragen"]
click A commentResearch
click B commentResearch
click C commentResearch
click D commentResearch
click E commentResearch
click T1 commentResearch
click T2 commentResearch
click T3 commentResearch
click T4 commentResearch
click F commentResearch
click G commentResearch
click H commentResearch
click I commentResearch
click J commentResearch
click K commentResearch
click L commentResearch
click M commentResearch
Alle Entscheidungen bleiben in einer
Agenten-Session mit einem gemeinsamen Zustand. Die Werkzeuge sind
passiv: Der Agent wählt jeden Aufruf, bewertet dessen Beobachtung
und aktualisiert selbst Arbeitsliste, Evidenz und Claims. Die als
Agent
markierten Knoten sind Phasen dieses einen Agenten,
keine delegierten Rollen. Die Recherche endet durch explizite
Qualitäts-/Abbruchkriterien — nicht dadurch, dass bereits genug
Text geschrieben wurde.
flowchart LR
Q["Research Question
id · scope · status"] --> C["Claim
id · assertion · type · status"]
S["Source
id · title · author · date · url · retrieved_at"] --> P["Passage
id · source_id · locator · excerpt · context"]
P --> E["Evidence Link
passage_id · claim_id · relation · strength"]
E -->|supports / contradicts / qualifies| C
C --> A["Assessment
confidence · freshness · consensus · caveats"]
C --> R["Report Statement
claim_id · citation_ids"]
A --> R
click Q commentEvidence
click S commentEvidence
click P commentEvidence
click E commentEvidence
click C commentEvidence
click A commentEvidence
click R commentEvidence
Die Quelle und ihr genauer Fundort bleiben
getrennt: Eine Quelle kann viele Passagen liefern, und dieselbe
Passage kann über Evidence Link mehrere Claims
stützen, einschränken oder widerlegen. Der Bericht referenziert
Claim- und Evidenz-IDs, statt Quellen erst beim Schreiben lose
anzuhängen. So bleiben Provenienz, Widersprüche und spätere
Neubewertungen erhalten.