Skip to content

fix(doku-lint): exakten PR-Head und Policy-Typ organisationsweit absichern - #21

Closed
Klangschalen wants to merge 6 commits into
mainfrom
claude/festive-mccarthy-c3bn1j
Closed

fix(doku-lint): exakten PR-Head und Policy-Typ organisationsweit absichern#21
Klangschalen wants to merge 6 commits into
mainfrom
claude/festive-mccarthy-c3bn1j

Conversation

@Klangschalen

@Klangschalen Klangschalen commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Ziel

Der zentrale Doku-Lint darf weder GitHubs synthetischen Merge-Commit prüfen noch einen gültigen Richtlinien-Commit wegen einer versteckten Typenliste ablehnen.

Ursachen

  1. actions/checkout lief ohne festes ref; bei Pull Requests konnte dadurch der synthetische Merge-Commit statt des eingereichten Head-Commits geprüft werden.
  2. Gate 3 hing bisher am gemeinsamen warn_only-Schalter.
  3. Die erlaubten Commit-Typen waren nur in einer Regex sichtbar; policy: fehlte.
  4. Ein eigener Rückfalltest für diese Vertragsbestandteile existierte nicht.

Umsetzung

  • SOURCE_COMMIT bindet Pull Requests an github.event.pull_request.head.sha und Pushes an github.sha.
  • Checkout, Diff und Commit-Titel nutzen dieselbe explizite Quell-SHA.
  • commit_format_warn_only steuert Gate 3 getrennt und steht standardmäßig auf false.
  • allowed_commit_types macht die Typenliste sichtbar und erweiterbar.
  • policy gehört zum organisationsweiten Standard; docs(policy): bleibt ebenfalls gültig.
  • Fehlermeldungen nennen Quell-SHA, Titel, gefundenen Typ, erlaubte Typen und Beispiele.
  • scripts/test_doku_lint_contract.py plus doku-lint-contract.yml verhindern Rückfälle.
  • README und CHANGELOG erklären denselben Vertrag.

Lokale Prüfung

Der Vertragstest lief vor dem Push mit PASS. GitHub Actions muss den exakten Branch-Stand zusätzlich bestätigen.

Rollout-Grenze

Caller mit @main erhalten den neuen zentralen Stand nach dem Merge. Auf alte SHAs gepinnte Caller brauchen einen eigenen Versions-PR. Das Repository Klangschalen/zentrale nutzt derzeit noch einen lokalen Doku-Lint und wird separat angeglichen.

Betriebsgrenze

Keine Produktions-, Shop-, Datenbank- oder Supabase-Änderung. Nur GitHub-Workflow, Tests und Dokumentation.

@Klangschalen
Klangschalen force-pushed the claude/festive-mccarthy-c3bn1j branch from e723ef3 to ce9ac72 Compare September 4, 2026 12:43
@Klangschalen Klangschalen changed the title fix(doku-lint): Gate 3 (Commit-Format) unabhaengig scharf schaltbar fix(doku-lint): exakten PR-Head und Policy-Typ organisationsweit absichern Sep 4, 2026
@Klangschalen Klangschalen reopened this Sep 4, 2026

Copy link
Copy Markdown
Owner Author

Dieser Draft wurde durch den technisch identischen, normalen Pull Request #23 ersetzt. Grund war ausschließlich das ausgeschöpfte GraphQL-Limit beim Ready-for-review-Schalter; Branch, Head-Commit und Diff blieben unverändert.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant