Tracer bullet of the migration design (Gate 4, slice 1): pinned v0.1.1 baseline under docs/sources/upstream/ with provenance note, the Karpathy block moved verbatim to docs/sources/regelwerk/ (standing rule mapped onto the sources read-only mechanism), AGENTS.md assembled from the byte-true upstream sections plus the project section 6 (group rules condensed from the old CLAUDE.md), CLAUDE.md reduced to the upstream pointer, WORKFLOW.md and all four templates copied, schema.yaml extended (issue milestone/priority/status columns, component type, wiki area vision - all flagged in the header), validate.py and gen_status.py forked with marked extensions, pruefe_upstream_drift.py added, STATUS.md generated, CI gains the offline validate job, README directory link defused. Verified: validate 0 errors 0 warnings (the three pre-existing directory-link errors are gone), gen_status --check current, drift check 0 findings, baseline byte-identical to the reference checkout (10/10 files), four negative tests fire (WIP limit 3x in-progress, waiting without wartegrund, component slug mismatch, single-byte drift in WORKFLOW.md). gen_status needs Python >= 3.10 locally (write_text newline) - noted for the design AAR. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
83 lines
4.4 KiB
Markdown
83 lines
4.4 KiB
Markdown
# management
|
|
|
|
Steuerungs-Repo für alles über den einzelnen Projekten: Visionen, Roadmap,
|
|
Entscheidungen (ADR), Arbeitsverfahren, AARs — und der Bestand der Hosts.
|
|
Framework: **Kanban-Rückgrat mit leichten Scrum-Elementen**, begründet und
|
|
im Detail festgelegt in [ADR-0005](decisions/0005-pm-framework-kanban.md).
|
|
|
|
*(Bis 2026-08-01 hieß dieses Repo `Backlogs` und führte offene Punkte als
|
|
Markdown — die leben jetzt als Issues, siehe unten.)*
|
|
|
|
## Repo-Topologie (seit 2026-08-01)
|
|
|
|
**Kanonisch lebt dieses Repo auf `git.lab`** (`axion1337.chat/management`, nur im
|
|
Lab bzw. via VPN erreichbar — das Lab ist die Quelle der Wahrheit,
|
|
[ADR-0002](decisions/0002-issues-und-management-ins-lab.md)).
|
|
`rohana.axion1337.de/sorb/management` ist ein **Push-Mirror**: git.lab
|
|
überschreibt ihn bei jedem Push per Force. Deshalb **nie direkt zu Gitea
|
|
pushen** — solche Commits gehen beim nächsten Mirror-Lauf verloren (Rettung:
|
|
`.patch` von Gitea ziehen + `git am`, siehe
|
|
[Kanonisierung](verfahren/deploy-uebergabe.md)).
|
|
|
|
**Keine Ausnahmen mehr.** Die **Deploy-Übergabe-Issues** liefen bis 2026-08-02 auf
|
|
dem Gitea-Tracker, weil Hosts außerhalb des Labs `git.lab` nicht erreichten. Mit dem
|
|
Site-to-Site-VPN ([ADR-0004](decisions/0004-site-to-site-vpn-hetzner-lab.md)) ist der
|
|
Grund entfallen — bei eingeschaltetem Tunnel erreicht CFGMON git.lab. Sie sind
|
|
umgezogen (LABNET-03), der Gitea-Tracker ist leer, die Vorlage liegt als
|
|
GitLab-Issue-Template. **Alle Issues leben auf git.lab.**
|
|
|
|
## Struktur
|
|
|
|
| Pfad | Artefakt |
|
|
|---|---|
|
|
| [`CLAUDE.md`](CLAUDE.md) | **Kanonische Arbeitskonventionen für alle Agenten-Sessions** (Topologie, Framework, Secrets, Karpathy-Guidelines) |
|
|
| `vision/` | Eine Vision je Linie: Community (axion1337.chat), Tool (ThreadNet), Plattform (Homelab) |
|
|
| `roadmap.md` | Linien, Meilenstein-Kandidaten, Kadenz — GitLab-Milestones halten den Stand |
|
|
| `decisions/` | ADRs — Pflicht bei Architekturentscheidungen **und dauerhaften Ausnahmen** |
|
|
| `verfahren/` | Wie wir arbeiten: [Deploy-Übergabe/DoD](verfahren/deploy-uebergabe.md), [Refinement & Retro](verfahren/refinement.md), AARs (`verfahren/aar/`), Werkzeuge |
|
|
| `hosts/`, `shared/` | **Bestand + Historie** je Host/Thema — u. a. [Branding](shared/branding.md) (Marke, Paletten, wo welches Theme eingestellt ist); offene Punkte sind Issues |
|
|
|
|
Gelesen wird das alles auch gebündelt unter **[axionwiki.lab](https://axionwiki.lab)** —
|
|
dort stehen Plattform-Wiki, Homelab-Doku und dieses Repo nebeneinander
|
|
([ADR-0006](decisions/0006-wikis-konsolidieren-docusaurus.md), Konfiguration in
|
|
[`homelab/wiki`](https://git.lab/homelab/wiki)). **Geändert wird immer hier, nie dort.**
|
|
|
|
## Das Backlog: Issues + Board
|
|
|
|
Alle offenen Punkte sind **Issues in diesem Projekt** (host-/infra-Scope, mit
|
|
`host:`-Labels; die alten IDs wie `CFGMON-01` bleiben im Titel) bzw. in den
|
|
Produkt-Projekten der Gruppe (Projekt-Scope). Das
|
|
**[Gruppen-Board](https://git.lab/groups/axion1337.chat/-/boards)** zeigt alles
|
|
über die `status:`-Labels:
|
|
|
|
| Label | Bedeutung | Policy |
|
|
|---|---|---|
|
|
| *(keins)* | Backlog | wird im Refinement gesichtet |
|
|
| `status:next` | als Nächstes gezogen | die einzige „Zusage" (Pull nach Kapazität) |
|
|
| `status:doing` | in Arbeit | **WIP-Limit: max. 2** |
|
|
| `status:wartet` | blockiert | nur mit benanntem Grund im Issue |
|
|
|
|
Genau **ein** `status:`-Label pro Issue. Prioritäten weiter über `priority:*`.
|
|
|
|
## Konventionen (unverändert gültig)
|
|
|
|
**IDs** (`CFGMON-01`, `ZONE-01`, …) werden **nie wiederverwendet**; sie leben in
|
|
Issue-Titeln weiter. Neue host-/infra-Punkte bekommen die nächste freie Nummer
|
|
ihres Präfixes als Issue.
|
|
|
|
**Jeder Punkt braucht** eine Beschreibung des tatsächlichen Zustands und einen
|
|
konkreten nächsten Schritt; nicht selbst Verifiziertes wird als solches markiert
|
|
(woher stammt die Aussage?). **Zeitkritisches** bekommt ein Datum, nicht „bald".
|
|
|
|
**Erledigtes und Verworfenes** bleibt sichtbar: Issues werden geschlossen (nicht
|
|
gelöscht), `verworfen` wird im Schlusskommentar begründet — der Unterschied
|
|
zwischen „gemacht" und „bewusst gelassen" ist die häufigste Rückfrage.
|
|
|
|
## Verhältnis zu den Projekt-Repos
|
|
|
|
Konfiguration lebt in den Projekt-Repos (z. B. `threadnet-operating` für den
|
|
CFGMON-Stack), reine Projekt-Bugs/-Features in deren Issues auf git.lab.
|
|
Hierher gehört, was mehrere Hosts/Repos betrifft oder eine Entscheidung ist.
|
|
Ein Punkt, der von zwei Seiten beschrieben wird, verlinkt die andere Seite und
|
|
wird beim Schließen **dort mitaktualisiert**.
|