-
v4.6.0 Stable
released this
2026-09-04 13:33:22 +00:00 | 62 commits to main since this release4.6.0 - 2026-09-04 - stack-dev/stack-close skill split, publish stack-machinery note, model-selection fix (#47 Block 2)
Author: Torben Nehmer
- stack-dev/stack-close skill split, publish stack-machinery note, model-selection fix (#47 Block 2)
Block 2 aus #47 (Vorschlag E, am 2026-09-04 entschieden): die ungeprüfte Schlussphase einer
Stack-Sitzung - Issue-Body-Rewrite,docs/-Veralterung, Changelog-Prosa - hatte bisher keinen
eigenen Haltepunkt, sondern einen Prosa-Break instack-devSchritt 6. Der ist zweimal
hintereinander verschluckt worden (#42, #30), beide Male mit echtem Fund im nachgeholten
Durchgang. Ein dritter Prosa-Haltepunkt hätte dieselbe Wette verloren, die
docs/why-gates-are-code.mdfür Gates schon verliert - also keine Prosa-Lösung mehr, sondern ein
struktureller Schnitt.Neuer Skill
stack-close, dev-only wiestack-dev.stack-devendet nachtools/wikitool publishmit einem Stop statt mit einem sechsten Schritt; die Schlussphase existiert nur noch als
eigener Skill, den eine Sitzung aufrufen muss - es gibt keinen „nächsten Schritt" mehr, an dem
vorbei sie rutschen könnte.stack-closeträgt drei Dinge: den Modell-Rückwechsel-Hinweis (wie
zuvor), die Body-Rewrite-Disziplin ausissue-tracking.mdSchritte 2-3 und 7, und neu die
Handover-Pflicht über die ganze Sitzung: benannt wird das Modell für Design/Versionsstelle
(Schritt 3), für die mechanische Mitte, und für diese Schlussphase - alle drei, auch wenn sie
identisch sind. Eine Handover-Zeile, die nur eine billige Schlussphase meldet, schweigt genau
dann, wenn die ebenso ungeprüfte Design-Phase auch billig lief und niemand dort gewechselt hat.Ein Agenten-Zuschnitt (Schlussphase als eigener Subagent mit eigenem Modell) wurde geprüft und
verworfen: ein Fork erbt in Claude Code zwingend das Elternmodell, ein frischer Subagent den
Sitzungskontext nicht - die Kombination, die der Zuschnitt bräuchte, gibt es nicht, und selbst
wenn: der Input der Schlussphase ist das akkumulierte Sitzungswissen, das ein kalter Agent aus
Diff und Issue neu ableiten müsste. Volle Begründung im Body von #47.instructions/claude-code-model-selection.mdkorrigiert, im dist-strip-Block: die
Übersicht „stack-dev Schritt 3 und 6" ist falsch geworden, seit Schritt 6 nicht mehr existiert.
Sie benennt jetzt beide Haltepunkte an ihrem tatsächlichen Ort - Schritt 3 instack-dev,
der zweite am Anfang vonstack-close.stack-devSchritt 3 ehrlicher formuliert (Vorschlag C): nicht mehr „ab hier alles
mechanisch", sondern mit benannter Ausnahme - Changelog-Prosa (Schritt 4), eine berührte
docs/-Seite, neue Menschendoku, der Prosa-Anteil einer Instruction. Dazu die Einschränkung aus
#30: „durch Tests abgedeckt" gilt nur für das, was die Tests treffen - zwei
datenvernichtende Bugs inupstream mergeliefen an einem grünenpytest/docs verify/instructions verify/CI vorbei, weil kein Test den Fall traf, nicht weil ein
schwächeres Modell schlechteren Code für den getesteten Fall geschrieben hätte.Neu:
tools/wikitool publishselbst erinnert an die Phasengrenze. Berührt das Changeset
tools/,types/,instructions/,AGENTS.mdoder ein<stage>/CONTRACT.md- derselbe
Umfang, den ein Versions-Bump selbst abdeckt -, drucktpublishnach der Erfolgsmeldung eine
Zeile, dass die folgende Phase von keinem der drei Checks abgedeckt ist. Kein Gate, keine
Änderung am Exit-Code, für eine gewöhnliche Content-Publish stumm; harness- und
instanzneutral formuliert, ohne jede Erwähnung eines Trackers, weilpublishvon jedem
Skill genutzt wird, nicht nur vonstack-dev.git_publish.touches_stack_machinery()plus
vier neue Tests (test_git_publish.py): zwei für die reine Klassifikationsfunktion
(positiv/negativ), zwei Integrationstests gegen einen echten Publish - die Notiz erscheint genau
einmal bei einerinstructions/-Änderung und bleibt aus bei einer gewöhnlichenkb/-Änderung.
tools/CONTRACT.mdspublish-Zeile trägt die Kurzfassung, absichtlich ohne den Dateinamen
version-parts.mdzu nennen - die Datei liegt unterinstructions/dev/und würde in einer
ausgelieferten Instanz ins Leere zeigen, währendtools/CONTRACT.mdselbst ausgeliefert wird.Verifiziert:
tools/wikitool instructions sync(7 Skills,stack-closeneu),tools/wikitool docs verify,tools/wikitool instructions verify,.venv/bin/python -m pytest -q(967
passed, 4 davon neu).#47 bleibt offen für Block 3 (
DEVELOPMENT.mdinSTAGE_READMES, veraltete Release-Notes).Downloads