Entwurf · Issue cb83cdf
Ein Plan darf ein Kapitel wahr halten
Nicht jede Karte verdient ein neues Kapitel. Die kleine Karte zeigt auf das bestehende, das ihre Änderung wahr hält — und die Signatur bindet dessen Baum genauso, wie sie einen Entwurf bindet.
ecdea18 hat entschieden: draft: oder settles:, genau eines. Ein draft: fügt ein Kapitel hinzu; ein settles: nennt das bestehende, dessen Aussagen die Änderung nicht brechen darf. Beides zeigt auf ein Verzeichnis unter app/docs/design/, beides landet als draft-tree im Statement — die Arbeit kann nicht ändern, was sie wahr zu halten behauptet, ohne die Signatur zu brechen.
01Genau ein Zeiger
Beide Schlüssel zugleich wären zwei Antworten auf die Frage, welches Kapitel die Approval bindet — plan-spec.ts verweigert das schon lokal, die Kette noch einmal. Keiner von beiden bleibt hier gültig: Pläne, die älter sind als die Entwurfsregel, tragen keinen, und die KETTE ist es, die ein Kapitel verlangt — nicht der Form-Check, der offline und in einem frischen Klon grün bleiben muss.
- offenein settles:-Plan besteht den Form-Check
- offendraft: und settles: zugleich werden verweigert — mit genau einer Beschwerde
- hältsettles: wird als eigenes Feld gelesen, nicht als draft: verkleidet
02Der Digest bewegt sich nicht rückwärts
Die kanonische Form bekommt die settles=-Zeile nur, wenn der Schlüssel gesetzt ist. Eine unbedingte Zeile hätte die kanonische Form jedes bereits signierten Plans geändert und alle Signaturen im Baum auf einmal gebrochen. Und die beiden Zeiger können nie denselben Digest teilen: welches Versprechen gegeben wurde — ein neues Kapitel, oder ein bestehendes wahr halten — ist Teil dessen, was die Person approvt hat.
- hältein draft:-Plan trägt keine settles=-Zeile — alte Signaturen verifizieren Byte für Byte weiter
- hältdraft: gegen settles: getauscht ist ein anderer Plan, selbst zum selben Kapitel
03Was die Seite nicht sehen kann
Dass die Kette einen Plan ohne jeden Zeiger verweigert und einen mit beiden vor dem Baum-Lookup stoppt, prüft lib/chain.test.ts — die Ketten-Fixtures brauchen ein Statement samt Signatur, und das gehört in einen Test, nicht in ein Kapitel. Dass das Gate auf der Broker-Box den zweiten Schlüssel liest, ist eine eigene Karte im ci-broker-Repo, verkettet über needs/start-complex/cb83cdf — bis sie landet, besteht ein settles:-Plan jede lokale Prüfung und fällt am Gate.