Skip to content

ci: the community files' budgets, banned words and form types checked in CI - #7

Merged
ddespinoza merged 1 commit into
mainfrom
ci/community-check
Oct 25, 2026
Merged

ddespinoza merged 1 commit into
mainfrom
ci/community-check

Conversation

@ddespinoza

@ddespinoza ddespinoza commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Implements APS-Conecta/instalador#71 (docs-SSOT T06 as amended by K2 and K3) in this, the org-defaults repository the contract governs.

What. One step in ci.yml runs scripts/community-check.sh --self-test:

  • Budgets — profile/README.md ≤ 3 lines, CONTRIBUTING.md exactly 1, SECURITY.md ≤ 6, .github/PULL_REQUEST_TEMPLATE.md ≤ 10; a physical line counts, blank or not; a deleted file is a violation.
  • Banned words — none of the four files contains (case-insensitive) privad, private, aprobaci, approval, hackerone, apsconecta.cl.
  • Issue forms — every ISSUE_TEMPLATE/*.yml or *.yaml carries a top-level type: of Bug or Task, and both types are present; config.yml/config.yaml (GitHub's chooser, not a form) is out of the check.

Redness is proven, not asserted — the self-test builds 20 fixture trees: 17 must fail (each budget overrun per file, the missing file, each banned word, the banned word beside a missing sibling, the untyped form in .yml and in .yaml, the foreign type, the missing Task) naming the exact diagnostic, 3 must pass (the good tree, a typed .yaml form, the chooser present). Then the live tree is checked — the same step proves main stays green.

The existing shellcheck step covers the new script; the job drops its packer-only name now that it self-tests the community contract too.

… in CI

The T06 contract, as amended by K2 and K3 (APS-Conecta/instalador#71),
was checked only by hand-run greps. One step in ci.yml now runs
scripts/community-check.sh --self-test: fixture trees prove each
violation reds the run (a budget overrun in each of the four files, a
missing file, each banned word — reported even when a sibling file is
gone —, a form without a top-level type in .yml or .yaml, a foreign
type, a missing Task), then the live tree is checked — so a community
file that grows past its budget, carries privad/private/aprobaci/
approval/hackerone/apsconecta.cl, or a form that loses its type: Bug /
type: Task line, fails the build instead of waiting for a hand-run
grep. config.yml — GitHub's chooser, not a form — is out of the check.

The shellcheck step covers the new script; the job drops its packer-only
name now that it self-tests the community contract too.

Assisted-by: pi:glm-5.3
@ddespinoza ddespinoza added the ai-assisted Escrito con ayuda de IA label Oct 25, 2026
@ddespinoza
ddespinoza merged commit 3fbfd40 into main Oct 25, 2026
4 checks passed
ddespinoza added a commit to APS-Conecta/documentation that referenced this pull request Oct 25, 2026
APS-Conecta/.github#7 adds community-check.sh --self-test to the ci.yml
step list (APS-Conecta/instalador#71), so the row that describes the
workflow names the second self-test: the T06 line budgets, the banned
words and the issue-form types.

Assisted-by: pi:glm-5.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-assisted Escrito con ayuda de IA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant