Skip to content

chore(hygiene): Pfad A CI matrix hardening, security dependabot, community health & contract tests (v0.2.3 frozen) - #2

Open
lukisch wants to merge 1 commit into
masterfrom
chore/hygiene-ci-pep621-contract-tests-20261107
Open

lukisch wants to merge 1 commit into
masterfrom
chore/hygiene-ci-pep621-contract-tests-20261107

Conversation

@lukisch

@lukisch lukisch commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Pfad A Repository-Hygiene, CI-Matrix-Härtung, Community Health, Dependabot Security-Only Konfiguration & Level 1 SBOM Re-Audit für dev-bricks/app-rotator (Version 0.2.3 strikt eingefroren per T-20260920-167562623).

Key Changes

  1. Security-Only Dependabot (.github/dependabot.yml):
    • Configured pip and github-actions updates on weekly schedule with open-pull-requests-limit: 0 and grouped security updates to prevent unsolicited version bumps.
  2. Community Governance (CODE_OF_CONDUCT.md):
    • Added bilingual Code of Conduct (Contributor Covenant v2.1, DE/EN) with verified contacts (security@open-bricks.org, lukas@open-bricks.org) and GitHub Private Vulnerability Reporting link.
    • Registered Code of Conduct under [project.urls] in pyproject.toml.
  3. Structured Issue Templates (.github/ISSUE_TEMPLATE/):
    • Created bug_report.md and feature_request.md with explicit local-first, RunAsInvoker non-elevation, and fail-closed architecture checklist items.
  4. CI-Matrix & Workflow Hardening:
    • Added workflow_dispatch trigger in .github/workflows/tests.yml.
    • Added Bot/Dependabot guard (if: github.event.pull_request.user.type != 'Bot') in .github/workflows/auto-assign.yml to prevent 403 errors on restricted token PRs.
    • Configured pytest ini options with --strict-markers and xfail_strict = true in pyproject.toml.
  5. Multi-Agent Lock Defense (.gitignore):
    • Extended .gitignore with LOCK.orchestrator., LOCK.operator., LOCK.worker., LOCK.thinker., LOCK.reviewer., .coverage., and *.prof.
  6. Level 1 SBOM Re-Audit (Stand 2026-11-07):
    • Re-audited THIRD_PARTY_LICENSES.md and THIRD_PARTY_LICENSES.txt.
    • Aligned setuptools build requirement to >=77.0.3 consistent with pyproject.toml.
    • Verified zero-copyleft and RunAsInvoker non-elevation guarantees.
  7. Contract Test Suite Expansion (tests/test_metadata.py):
    • Added 6 new automated contract tests. Full pytest suite: 83/83 passed (100% green).
    • Linters: ruff check passed (0 errors), compileall passed, git diff --check passed (0 whitespace errors), lint_mermaid.py passed (0 errors).
  8. Version Freeze Discipline:
    • Version 0.2.3 preserved strictly frozen per T-20260920-167562623.

…unity health & contract tests (v0.2.3 frozen) [G 2026-11-07]
@github-actions

github-actions Bot commented Nov 7, 2026

Copy link
Copy Markdown

Welcome! 👋 Thanks for your first pull request in this repository.

A maintainer will review it soon. Please make sure:

  • Your changes are tested
  • Documentation is updated if needed
  • The PR description explains what and why

Thanks for contributing!

@lukisch lukisch left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zweitreview (Cloud-Bot): ein Punkt sollte vor dem Merge geklärt werden.

Geprüft: Diff der Workflows, dependabot.yml, .gitignore, pyproject.toml, MARKETING-LOG.txt und der neuen Vertragstests; Branch ist nicht hinter master. Den CI-Stand habe ich in diesem Lauf nicht abgerufen.

P2 – MARKETING-LOG.txt und zugehöriger Vertragstest: Der PR erweitert die getrackte MARKETING-LOG.txt um einen Laufbericht (mit lokalem Pfad C:\_Local_DEV\repos\app-rotator und Hostnamen WORKSTATION-LG) und verankert dessen Inhalt in tests/test_metadata.py. In anderen Repos der Flotte wird dieselbe Datei gerade gemäß GITHUB-POLICY aus dem Tracking genommen (ellmos-ai/prompt-listener#2, file-bricks/SQLiteViewer#3), und genau solche Inhaltstests haben dort danach die CI rot gemacht (file-bricks/CloudLockFixer#7, file-bricks/ProFiler#15, ellmos-ai/prompt-listener#4). Vorschlag: den Log-Eintrag und den Test aus diesem PR herausnehmen oder den Test überspringen lassen, wenn die Datei nicht getrackt ist.

Ohne Beanstandung:

  • auto-assign.yml: Bot-Guard an der richtigen Stelle.
  • dependabot.yml: open-pull-requests-limit: 0 mit Gruppe applies-to: security-updates ergibt die beabsichtigte Security-only-Konfiguration.
  • pyproject.toml: --strict-markers und xfail_strict = true sind strenger als bisher; setuptools>=77.0.3 passt zum SPDX-Lizenzstring.

Gemergt habe ich nichts.


Generated by Claude Code

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