Problem statement built on the four drift patterns from the Session-1 field test, six numeric acceptance criteria, non-goals (no history rewrite, no push, no component rollout, no forge-state destruction), announcement paragraph. Gates 2-5 deliberately not pre-filled, per WORKFLOW.md. Frontmatter validates against neckbeard v0.1.1 schema with 0 errors for this file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
130 lines
6.2 KiB
Markdown
130 lines
6.2 KiB
Markdown
---
|
||
type: design
|
||
status: gate-1
|
||
date: 2026-08-11
|
||
size: L
|
||
related:
|
||
- "PROJECT.md"
|
||
- "decisions/0005-pm-framework-kanban.md"
|
||
- "decisions/0009-commit-konventionen-und-historien-anonymisierung.md"
|
||
- "decisions/0010-haertung-eigener-meilenstein.md"
|
||
---
|
||
|
||
# Design: Migration des Management-Systems auf neckbeard
|
||
|
||
Grundlage: der Feldtest-Report auf dem Branch `Neckbeard-v0.1.1-analyse-1`
|
||
(Session 1, eingefroren; Befunde F-001…F-017), gemessen gegen neckbeard
|
||
v0.1.1 @ `823a08cac6b03a47d7e2f661200a49ac6e09d38d`. Bindende Vorgabe aus
|
||
der Übergabe: **erst die Fehlermuster beider Ansätze durcharbeiten und den
|
||
Wert des alten Ansatzes in neckbeard einfalten — Übernahme erst danach.**
|
||
|
||
## Gate 1 — Produkt
|
||
|
||
### Problem
|
||
|
||
Das Management-Repo steuert fünf Komponenten-Repos und sich selbst mit
|
||
einem eigenen Regelwerk. Der Feldtest zeigt: Das Regelwerk ist nicht
|
||
verfallen, sondern **ungleich durchgesetzt**. Wo ein Werkzeug die Regel
|
||
hält, hält sie vollständig — alle 71 offenen Issues haben genau einen
|
||
Meilenstein, das WIP-Limit steht, 0 von 161 Dokument-Links sind tot
|
||
(F-014). Wo nichts prüft — Prosa, Git-Metadaten, Übereinstimmung zweier
|
||
Dateien — versagt dasselbe Regelwerk wiederholt, in vier Mustern:
|
||
|
||
- **A** — Entscheidung im Werkzeug vollzogen, Doku nicht nachgezogen:
|
||
M5 existiert und trägt 14 Issues, aber `roadmap.md` stellt ihn als
|
||
offene Frage dar und die kanonische Arbeitsgrundlage bindet Issues an
|
||
„M1–M4" (F-001; ferner F-005, F-007, F-010, F-017).
|
||
- **B** — Regel repo-weit erklärt, auf eine Teilmenge angewandt:
|
||
Zeitstempel-Anonymisierung erreicht 1 von 6 Repos, 5 Autor-Identitäten
|
||
einer Person überleben, 4 von 5 Komponenten haben kein versprochenes
|
||
CLAUDE.md, fünf Komponenten tragen vier Namensschemata (F-002, F-003,
|
||
F-008, F-011).
|
||
- **C** — zwei Backlogs, eine Regel: fünf offene Arbeitspunkte leben nur
|
||
in `hosts/`-Markdown, unsichtbar für Board, Meilenstein und Priorität
|
||
(F-004, F-009).
|
||
- **D** — Artefakte überleben ihren Zweck ohne Eigentümer: verwaiste
|
||
Branches publizieren Vor-Rewrite-Historie, zitierte SHAs sind
|
||
unauflösbar (F-006, F-012).
|
||
|
||
Betroffen sind sorb und jede Agenten-Session: Jede neue Session wird von
|
||
der kanonischen Datei falsch geprimt und würde vollzogene Entscheidungen
|
||
rückgängig machen. Neckbeard adressiert genau diese Klasse — hält aber
|
||
selbst sieben im Feldtest belegte Lücken, allen voran: ADR-0001 löst
|
||
„ein Repo, viele Harnesse", dieses Projekt ist „viele Repos, ein
|
||
Regelwerk", und für die Frage, wo die 71 offenen GitLab-Issues nach der
|
||
Migration leben, existiert nur eine aufgeschobene Option C. Beide
|
||
Entscheidungen fallen in Gate 2, jeweils als ADR.
|
||
|
||
Das Produkt dieser Undertaking: das Management-System dieses Repos auf
|
||
neckbeard umziehen, so dass die vorhandene Disziplin von Stellen, die
|
||
nur ein Mensch prüfen kann, an Stellen wandert, die ein Skript prüft —
|
||
nachdem der Wert des alten Ansatzes (F-013…F-016, Meilenstein-/
|
||
Prioritäts-Evidenz, Mirror-Topologie-Prosa) in neckbeard eingefaltet
|
||
wurde.
|
||
|
||
### Akzeptanzkriterien (verifizierbar)
|
||
|
||
1. **Deterministische Gates grün:** `scripts/validate.py` meldet auf dem
|
||
migrierten Repo 0 Fehler; `scripts/gen_status.py --check` meldet
|
||
STATUS.md aktuell.
|
||
2. **Entscheidungen portiert:** alle 10 Entscheidungen
|
||
(`decisions/0001…0010`) liegen als ADRs mit schema-konformem
|
||
Frontmatter unter `docs/adr/` — 10/10 validieren.
|
||
3. **Ein Backlog:** die fünf Arbeitspunkte aus F-004 (OVERMIND-01,
|
||
CFGMON-11/12/13, MATRIX-05) existieren als Issues im kanonischen
|
||
System — 5/5; 0 offene „Nächste Schritte" in `hosts/` ohne
|
||
Issue-Referenz.
|
||
4. **Generierte statt behaupteter Zustand:** 0 handgepflegte Zählungen
|
||
und „Stand"-Etiketten in kanonischen Dateien, wo ein Generat sie
|
||
ersetzt; kein kanonisches Dokument widerspricht dem Werkzeugstand
|
||
bei den Meilensteinen (M1–M5).
|
||
5. **Muster → Mechanismus:** für jedes Driftmuster A–D benennt das
|
||
Design mindestens einen deterministischen Check, und pro Muster feuert
|
||
mindestens ein Check nachweislich auf dem Vor-Migrations-Stand — 4/4
|
||
demonstriert.
|
||
6. **Ernte dokumentiert:** 7/7 neckbeard-Lücken mit Disposition
|
||
(eingefaltet / als Framework-Issue notiert / verworfen mit Grund);
|
||
4/4 Works-well-Befunde mit benanntem Erhaltungsmechanismus oder
|
||
begründetem Verzicht.
|
||
|
||
### Nicht-Ziele
|
||
|
||
- **Keine Historien-Umschreibung.** Die F-002/F-003-Remediation ist ein
|
||
eigener Vorgang mit eigener bindender Auflage (Zuordnung im Stil von
|
||
`shared/commit-zuordnung-2026-08-07.md`); diese Undertaking darf ihr
|
||
nur nicht im Weg stehen.
|
||
- **Kein Push** nach git.lab oder Gitea; der Branch bleibt lokal bis zur
|
||
Freigabe durch sorb.
|
||
- **Keine Änderung am neckbeard-Upstream.** Lücken werden hier
|
||
dispositioniert; sie dort einzureichen ist ein eigener Akt.
|
||
- **Kein Rollout in die fünf Komponenten-Repos** über das hinaus, was
|
||
die Shared-Ruleset-Entscheidung (Gate 2) zwingend erfordert; der
|
||
Rollout wird als Folge-Issues angelegt, nicht hier gebaut.
|
||
- **Kein Forge-Zustand wird zerstört:** keine Löschung von
|
||
GitLab-Issues, Labels, Meilensteinen oder dem Board durch die
|
||
Migration selbst.
|
||
- **`analysis/` bleibt eingefroren** — der Branch von Session 1 wird
|
||
weder verändert noch umgebaut.
|
||
- **Kein inhaltliches Umschreiben** des Host-/Visions-/Verfahrenswissens:
|
||
Umzug, Frontmatter und Korrektur werkzeugwidersprechender Aussagen ja,
|
||
Neuformulierung nein.
|
||
|
||
### Ankündigung
|
||
|
||
Das Management-Repo der Gruppe axion1337.chat zieht auf das
|
||
neckbeard-Framework um. Die vorhandene Disziplin — Meilensteinpflicht,
|
||
Status-Disziplin, ADR-Pflicht, AARs — bleibt erhalten, wandert aber von
|
||
Stellen, die nur ein Mensch prüfen kann, an Stellen, die ein Skript
|
||
prüft: Frontmatter statt Prosa, generiertes STATUS.md statt
|
||
handgepflegter Zählungen, `validate.py` statt Konventionstreue aus dem
|
||
Gedächtnis. Die vier Driftmuster des Feldtests bekommen je einen
|
||
deterministischen Check, und was der alte Ansatz besser kann als
|
||
neckbeard, wird zuerst ins Framework eingefaltet statt verworfen.
|
||
Zielgruppe sind sorb und alle Agenten-Sessions, die künftig von einer
|
||
Quelle starten, die sich nicht selbst widerspricht.
|
||
|
||
### UI
|
||
|
||
Keine UI beteiligt — Artefakte sind Markdown-Dateien, die Oberfläche
|
||
bleibt GitLab/Obsidian/Editor. Mockups entfallen.
|