CluPilotCloud/docs/superpowers/plans
nexxo 2ab6bd22a3 Plan: der Versandtakt in sieben Aufgaben
Beim Lesen des Frameworks fielen zwei Annahmen des Entwurfs um, und beide
haetten Tage gekostet:

SendQueuedMailable hat KEINE middleware() — die Klasse hat nur handle, backoff,
retryUntil, failed, displayName, __clone. Eine middleware() auf der Mailklasse
liest also niemand. Der Weg fuehrt ueber einen eigenen Auftrag.

Dafuer gibt es einen sauberen Haken: Mailable::newQueuedJob() erzeugt den
Auftrag ueber den Container. Eine Bindung tauscht ihn fuer alle Mails aus, ohne
dass eine einzige Absendestelle sich aendert — womit die Zusage des Entwurfs
haelt.

Und die Spur muss vor dem Einreihen feststehen, weil Mailable::queue() den
Schlangennamen liest und an pushOn() weiterreicht. Ein Trait, das queue()
ueberschreibt, greift rechtzeitig.

Zwei Teststellen stehen bewusst als Rumpf statt als fertiger Code: der Nachweis,
dass eine gedrosselte Rueckstellung den Versuchszaehler nicht erschoepft, und
das Alter des aeltesten Auftrags einer Redis-Schlange. Beide haengen an
Umgebungsverhalten, das ich nicht gemessen habe; geratener Testcode waere dort
schlimmer als ein benannter Auftrag.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 15:26:19 +02:00
..
2026-07-25-customer-pipeline.md docs: customer pipeline (Subsystem B) implementation plan 2026-07-25 11:35:28 +02:00
2026-07-25-host-onboarding.md docs: host-onboarding implementation plan 2026-07-25 09:46:58 +02:00
2026-07-27-mailboxes.md Make the SECRETS_KEY test able to fail 2026-07-27 21:44:59 +02:00
2026-07-28-operator-identity.md Plan the operator identity work as nine testable steps 2026-07-28 09:13:42 +02:00
2026-07-30-betriebsmodus-und-betriebsbereitschaft.md Break the mode switch and the readiness page into twelve steps 2026-07-30 10:23:11 +02:00
2026-07-30-host-uebernahme-bootstrap-skript.md Keep the platform on .com and the customers on .cloud 2026-07-30 21:04:08 +02:00
2026-07-30-host-uebernahme-plattform.md Break the host takeover into two plans that can run side by side 2026-07-30 19:13:04 +02:00
2026-07-30-stripe-adoption-followups.md Break the follow-ups into six testable steps 2026-07-30 16:56:08 +02:00
2026-07-30-stripe-price-adoption.md Put the price recognition back, all 3526 lines of it 2026-07-30 16:35:55 +02:00
2026-07-31-zahlungsmittel-und-nachzahlen.md Spezifikation und Plan: Zahlungsmittel, Nachzahlen, Mahnlauf 2026-07-31 19:57:31 +02:00
2026-08-01-hostname-vergabe.md Fix-Runde 2: Warnung fuer nicht reparierte Hosts, case-sichere Vorabpruefung, wiederholbare Migration 2026-08-01 14:52:15 +02:00
2026-08-01-network-bridge.md Plan: vmbr0 automatisch bauen — neun Tasks, TDD 2026-08-01 12:02:54 +02:00
2026-08-01-neue-pakete.md Plan: zwei Tests, die nichts bewiesen haben 2026-08-01 12:14:04 +02:00
2026-08-02-terminal-container.md Umsetzungsplan: Terminal-Container in drei Aufgaben 2026-08-02 17:25:30 +02:00
2026-08-02-versandtakt.md Plan: der Versandtakt in sieben Aufgaben 2026-08-03 15:26:19 +02:00
2026-08-03-fruehwarnsystem.md Plan berichtigt: zwei Annahmen im Vorabdurchgang gefunden 2026-08-03 12:32:11 +02:00