feat: integrate l9-github-defaults v2.0.1 — governance kernels, seeding, canonical docs - #17
Merged
Conversation
…eed automation, and canonical docs - Add reusable governance kernels: governance-pr.yml, governance-issue.yml (workflow_call) - Add seed-governance.yml (dry-run/seed) for non-inheritable files (CODEOWNERS, caller) - Add templates/: governance-caller.yml (@v1 pinned) and CODEOWNERS.repo (real team slugs) - Add scripts/: preflight.sh (read-only assumption checks), bootstrap.sh (idempotent, no duplication) - Add docs/AUDIT.md (5 findings + evidence) and docs/DISTRIBUTION.md (inheritance vs seeding) - Merge SECURITY.md: canonical single-source clause + out-of-scope section - Merge CONTRIBUTING.md: bootstrap-first setup replacing clone-based step (AUDIT finding 4) - Add root README.md documenting the defaults architecture - Fix governance-issue.yml expression escaping; verify team slugs against live org (only 'platform' exists)
…t broke JSON parsing, treat empty team read as unverifiable Verified end-to-end against the live org: exit 0, all 5 checks now report (previously aborted after check 4 and misreported org policy as unreadable and 'platform' as nonexistent).
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Problem
Governance logic in this org is duplicated per-repo and drifts (docs/AUDIT.md, 5 findings). There was no single canonical source for reusable PR/issue governance kernels, no seeding mechanism for the two non-inheritable files (CODEOWNERS, workflow caller), and community health files carried stale clone-based setup instructions.
Fix
Integrate l9-github-defaults v2.0.1 (14/15 files sha256-verified against MANIFEST.json; the manifest self-hash is definitionally unverifiable):
.github/workflows/governance-pr.yml+governance-issue.yml(workflow_call, consumed viatemplates/governance-caller.ymlpinned@v1).github/workflows/seed-governance.yml(workflow_dispatch, dry-run default, gated by thegovernance-distributionenvironment — created on this repo during integration) for the two non-inheritable filesgovernance-caller.yml,CODEOWNERS.repo(slugs verified against live org: onlyplatformexists; placeholders replaced with@Quantum-L9/platform+@cryptoxdog)preflight.sh(read-only assumption checks; 3 bugs fixed, see below),bootstrap.sh(idempotent, duplication-free)docs/AUDIT.md,docs/DISTRIBUTION.md, rootREADME.mdSECURITY.md(+canonical single-source clause, +out-of-scope),CONTRIBUTING.md(bootstrap-first setup per AUDIT finding 4, CANONICAL_LAW refs kept)Deliberately not installed: pack
CODEOWNERS(repo already has a canonical copy with real teams) and packpull_request_template.md(PR #15 ships a superset; finding 1's nested-path fix satisfied there). ISSUE_TEMPLATE untouched (PR #16), per the pack's own guidance.Upstream fixes applied:
governance-issue.yml— replaced invalid${{'{'}}…{{'}'}}expression-escaping with a plain JS priority mappreflight.sh—set -eaborted the script after check 4 (probe loop); gh's colorized JSON broke every grep parse (org policy misread as unreadable,platformmisreported as nonexistent); empty team read now treated as unverifiableRisk
Low. All new workflows are
workflow_call/workflow_dispatchonly — nothing runs on push/PR events. Seed workflow defaults to dry-run and requires thegovernance-distributionenvironment. No existing file overwritten destructively; SECURITY/CONTRIBUTING changes are additive merges. Consuming repos untouched (out of scope).Evidence
bash -nclean on both scriptspreflight.shend-to-end run (PAT, exit 0):platformOK · repo public OK · org Actions policyallowed_actions: allOK · all 38 consuming reposactions=on allowed=all· 1/39 repos already has a caller (L9-Ops-MCP) · 20+ repos hold local SECURITY.md/template overrides (future cleanup, out of scope)governance-distributionenvironment created: 2026-07-28T19:25:57ZAfter merge
git tag v2.0.1 && git tag -f v1 v2.0.1 && git push origin v2.0.1 && git push -f origin v1— callers reference@v1governance-distributionenvironment (Settings → Environments)GOVERNANCE_APP_ID(variable) +GOVERNANCE_APP_PRIVATE_KEY(secret)