File size: 5,194 Bytes
3bc7cb3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Uebergabe

**Neuester Stand:** Vorhandenes `operator`-Profil vermittelt jetzt lokal zwischen
Kanban und freigegebenen Fachbearbeitern. Live geprueft mit `wggesucht` und `verifier`.
[Ergebnis und unabhaengige Pruefung](OPERATOR_REVIEW_HANDOFF.md).

Ein Agent haengt fest. Ein anderer uebernimmt und antwortet. Der erste macht weiter.
Samuel traegt dabei keine Nachricht und koordiniert nichts.

**Aktueller Status:** Lokaler Bearbeiter implementiert; Hello World ausgefuehrt und
von Samuel gehoert. Eine echte Codex-Hermes-Uebergabe mit benutzter Antwort ist
nachgewiesen. **Kein Go fuer Dauerbetrieb oder globale Ausrollung:** die unabhaengige
Hermes-Pruefung hat offene Laufzeit-/Freigabeluecken benannt.

Aktueller Befund und Belege: [IMPLEMENTATION_REPORT.md](IMPLEMENTATION_REPORT.md).
Die folgenden Abschnitte bewahren den urspruenglichen Kontrakt; sie sind keine
Behauptung, dass alle Punkte bereits implementiert und live geprueft sind.
Angelegt 2026-09-09.

---

## Kontrakt (von Samuel gesetzt)

**1 · Gezielte Uebergabe.** Pflichtfelder, sonst wird der Eintrag abgewiesen:
`projekt` · `frage` · `versucht` · `benoetigt`
`versucht` ist das Feld, das entlastet — ohne es wiederholt B die Sackgasse von A.

**2 · Sichtbare Verantwortung.** Jeder Eintrag hat eine ID, genau einen Inhaber ab dem
Claim, und die Antwort referenziert die ID. Jederzeit abfragbar: wer haelt gerade was.

**3 · Begrenzte Eskalation.** Harte Zaehler statt Hoeflichkeit:
- Rueckfragen: **maximal eine**, danach automatisch `blocked`
- Frage unbeantwortet: 30 min -> `blocked`
- Geclaimt ohne Antwort: 10 min -> zurueck auf `open` (protokolliert); zweiter Verfall -> `blocked`

**4 · Gefilterte Aufmerksamkeit.** Nur echte Zustaendigkeit erreicht Samuel.
Das vollstaendige Log bleibt nachlesbar, wird aber nicht zugestellt.

**5 · Abgeleitete Prioritaet.** Nicht selbstvergeben (verrottet), sondern aus dem Zustand:
`blocking` = ein Agent wartet gerade darauf · `background` = niemand wartet.

---

## Zustandsmaschine

```
open ──► claimed ──► resolved      Normalfall
open ──────────────► blocked       niemand kann helfen / TTL
claimed ───────────► open          Claim verfallen (Totmannschalter)
  *   ────────────► escalated      nur bei echter Samuel-Zustaendigkeit
```

Terminal: `resolved`, `blocked`, `escalated`. Nichts bleibt im Umlauf.

**`blocked` ist NICHT Samuels Problem.** Sichtbar geparkt, nachlesbar, nicht zugestellt.
Landet "niemand kann helfen" automatisch bei ihm, ist Eigenschaft 4 sofort kaputt.

**Eskalationsliste** — nur diese fuenf erreichen Samuel:
> Geld · Aussenwirkung (senden, posten, veroeffentlichen) · Irreversibles ·
> Zugangsdaten · Prioritaet und Scope

Alles andere loesen die Agents oder es wird `blocked`.

---

## Abnahme

Eine echte Uebergabe zwischen zwei bestehenden Harnesses. Zwei Prozesse, die
voneinander nichts wissen; keiner ruft den anderen; beide beruehren nur den Store.

A bekommt eine Aufgabe in zwei Haelften: Haelfte 1 schafft A allein, Haelfte 2 braucht
eine Auskunft, an die A nicht rankommt.

```
Eintrag 1  beantwortbar    open -> claimed -> resolved -> A liefert Haelfte 2
Eintrag 2  unbeantwortbar  open -> claimed -> blocked   (nach 1 Rueckfrage, kein Ping-Pong)
```

**Bestanden nur wenn alle sieben stimmen:**
1. As Frage ist echt — A kann sie nachweislich nicht selbst beantworten
2. B hat den Eintrag **durch Pollen gefunden**, nicht durch einen Aufruf von A
3. Die Antwort steht im Store, nicht in einem Seitenkanal
4. Haelfte 2 ist fertig und **benutzt die Antwort** — nicht nur "Antwort erhalten"
5. Eintrag 2 endet auf `blocked` und erreicht Samuel **nicht**
6. Samuels Nachrichten im Vorgang: **0**
7. Eingriffe der Hauptsession nach dem Start: **0**

Punkt 4 ist der, an dem so ein Test schummelt. Nachrichten schieben ist leicht;
dass die Antwort die Arbeit weiterbringt, ist der Beweis.

**Im Nachweis ist B lesend.** Beantworten, nicht handeln. Alles mit Schreibzugriff,
Aussenwirkung oder Samuels Entscheidung geht auf `escalated` und bleibt liegen.

**Keine globale Ausrollung vor diesem Nachweis.** Menschliche Freigaben bleiben erhalten.

---

## Offene Entscheidung: uebernehmen statt bauen

**Entscheidungsstand:** Hermes Kanban wurde als vorhandener Store uebernommen.
Der folgende Recherchetext beschreibt den Ausgangspunkt, nicht eine weiterhin
offene Produktauswahl.

Der Befund aus der Recherche vom 2026-09-09 (siehe `../2026-09-09_FREMDBEFUND_*.md`):
was ueberlebt, hat viele Nutzer; was stirbt, hat genau einen — seinen Erbauer.
Gas Town (Orchestrator, ein Nutzer) kollabierte. Beads (duenner git-nativer Store,
tausende Nutzer) haelt.

Daraus folgt: **erst pruefen, ob es das fertig gibt.** Laufende Pruefung gegen den
Kontrakt oben — Beads, backlog.md, HumanLayer, A2A, GitHub Issues als Agent-Store,
MCP-Task-Server. Ausserdem im eigenen Bestand: ob `hai_intake` / `hai_park` /
`hai_status` oder der intake-router bereits einen tauglichen Store haben. Dann waere
das hier eine Anschluss- und keine Baumassnahme.

Eigenbau nur, wenn nichts den Kontrakt erfuellt — und dann so duenn wie moeglich.