Files
claude-regelwerk/AI/Regelwerk/veroeffentlichung.md
T
Pascal MichelandClaude Opus 5 b148b90a23 Automatischer Push der Anweisungsschicht
Der Vault-Root pusht ab jetzt nach jeder Änderung an CLAUDE.md,
AI/Regelwerk/, .claude/agents/, .claude/skills/, .claude/settings.json
oder .vault-tools/ selbsttätig nach Gitea.

- .vault-tools/auto-push/auto_push.py: PostToolUse-Hook, committet und
  pusht. Fehlendes Token, fehlendes Remote und gescheiterter Push sind
  Befunde und gehen in den Kontext, nicht ins Schweigen.
- .vault-tools/auto-push/askpass.py: reicht GITEA_TOKEN an git weiter,
  damit es weder in .git/config noch in einer Kommandozeile steht.
- .vault-tools/auto-push/faelle_auto_push.py: 28 Fälle gegen ein echtes
  Wegwerf-Repo mit echtem Remote, alle bestanden. Der Lauf hat zwei
  Fehler gefunden, die jetzt behoben sind: die Pfadauflösung scheiterte
  an Windows-Kurznamen, und die Laufzeitsperre landete im Repo.
- AI/Regelwerk/veroeffentlichung.md und ein Abschnitt im Stamm halten
  die Regel fest.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-17 22:54:37 +02:00

4.6 KiB

type, status, title, summary, tags, created, updated
type status title summary tags created updated
resource reference Veröffentlichung der Anweisungsschicht Welcher Teil des Vaults in das Gitea-Repo claude-regelwerk geht, wie die Positivliste funktioniert und was der automatische Push tut. Laden, bevor der veröffentlichte Umfang geändert wird oder wenn ein Auto-Push-Befund im Kontext steht.
regelwerk
git
veroeffentlichung
werkzeuge
2026-09-17 2026-09-17

Veröffentlichung der Anweisungsschicht

Angeordnet am 2026-09-17. Die Anweisungsschicht des Vaults liegt seitdem in einem eigenen Git-Repo und wird nach jeder Änderung automatisch gepusht. Laden, wenn der Umfang geändert werden soll oder wenn eine Auto-Push-Meldung im Kontext steht.

Der Vault-Root ist jetzt ein Git-Repo. Das war er vorher nicht, und es widerspricht nicht AI/Regelwerk/projekte: Die Projekte unter Code Projekte/ behalten ihre eigenen Repos, die von diesem hier nicht berührt werden.

Remote https://git.nexhorizons.de/Nexhorizons/claude-regelwerk.git
Zweig main
Sichtbarkeit Repo auf public, aber die Organisation Nexhorizons ist privat und die Instanz verlangt für jede Ansicht eine Anmeldung. Faktisch ist es damit nur für angemeldete Nutzer der Instanz sichtbar.

Was hinausgeht — und warum die Liste so herum steht

Die .gitignore im Vault-Root ist eine Positivliste: Sie schließt mit /* erst alles aus und nimmt dann einzeln wieder auf. Eine Ausschlussliste wäre hier falsch herum — sie müsste jede künftige Notiz, jeden neuen Kundenordner und jede Depotdatei vorhersehen, und die erste vergessene Zeile ist eine Veröffentlichung.

Eingeschlossen sind: CLAUDE.md, README.md, AI/Regelwerk/, .claude/agents/, .claude/skills/, .claude/settings.json, .vault-tools/.

Draußen bleibt damit alles andere, insbesondere Inbox/, Code Projekte/, Security - Compliance Projekte/, Finanzen/, IT Workspace/, AI/sessions/, AI/secondbrain/, Bookstack/, Import/ und .claude/settings.local.json.

Wer den Umfang ändern will, ändert die .gitignore — nicht die Pfadliste im Hook. Die Liste dort entscheidet nur, ob der Hook überhaupt anläuft.

Was vor der Aufnahme einer Datei geprüft wird

Vor jeder Erweiterung der Positivliste, von Hand:

  1. Kundennamen, Domains, IP-Adressen, Snippet- und Ticket-IDs. In seo.md stand ein Kundenname im Klartext; er ist am 2026-09-17 durch eine neutrale Bezeichnung ersetzt worden. Die Fallgeschichte gehört ins Harness-Gedächtnis, nicht ins Regelwerk.
  2. Zugangsdaten. Skripte lesen Zugänge aus Umgebungsvariablen, nie aus einer Datei im Repo. Gilt auch für Standardwerte und Beispielaufrufe in Kommentaren.
  3. __pycache__ und Laufzeitdateien. .pyc trägt kompilierte Zeichenketten, unter anderem URLs, und ist bereits einmal aufgefallen.

Der automatische Push

.vault-tools/auto-push/auto_push.py, eingetragen als PostToolUse-Hook auf Edit|Write|MultiEdit. Nach jeder Änderung an einer eingeschlossenen Datei: git add -A, Commit, Push. Das Token kommt über .vault-tools/auto-push/askpass.py aus der Umgebungsvariable GITEA_TOKEN; in .git/config steht nur der Benutzername.

Es gibt keine Freigabe und keinen Geheimnis-Scan. Was in einer eingeschlossenen Datei steht, geht heraus, sobald sie geschrieben wird — auch ein halbfertiger Zwischenstand. Das ist so angeordnet und der Grund, warum die Positivliste die einzige Schranke ist.

Eine fehlende Voraussetzung ist ein Befund, kein Grund zu schweigen. Fehlendes Token, fehlendes Remote, gescheiterter Push: Der Hook meldet das in den Kontext. Ein gescheiterter Push verliert nichts — der Commit bleibt lokal, der nächste Lauf schiebt ihn mit.

Wenn eine Auto-Push-Meldung kommt, ist sie zu lesen und nicht wegzuklicken. Der häufigste Fall wird ein Push-Fehler bei fehlendem Netz sein; dann genügt es, später eine beliebige eingeschlossene Datei erneut zu speichern.

Der Fallkatalog liegt daneben: python .vault-tools/auto-push/faelle_auto_push.py fährt 28 Fälle gegen ein echtes Wegwerf-Repo mit echtem Remote. Er ist ein Fangnetz, kein Nachweis — er sieht, ob der Hook auslöst und ob die Positivliste hält, und nicht, ob eine eingeschlossene Datei etwas enthält, das niemand veröffentlichen wollte.

Referenzen