TGV · Governance · generierter Spiegel · Zusagen-Tafel

🤝 Tower-Zusagen — was gesagt wurde, und wo es steht

JC am 27.09.2026, wörtlich: „Ich will das nie wieder lesen müssen: ‚ich habe es gesagt und nicht lanciert‘." Diese Tafel schliesst eine Lücke, die kein vorhandener Wächter sehen kann: check_befund_hat_fortsetzung.py prüft, ob eine Registerzeile eine Fortsetzung hat — er sieht nur Zeilen, die es gibt. Eine Zusage, die im Gespräch lebte und nie eine Zeile wurde, liegt vor seinem Eingang. Ein Zeitgeber schreibt die Tafel zweimal täglich fort (08:00/18:00); diese Seite ist ihr GENERIERTER Spiegel.

🛡 Stand-Stempel: Quelle TOWER_ZUSAGEN.md (ganzes Dokument) @ 14279e78d (27.09.2026) · Spiegel generiert 17.10.2026 · Drift-Wächter: familie_guard C7b (ssot-md5)
Angelegt 27.09.2026 auf JCs Anweisung. Anlass, wörtlich:
„Ich will das nie wieder lesen müssen: ich habe es gesagt und nicht lanciert."
Registerzeile #3260 · Spiegel im Kompendium: #3258 (KONZEPT#04)
⛔ Diese Tafel schliesst eine Lücke, die kein vorhandener Wächter sehen kann.
08_OPS/check_befund_hat_fortsetzung.py prüft, ob eine Registerzeile eine Fortsetzung
hat — er meldet ~305 Schubladen. Aber er sieht nur Zeilen, die es gibt.
⭐⭐ Mein Fehler lag davor: eine Zusage im Gespräch, die nie eine Zeile wurde.
Derselbe blinde Fleck wie dispatch.py bei rag_chunks: das Werkzeug misst sauber,
was es kennt, und die Lücke liegt vor seinem Eingang.

Bauform übernommen von OFFENE_VORLAGEN.md (08_OPS/offene_vorlagen.py):
„Sie klagt nicht an, sie legt vor."
Das Verfahren ist der PULL (/vollauto): Lane-Stand ziehen, nicht erfragen —
git fetch + Commits + gh pr list + ListAgents. ⭐ Eine Bahn, die seit dem Auftrag
nichts committet hat, ist keine Fortsetzung — sie ist eine Schublade mit einem Namen darauf.

Zeitgeber tower-zusagen-check, 08:00 / 18:00.
⛔ Was diese Tafel NICHT leistet: sie zeigt, was dasteht, nicht was gilt. Die
inhaltliche Richtigkeit der Zeilen ist nicht bewacht. Und der Zeitgeber liegt ausserhalb
des Repos
— er hat dort keine Datei:Zeile und keinen Wächter über sich.

Legende

ZeichenBedeutung
✅erledigt, Beleg in der Zeile
🚀Bahn beauftragt — Sitzung nachweislich angeschrieben, mit Datum
🎫Chip gelegt (spawn_task) — wartet auf JCs Klick
⏳JC-Ball, ausdrücklich benannt
⛔offen bei mir — die einzige Spalte, die wehtun soll

Stand 27.09.2026, 19:0x · master ea54d67bb · Dienst live 1.12.257

#ZusageEndeBeleg
1Naht #3124 stechen, Nummern nicht verlieren✅master 1e7f146f9
2#3120 mergen (MAIL#02s letzter Stand)✅master 3ebd279b7
3KAI-BIND#02s Zweig bekommt einen PR✅#3125, gemergt
4Codex liest die ärmste Fassung✅9b14b94c9, 332 → 949 Zeilen, 0 Inhaltszeilen verloren
5Brief an Codex an der richtigen Fassung✅im Chat an JC übergeben (2×, inkl. Richtigstellung)
6Schatten-Lauf auf die Karten mit Inhalt✅ORCH#01: A 125 · B 12 echte Chunks, 9 besser, 0 abweichend
7Chunk-Befund (dispatch.py liest rag_chunks nicht)✅#3137 gemergt, master cfaf96cb9, 1.12.263 — Tor und Prompt
8dispatch.py erweitern✅JCs „dispatch ja"; Naht-Wächter check_inhaltskette_beide_fassungen mit 7/7 beissenden Mutanten
9#3228 Periodisierung🚀MAIL#02 baut Variante ③ (#3132, 1.12.258) — ② hätte JCs amtliche Zahlen um 1.533,68 € verschoben
10Lern-Trennung A/B + mandant_id🚀JCs Konzept-GO liegt; TELEMETRIE#01 baut (#3136)
11Wächter „trägt jede Wissens-Tabelle eine Achse"🚀#3255, gebaut und eingehängt
12JCs Monitum: KAI nimmt seinen Kommentar nicht auf⏳#3135 grün 10/10, 1.12.260 — wartet auf JCs Wort
13Telemetrie verdrahten🚀TELEMETRIE#01: SSOT · eine Migration · zwei Schalter · CHECK · Wächter
14Mig 226 + mandant_id anwenden⏳JC-Hand, vier Blöcke in #3136
15Hotfix 1.12.256 (Chat war 403)✅#3126 — am Dienst gemessen, HTTP 200 für drei Nutzer
16#3100 anhalten bis drei Läufe🚀ORCH#01 — nach der Funktionsprobe
17Datumsloch (363 Belege, 4 mit 247,35 € USt)🚀an ORCH#01s Chunk-Vorgang gehängt
18Kosten-Zubringer (agent_events → skill_call_costs)✅Zeile #3250 geschrieben (TELEMETRIE#01), mit vier ungemessenen Punkten benannt
19Klärungskarte muss sagen, was sie braucht🚀KLAERUNG#04 — misst zuerst, warum die 104 dort liegen
20Sweep: 74 Tabellen ohne jede Achse⛔Zeile 3248 gezogen, keine Zeile geschrieben
21mandant05_gegenprobe.py: 2 Stellen, Fehler → Absturz statt Enthaltung⛔Eigner nicht bestimmt
22#3119/#3121 schliessen✅waren längst gemergt — mein Befund war aus einer alten Liste
23Gate A Telemetrie-Screen✅#3128 gemergt, JC-freigegeben
24Core-Graph 45 → 122 Knoten✅#3129 gemergt, 1.12.257 — ⏳ JCs Blick auf den Screen fehlt
25Graph ausfuehrung-Zubringer — Eigner zuteilen⛔Eigner nicht bestimmt
26Graph Schema-Ist-Zubringer — Eigner zuteilen⛔Eigner nicht bestimmt (110 CREATE TABLE, 57 gelöscht ⇒ Ableitung wäre Phantome)
27Rest-Riss allowed_entities nicht im scope_key✅KAI-KONTEXT#01 hat ihn in CODEX_SCOPE_KARTE eingefaltet — besserer Ort als diese Tafel
28get_ustva_report in keinem tool_scope⏳#3138, 1.12.261 — 4 Waisen gemessen, 1 repariert
29Wächter „registriert, aber in keinem Scope"🚀MAIL#02 — eigener Vorgang, KAI-BIND#02s Register deckt es nicht
30offene_vorlagen.py filtert nach NAMEN statt nach KOPF⛔Eigner nicht bestimmt — Mig 226 stand seit Juli nie auf der Tafel
31check_konsolensicher sieht den argparse-Hilfetext nicht⛔Eigner nicht bestimmt
3221 Prosa-Bedarfe unsortiert🚀KAI-BIND#02 — ⛔ meine „BAU 0"-Meldung an JC galt nur für die Feld-Bedarfe

⛔ Was diese Tafel über mich sagt

Sechs Zeilen stehen auf ⛔ (20 · 21 · 25 · 26 · 30 · 31). ⭐ **Fünf davon sind dieselbe Sorte:

ein Befund mit Namen und ohne Eigner** — die Stufe nach der Schublade: nicht mehr verschwiegen,

aber auch nicht unterwegs.

⭐⭐ Und vier der sechs sind Wächter, die die falsche Frage stellen (30 · 31 · 21 · und der

Sweep 20). Das ist die Klasse des Tages: nicht „tut es, was es soll", sondern „kommt jemand hin".

⭐ Sieben Instanzen an einem Tag: „es ist da und niemand kommt hin"

_registry.yaml im Repo, nicht im Buendel COREGRAPH#02

chat_instances.json ausgeliefert, falsche Adresse im Code COREGRAPH#02

Kosten-Token in agent_events, erreichen die Tabelle nie ORCH#01

get_conversation_context als KOMMENTAR, kein Werkzeug TOWER#60

BEDARF:Projektliste (11) _user_projects laeuft in JEDEM Aufruf KAI-BIND#02

get_ustva_report gebaut, getestet, ausgerollt — kein Scope KAI-BIND#02/MAIL#02

Mig 226 Kopf sagt seit Juli "staged" — Tafel filtert nach NAMEN TELEMETRIE#01

⭐⭆ MAIL#02s Satz dazu: ***„Ein Bau ist nicht fertig, wenn er funktioniert, sondern wenn ihn

jemand erreichen kann — und den Unterschied sieht man nur, wenn man von der ANDEREN Seite

misst."***

Der Takt

Jede Runde mit JC endet mit einem Blick auf diese Tafel — nicht mit einem Gefühl.

Jede neue Zusage bekommt sofort eine Zeile, bevor ich sie ihm gegenüber ausspreche.

Eine Zeile verlässt ⛔ nur mit einem Beleg: SHA, PR-Nummer, Sitzungsname mit Datum, oder Chip-ID.

Warum diese Seite im Kompendium steht und nicht nur im Repo: unsere Arbeitsanweisung schreibt vor, zuerst hier nachzuschlagen (06_DASHBOARD/konzepte/, Hub index.html). Eine Tafel, die nur auf GitHub liegt, ist für diesen Griff nicht vorhanden — dieselbe Klasse, die check_brief_ist_im_kompendium.py für Lane-Briefe bewacht. Pflege-Ritual: die Tafel ändert NUR der Tower in der SSOT-MD (von Hand oder im Lauf des Zeitgebers tower-zusagen-check, dessen Schritt ⑦ den Generator ruft); danach python gen_tower_konzept.py — ein Handedit hier wird vom Guard als Drift gemeldet. ⛔ Die ehrliche Grenze, und sie ist die wichtigste Zeile: dieser Spiegel zeigt, was in der Tafel steht — nicht, ob eine Zeile die Wirklichkeit trifft. Das prüft der Zeitgeber, indem er jede ⛔- und 🚀-Zeile gegen Commits, PRs und laufende Sitzungen hält. Eine Tafel ist ein Versprechen an sich selbst; erst die Gegenprobe macht sie zu einem Beleg.