Repository navigation
Description
Compliance Audit — 2026-10-16
This umbrella issue tracks all findings from the automated compliance audit run on 2026-10-16.
Findings are grouped by remediation category. Address each category together to avoid duplicate agent PRs.
Total findings: 67 across 13 repositories
Remediation Work Breakdown
Repository Settings (8 finding(s))
Remediation: apply-repo-settings.sh
Affected repos: software-factory, software-factory-canary
| Repo | Check | Severity |
|---|---|---|
software-factory |
allow_auto_merge |
warning |
software-factory |
delete_branch_on_merge |
warning |
software-factory |
has_wiki |
warning |
software-factory-canary |
allow_auto_merge |
warning |
software-factory-canary |
delete_branch_on_merge |
warning |
software-factory-canary |
has_wiki |
warning |
software-factory-canary |
has_discussions |
error |
software-factory-canary |
missing-codeowners |
error |
Push Protection & Secret Scanning (3 finding(s))
Remediation: apply-repo-settings.sh (security_and_analysis) + per-repo ci.yml and .gitignore
Affected repos: .github-private, software-factory-canary
| Repo | Check | Severity |
|---|---|---|
.github-private |
open_secret_alerts |
error |
software-factory-canary |
secret_scan_ci_job_present |
error |
software-factory-canary |
gitignore_baseline |
error |
Repository Rulesets (15 finding(s))
Remediation: apply-rulesets.sh
Affected repos: .github-private, broodly, google-app-scripts, markets, software-factory, software-factory-canary
| Repo | Check | Severity |
|---|---|---|
software-factory |
missing-pr-quality |
error |
software-factory |
missing-code-quality |
error |
software-factory |
ruleset-bypass-orgadmin-main |
error |
software-factory |
ruleset-bypass-dependabot-main |
error |
software-factory |
legacy-ruleset-main |
error |
.github-private |
ruleset-drift-code-quality-strict_required_status_checks_policy |
error |
broodly |
ruleset-drift-pr-quality-require_code_owner_review |
error |
broodly |
ruleset-drift-pr-quality-dismiss_stale_reviews_on_push |
error |
broodly |
ruleset-drift-pr-quality-require_last_push_approval |
error |
markets |
ruleset-bypass-orgadmin-code-quality |
error |
markets |
ruleset-bypass-dependabot-code-quality |
error |
google-app-scripts |
ruleset-drift-pr-quality-dismiss_stale_reviews_on_push |
error |
google-app-scripts |
ruleset-drift-pr-quality-require_last_push_approval |
error |
software-factory-canary |
missing-pr-quality |
error |
software-factory-canary |
missing-code-quality |
error |
Workflows (32 finding(s))
Remediation: per-repo workflow additions
Affected repos: .github-private, ContentTwin, TalkTerm, bmad-bgreat-suite, broodminder-data, empower-personal-dashboard, google-app-scripts, incubator, repo-template, software-factory, software-factory-canary
| Repo | Check | Severity |
|---|---|---|
software-factory |
missing-dev-lead.yml |
error |
software-factory |
missing-dependabot-automerge.yml |
error |
software-factory |
missing-dependency-audit.yml |
error |
software-factory |
missing-agent-shield.yml |
error |
software-factory |
missing-pr-review-mention.yml |
error |
software-factory |
missing-feature-ideation.yml |
error |
software-factory |
missing-pr-auto-review.yml |
error |
software-factory |
missing-initiative-driver.yml |
error |
.github-private |
non-stub-agent-shield.yml |
error |
empower-personal-dashboard |
stub-surface-drift-persona-mention.yml-on |
error |
empower-personal-dashboard |
verbatim-stub-drift-initiative-driver.yml |
error |
broodminder-data |
stub-surface-drift-persona-mention.yml-on |
error |
broodminder-data |
verbatim-stub-drift-initiative-driver.yml |
error |
incubator |
stub-surface-drift-persona-mention.yml-on |
error |
incubator |
verbatim-stub-drift-initiative-driver.yml |
error |
google-app-scripts |
verbatim-stub-drift-initiative-driver.yml |
error |
ContentTwin |
stub-surface-drift-agent-shield.yml-on |
error |
ContentTwin |
verbatim-stub-drift-initiative-driver.yml |
error |
repo-template |
stub-surface-drift-persona-mention.yml-on |
error |
repo-template |
verbatim-stub-drift-initiative-driver.yml |
error |
TalkTerm |
verbatim-stub-drift-initiative-driver.yml |
error |
bmad-bgreat-suite |
verbatim-stub-drift-initiative-driver.yml |
error |
software-factory-canary |
missing-ci.yml |
error |
software-factory-canary |
missing-sonarcloud.yml |
error |
software-factory-canary |
missing-dev-lead.yml |
error |
software-factory-canary |
missing-dependabot-automerge.yml |
error |
software-factory-canary |
missing-dependency-audit.yml |
error |
software-factory-canary |
missing-agent-shield.yml |
error |
software-factory-canary |
missing-pr-review-mention.yml |
error |
software-factory-canary |
missing-feature-ideation.yml |
error |
software-factory-canary |
missing-pr-auto-review.yml |
error |
software-factory-canary |
missing-initiative-driver.yml |
error |
Dependabot Configuration (2 finding(s))
Remediation: per-repo .github/dependabot.yml
Affected repos: software-factory, software-factory-canary
| Repo | Check | Severity |
|---|---|---|
software-factory |
missing-config |
error |
software-factory-canary |
missing-config |
error |
Agent Standards (CLAUDE.md / AGENTS.md / copilot-setup-steps.yml) (7 finding(s))
Remediation: per-repo doc and workflow additions
Affected repos: .github-private, software-factory, software-factory-canary
| Repo | Check | Severity |
|---|---|---|
software-factory |
missing-copilot-setup-steps |
warning |
software-factory |
missing-copilot-instructions |
error |
.github-private |
agents-md-missing-org-ref |
error |
software-factory-canary |
missing-claude-md |
error |
software-factory-canary |
missing-agents-md |
error |
software-factory-canary |
missing-copilot-setup-steps |
warning |
software-factory-canary |
missing-copilot-instructions |
error |
Generated by the weekly compliance audit on 2026-10-16 17:37 UTC.
Address each remediation category as a single coordinated PR to avoid duplicate agent work.
Activity
don-petry commentedon Oct 16, 2026
Dev-Lead Implementation Plan
Issue: #1343 — Compliance audit — 2026-10-16
Scope
Triage only. All 67 findings are real drift in other repos, and none of them come from a defect in
combsmith/.github's audit or deploy tooling. That means no source change in this repo is warranted. The precedent is #1237, which changed this repo only to fix the audit tooling itself.Triage (checked against the live repos and the previous audit #1265)
software-factory(created 2026-10-11) andsoftware-factory-canary(created 2026-10-11, "throwaway")scripts/bootstrap-new-repo.sh(repo settings, rulesets, labels, ring), then the standards deploy sweep (standards-deploy.yml) for the stubs. Whether the throwaway canary should be excluded from the audit is a policy call for a maintainer.compliance-audit.shhas no repo-exclusion mechanism today.verbatim-stub-drift-initiative-driver.yml(9 repos)-f target_repo=${{ github.repository }}and (TalkTerm, bmad-bgreat-suite) predate the rate-limit gatetarget_repoto an env var (zizmor template-injection) and the fleet hasn't been re-synced yet.deploy-standard-workflows.sh).stub-surface-drift-persona-mention.yml-on(4 repos)pull_request: [opened, ready_for_review, reopened]trigger the template now carries (#1165)with:forward is involved, so the channel-pin guardrail (#1052) doesn't apply..github-privatenon-stub-agent-shield.ymlagent-shield/v2-stable..github-privateis ring0 for agent-shield, so the expected pin isagent-shield/v2-ring0.agent-shield.ymlis an immutable file (standards/workflow-exemptions.json,requires_human_review).ContentTwinstub-surface-drift-agent-shield.yml-onmerge_group:triggerstandards/workflows/agent-shield.yml..github-private,broodly,markets,google-app-scripts)apply-rulesets.sh/fix-ruleset-bypass.shwith org-admin credentials..github-privateopen_secret_alerts.github-privateagents-md-missing-org-ref.github-private.Implementation Checklist
combsmith/.githubto changeTests to Write
Test Command
bash .dev-lead/scripts/dev-lead-lint.sh(lint-only verification of an unchanged tree)don-petry commentedon Oct 21, 2026
Dev-Lead: Progress (in progress — not yet durable)
Plan Execution (intended)
main(43ec2a1) and the live repos on 2026-10-21. Its conclusion still holds: every finding is downstream drift, and no file incombsmith/.githubneeds to change.initiative-driver.ymlstill passes-f target_repo=${{ github.repository }}inline. The template now passes it through theTARGET_REPOenv var.persona-mention.ymlstill lacks the [qa-lead reach 3/3] Serve the pull_request surface from the persona mention router (architect decision (b), ADR-0007 consolidation) #1165pull_requestsurface..github-privateagent-shield.ymlstill pinsagent-shield/v2-stable..github-privateis ring0, so it should pinv2-ring0.software-factory-canarywas created 2026-10-11 and describes itself as a "Throwaway repo... Nothing here is depended on".compliance-audit.shstill has no way to exclude a repo, so it gets audited like any other. Excluding it (or archiving it) is a maintainer decision.Remediation still needed (outside this repo)
software-factoryandsoftware-factory-canary: runscripts/bootstrap-new-repo.sh, then the standards deploy sweep.deploy-standard-workflows.sh).agent-shield.ymlin.github-privateandContentTwin: human PR. This file is immutable and needs human review.apply-rulesets.sh/fix-ruleset-bypass.shwith org-admin credentials..github-privateopen_secret_alerts: a human has to triage these and rotate the secrets.Files touched (this workspace, not yet pushed)
Notes
I skipped TDD because nothing in this repo changes behaviour.
dev-lead-lint.shran clean on the unchanged tree.don-petry commentedon Oct 22, 2026
Dev-Lead: Progress (in progress — not yet durable)
Plan Execution (intended)
mainis still at43ec2a1, the same commit as the 2026-10-21 re-check, so the earlier triage still applies: every finding is downstream drift or needs a human or org-admin action. No file incombsmith/.githubneeds to change for this issue.New since the last note
software-factorythat the earlier triage left open. Exclude combsmith/software-factory from the compliance audit, the scorecard and the fleet monitor #1352 (opened 2026-10-19 on the Maintainer's word) asks for that repo to be excluded from the compliance audit, scorecard and fleet monitor. Its departures from the standards are deliberate (its ADR 0014). That covers 23 of the 67 findings here, which are won't-fix by design, not bootstrap work. Do not runbootstrap-new-repo.shor the deploy sweep againstsoftware-factory.compliance-audit.shstill has no way to exclude a repo. Adding one belongs to Exclude combsmith/software-factory from the compliance audit, the scorecard and the fleet monitor #1352, not this umbrella issue, so this run does not add it.software-factory-canaryis still open as a policy question: exclude it, archive it, or bootstrap it.Files touched (this workspace, not yet pushed)
Notes
I skipped TDD because nothing in this repo changes behaviour.
dev-lead-lint.shran clean on the unchanged tree.don-petry commentedon Oct 22, 2026
Dev-Lead: Progress (in progress — not yet durable)
Plan Execution (intended)
mainatc2bc153. The only commit since the last check is fix(feature-ideation): source tooling from the reusable's own commit (#839) #1368, a feature-ideation tooling fix that doesn't touch anything in this audit. The earlier triage still holds: every finding is either drift in another repo or needs a human or org-admin action. No file incombsmith/.githubneeds to change for this issue.software-factoryfrom the audit) is still open, andscripts/compliance-audit.shstill has no way to exclude a repo. The 23software-factoryfindings are still won't-fix by design and are waiting on Exclude combsmith/software-factory from the compliance audit, the scorecard and the fleet monitor #1352. Adding the exclusion stays in Exclude combsmith/software-factory from the compliance audit, the scorecard and the fleet monitor #1352's scope.software-factory-canaryis still a policy question for the maintainer: exclude it, archive it, or bootstrap it.Files touched (this workspace, not yet pushed)
Notes
I skipped TDD because nothing in this repo changes behaviour.
dev-lead-lint.shran clean on the unchanged tree. What's still needed outside this repo is unchanged from the 2026-10-21 note: the deploy sweep for the stub drift, a human PR foragent-shield.yml,apply-rulesets.sh/fix-ruleset-bypass.shrun with org-admin credentials, and triage of the.github-privatesecret alerts.58 remaining items
don-petry commentedon Oct 28, 2026
Dev-Lead Implementation Plan + Progress (in progress — not yet durable)
Scope
Re-checked on 2026-10-28. Nothing has changed since the 2026-10-27 check.
mainis still at1ea9ee1, and no file incombsmith/.githubneeds to change for this issue.NOT_SERVED_REPOS) is still open.scripts/compliance-audit.shstill has no way to exclude a repo, so thesoftware-factoryandsoftware-factory-canaryfindings (about two thirds of the 67) will keep coming back.Implementation Checklist / Tests
Test Command
bash .dev-lead/scripts/dev-lead-lint.shpasses on the unchanged tree.Maintainer actions still outstanding (unchanged)
scripts/apply-rulesets.sh/fix-ruleset-bypass.shwith an org-admin token for broodly, markets and google-app-scripts.github-private(thin-stubagent-shield.yml, AGENTS.md org reference, code-quality ruleset), and triage its open secret-scanning alertsSuggestion: pause dev-lead re-dispatch on this umbrella until #1352 lands. Further runs will keep reaching the same no-op result.
don-petry commentedon Oct 28, 2026
Dev-Lead: implementation deferred — automation PR queue is full
No pull request was opened for issue #1343. The org-wide
open-automation-PR queue is currently at its signed-off cap (see
standards/pr-limits.jsonincombsmith/.github).This issue stays labeled
dev-leadand will be re-attempted automatically oncethe queue drains — no action is required.
don-petry commentedon Oct 28, 2026
Dev-Lead Implementation Plan + Progress (in progress — not yet durable)
Scope
I re-checked on 2026-10-28 (second run today) and the result is the same: no change in
combsmith/.githubis needed for this issue.mainis at548b9e9. The only new commit is a dependency bump, which has nothing to do with these findings.NOT_SERVED_REPOS) is still OPEN.scripts/compliance-audit.shstill has no exclusion mechanism.Implementation Checklist / Tests
Test Command
bash .dev-lead/scripts/dev-lead-lint.shpasses on the unchanged tree.Maintainer actions still outstanding
These are unchanged from the earlier comment: land #1352, merge TalkTerm#551, run the ruleset scripts with an org-admin token, and remediate
.github-privateper repo.Recommendation: remove the
dev-leadlabel from this umbrella until #1352 lands. Every re-dispatch comes back with the same no-op result.don-petry commentedon Oct 28, 2026
Dev-Lead Plan + Progress (in progress, not yet durable)
Scope
I re-checked on 2026-10-28 (third run) and nothing has changed: this issue needs no change in
combsmith/.github.mainis atacd8988, a mention-router security fix (#1413) that has nothing to do with these findings.NOT_SERVED_REPOS) is still OPEN.NOT_SERVED_REPOSexists only inscripts/deploy-standard-workflows.sh, andscripts/compliance-audit.shstill cannot exclude a repo. About two thirds of the findings are forsoftware-factoryandsoftware-factory-canary, and they will keep coming back until it lands..github-privatestub, AGENTS.md reference and secret alerts; stub drift in downstream repos.Implementation Checklist / Tests
Notes
bash .dev-lead/scripts/dev-lead-lint.shruns clean on the unchanged tree (local check only).Recommendation (repeated): remove the
dev-leadlabel from this umbrella until #1352 lands. Every re-dispatch reaches the same no-op result.don-petry commentedon Oct 29, 2026
Dev-Lead Implementation Plan
Issue: #1343 — Compliance audit — 2026-10-16
Triage
Of the 67 findings, 43 are on
software-factory(19) andsoftware-factory-canary(24). Both repos are outside the org standard by the Maintainer's recorded decision. They are already onNOT_SERVED_REPOSindeploy-standard-workflows.sh(#1334), and #1352 asks for the audit to exclude them. That PR noted the audit "does not read this list". So these 43 findings are not remediable in those repos. The fix that belongs in this repo is to make the audit honour the same list.The other 24 findings need no source change here. They need work in other repos or an org-admin token:
.github-private,broodly,markets,google-app-scripts):scripts/apply-rulesets.sh --repo combsmith/<repo>with an admin token.standards/rulesets/*.jsonis already correct..github-privateopen_secret_alerts): a person has to triage it in that repo.verbatim-stub-drift-initiative-driver.yml(8 repos) andstub-surface-drift-*(5) findings are what the standards-deploy sweep re-syncs..github-privatenon-stub-agent-shield.ymlneeds a per-repo PR..github-privateagents-md-missing-org-ref): a per-repo doc edit.Implementation Checklist
scripts/lib/not-served-repos.sh(new): one shared source ofNOT_SERVED_REPOSandis_not_served_reposcripts/deploy-standard-workflows.sh: source the lib instead of defining the list inline (no change in behaviour)scripts/compliance-audit.sh: source the lib and drop not-served repos from the org listing before the audit loop and the issue-management loop. No findings, no issues and no label provisioning for them.standards/workflow-exemptions.json/ docs: note the exclusion where the audit's scope is described (only if such a place exists)Tests to Write
test/scripts/lib/not-served-repos.bats: the list, case-insensitive matching, ordinary repos still servedtest/scripts/compliance-audit/not-served-repos.bats:mainwith a stubbed org listing audits served repos and skips not-served onestest/scripts/deploy-standard-workflows/not-served-repos.batskeeps passingTest Command
npx bats test/scripts/compliance-audit test/scripts/deploy-standard-workflows test/scripts/lib+bash .dev-lead/scripts/dev-lead-lint.shScope note: this covers the compliance-audit part of #1352 only. Scorecard and fleet monitor stay out of scope.
don-petry commentedon Oct 29, 2026
Dev-Lead: Implementation Complete — PR #1426
The implementation for issue #1343 is durable: commits are pushed and a pull request is open. This record is backed by verifiable artifacts you can confirm in one click.
cb222316aee2ab0bc0eb73d4a8cd196a11bbe5f1main: 4 file(s), +139/-25 linesReview happens on the PR. Acceptance criteria and test results are evidenced by the PR's diff and CI checks — not asserted here. If a later stage fails, this claim is retracted in place.