18ae28f918
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki: raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren Grenzen in Code durchgesetzt sind statt im Prompt. Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44 Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist. Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs. Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte. Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet - siehe NOTICE.
5.6 KiB
5.6 KiB
type, concept_type, tags, created, modified, related, sources, confidence, confidence_base, provenance, summary
| type | concept_type | tags | created | modified | related | sources | confidence | confidence_base | provenance | summary | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| types/concept.md | workflow |
|
2026-08-03 | 2026-09-01 |
|
|
0.80 | 0.80 | sourced | CI/CD-Hooks vor dem Publish: ci.yml (Push/PR, Stack-Pfade, seit 1.8.1 mit Coverage-Messung ohne Schwelle) und nightly.yml (Zeitplan, schliesst die paths-ignore-Luecke fuer Content-Drift; schedule-Ausloesung seit 2026-09-01 bestaetigt) setzen Quality Gates durch |
CI Integration
Typ: workflow
Definition
CI Integration bezieht sich auf die Einrichtung von Pre-Commit-Hooks und CI/CD-Pipelines, die automatisch Quality Gates durchsetzen, bevor Änderungen im Repository veröffentlicht werden. Dies stellt sicher, dass Regressionen früh abgefangen werden und das Wiki jederzeit strukturelle Integrität bewahrt.
Kernpunkte
- Umgesetzt, nicht mehr nur geplant:
.gitea/workflows/ci.ymlläuft seit1.2.0bei jedem Push/PR auf Stack-Pfaden und führtdocs verify,instructions verifyundlint --fail-on-erroraus, bevordist exportdie Verteilung prüft. paths-ignoreschließt Content-Commits explizit aus (kb/,raw/,work/,reports/) - ein reiner Wiki-Publish löst also keinen CI-Lauf aus. Das ist gewollt (publishfasst bei jedem Ingestkb/an, die volle Suite dafür zu fahren wäre Lärm), öffnet aber eine Lücke: strukturelle Regression im Korpus selbst fällt zwischen zwei Content-Publishes niemandem auf. Siehe Gitea Actions für den Beleg, dass der Filter tatsächlich greift.- Diese Lücke schließt ein zweiter, geplanter Workflow, nicht ein Pre-Commit-Hook:
.gitea/workflows/nightly.yml(seit 2026-08-31, Gitea-Issue #9) läufton: scheduleplusworkflow_dispatchund fährtdoctor,docs verify/instructions verify,lint --fail-on-error,sources coverageundmigrate statusunabhängig vom Push-Ereignis1 . Ein Workflow, derdoctorauf einem frischen Checkout aufruft, braucht denselben Bootstrap wie ein neuer Clone (git-Identität,instructions sync) - sonst scheitert er an der eigenen Startbedingung, nicht am Korpus1 .Ob der(Stand 2026-08-31)1 . Beobachtet seit 2026-09-01: Run 90 feuerte als erster Lauf mitschedule-Trigger auf dieser Gitea-Instanz tatsächlich feuert, ist noch unbeobachtet - bislang bewiesen nur, dass der Job selbst läuft"event":"schedule", exakt zur konfigurierten Cron-Zeit (17 3 * * *UTC), alle sieben Schritte grün - der Trigger funktioniert also auf diesem Gitea-1.26.1-Stand tatsächlich, Gitea-Issue #9 ist geschlossen. - Fehlersichtbarkeit ist eine bewusste Nutzerentscheidung, kein Automatismus: ein
fehlgeschlagener
nightly-Lauf meldet sich über Giteas eigene Run-Notification, nicht über ein automatisch angelegtes Issue1 . - Ein Pre-Commit-Hook (lokale Prüfung vor
git commit) ist bisher nicht eingerichtet - beide bestehenden Workflows sind serverseitig. ci.ymls Tests-Schritt misst seit1.8.1Coverage und weist sie als Artefakt aus, ohne Abbruchschwelle - siehe Messen vor Schwelle für die Begründung der Reihenfolge. Konfiguration intools/.coveragerc, nichtpytest.ini, weil coverage.py Letzteres nicht liest.
Beispiele
ci.yml:docs verify+instructions verify+lint --fail-on-errorbei jedem Stack-Push/PR, danachdist exportund ein Replay vonsetup-instance.mdgegen die Export.nightly.yml: dieselben Kernprüfungen auf einem Zeitplan statt auf einen Push, damit Korpus-Drift zwischen zwei Content-Publishes nicht unbemerkt bleibt.
Implementierungshinweise
Beide Workflows teilen sich dieselbe Runner-Form (Debian trixie-slim, nodejs vor dem Checkout,
actions/checkout@v7) - siehe Gitea Actions für die Begründung und die dort dokumentierten
Fallstricke (fehlendes node im Image, git-Konfiguration im Job-Container, doctors
Bootstrap-Anspruch an eine Instanz statt an einen bloßen Checkout).
Wann zu verwenden
- In jeder produktiven oder gemeinsam genutzten Wiki-Bereitstellung
- Um Konsistenz über mehrere Mitwirkende durchzusetzen
- Um Fehler vor Erreichen des Hauptzweigs abzufangen
Wann NICHT zu verwenden
- In früher Entwicklung, wenn sich Regeln häufig ändern
- Für Single-Contributor-Test-Repos, bei denen manuelle Prüfungen ausreichend sind
Verwandte Concepts
- wikitool (stellt Lint- und andere Befehle für CI bereit) (die Reihenfolge hinter dem Coverage-Reporting) (CI-Gates ergänzen Runtime-Gates)
- Lint Workflow (Lint ist eine Schlüssel-CI-Prüfung)
- Source - LLM Improvements Codex Analysis2
Beziehungen
- verwendet: wikitool
- implementiert über: Gitea Actions