Entwurf · Issue 69eae0d

Ein Entwurf ist auffindbar

Entwurf zu Issue 69eae0d, zu docs/plans/69eae0d-a-draft-is-findable.md. Die Tabelle unten liest DOC_CHAPTERS beim Rendern. Die rechte Spalte nennt, was einer Zeile fehlt — solange dort etwas steht, ist die Regel dieses Kapitels verletzt. Damit ist die Tabelle eine Prüfung und kein Bild.

Fünf Entwurfskapitel liegen unter app/docs/design/. Drei Einträge stehen in lib/docs.ts, und nur einer davon ist ein Entwurf. Die übrigen vier sind über ihre Adresse erreichbar und stehen in keiner Liste: wer den slug nicht auswendig weiß, kommt nicht hin.

Das ist genau der Zustand, aus dem das Issue geöffnet wurde — nur auf einem anderen Weg erreicht. Die Form eines Entwurfs ist inzwischen da; was fehlt, ist alles drumherum: auffindbar sein, und sagen, wozu er gehört.

01Was die Registry heute trägt

Jede Zeile ist ein Kapitel, wie DOC_CHAPTERS es kennt. Die rechte Spalte misst sie an dem, was ihre Art verlangt: ein Kapitel sagt, welche Art es ist, und ein Entwurf sagt, welches Issue er beantwortet.

KapitelArtIssuefehlt
design/account-blockdraftfc30f7f
design/chain-gatedraft5a95366
design/done-columndraftea06505
design/done-sprintdraftcf2a3bc
design/draft-registrydraft69eae0d
design/boardspec—
design/effortdraftf8d6779
design/effort-specdraft55ba307
design/brief-checkdraftc9b8fe7
design/release-linedraft8b1babd
design/plan-settlesdraftcb83cdf
design/plan-queuedraftb5c66ad
design/review-benchdraft8d27b84
design/verify-scopedraft2dc6a5e
design/issue-kindsdraft5e6f482
design/issue-id-searchdraft09e87ba
design/search-scopedrafte7eab09
design/issue-tabsdraftac1293f
design/issue-threaddraft9073638
design/issue-raildrafta8de23c
design/band-abovedraft28c2d21
design/approve-helperdraft3e8a910
design/gate-livedraft1159d74
design/issue-documentdraft969b17d
design/rail-cyclesdrafte5ccfe1
design/review-columndraft55d804a
design/chain-banddraft203732a
design/issue-chaindraft236b4d1
design/plans-tabdraftf9bb78d
design/plan-documentdraftb88adde
design/sprint-addressdraft37ed1fb
design/needs-edgesdraft852f19b
design/order-picturedraft0e0ba05
design/star-mapdrafta76dbc0
design/smokedraft51edf0a
design/module-headersdraft75f9042
design/form-from-sdkdraft7105c5a
design/orderspec—
infrastruktur-kosten-usdcdocument—
systemkartedocument—

Alle 40 Kapitel tragen, was ihre Art verlangt.

02Eine Art, kein Namenspräfix

Das Einzige, was design/account-block heute als Entwurf ausweist, ist das Wort „Entwurf“ vorn im Titel und ein Satz im Teaser. Das ist Prosa, und Prosa ist kein Feld: danach lässt sich nicht gruppieren, und keine Prüfung kann sie lesen.

  • Ein Dokument erklärt, was läuft — der Leser will es verstehen.
  • Ein Entwurf fragt, ob etwas gebaut werden soll — der Leser soll entscheiden.
  • Zwei Fragen, zwei Gruppen. In einer Liste vermischt verliert der Leser beide.

03Die Rückrichtung

Ein Plan nennt seinen Entwurf im Front Matter, und just chain liest das. Umgekehrt führt nichts: Wer auf dem Kapitel steht, kommt nicht zu der Entscheidung, zu der es gehört. Das Feld issue am Kapitel schließt den Kreis — bei account-block steht der Wert heute schon da, als Satz im Teaser statt als Feld.

Geprüft wird nicht die Schreibweise, sondern die Übereinstimmung in beide Richtungen: zu jedem Kapitel der Art draft gibt es einen Plan, dessen draft: auf dieses Kapitel zeigt und dessen issue: dieselbe Id trägt. Beide Seiten sind Dateien in diesem Baum, die Prüfung bleibt also offline grün, im frischen Clone und in einem CI-Schritt ohne Seed.

Ob das genannte Issue wirklich existiert, wird hier absichtlich nicht gefragt. Das ist die Frage des Merge-Gates, und lokal bräuchte sie einen Seed. Das ist die eine Stelle, an der die Prüfung schwächer ist, als sie aussieht — deshalb steht sie hier.

04Was diese Seite nicht sehen kann

Die Tabelle oben misst die Registry an sich selbst. Sie kann nicht sehen, was gar nicht in ihr steht — ein Kapitel, das unter app/docs/design/ liegt und in keiner Liste vorkommt. Dafür müsste die Seite den Quellbaum lesen, und der ist im laufenden Container nicht mehr da: Die Prüfung liefe in just dev und fände in der Produktion still nichts.

Eine Seite, die vollständig aussieht und heimlich nichts prüft, ist schlechter als eine, die sagt, wo die andere Hälfte geprüft wird. Sie wird geprüft in lib/docs.test.ts, dort wo die Dateien liegen: ein Verzeichnis mit page.tsx, das kein Kapitel registriert, lässt die Suite fallen.