fix(ci): three CI blockers — dead rsr-antipattern ref, K9 gap, placeholder FP - #23
Conversation
Three independent CI-blocker fixes bundled together (verified individually, listed by check name): lint-workflows: rsr-antipattern.yml called a reusable workflow (rsr-antipattern-reusable.yml) that has never existed on hyperpolymath/standards — confirmed via the commits API and absent from the current rsr-template-repo. Per docs/audits/audit-reusables-convergence-2026-05-26.adoc, `antipattern- check` was retired estate-wide; its function is already covered by governance.yml -> governance-reusable.yml (already wired here). No SHA exists to pin against a file that was never committed, so the fix is to delete the dead workflow. Validate K9 contracts: locally reproduced the reported 8 errors / 10 files. 6 of 8 were a shared-validator scope bug (coordination.k9, session/custom-checks.k9, self-validating/methodology-guard.k9.ncl aren't K9 pedigree contracts at all) fixed at the source in hyperpolymath/k9-ecosystem#21, with a local paths-ignore override here as a stopgap since this repo pins the action to a commit SHA. The remaining 2 were a genuine container/deploy.k9.ncl defect: missing the literal `K9!` first line, and `pedigree` pointed at a let-bound variable instead of an inline block, hiding name/version/leash from the validator's line-based scanner. Fixed by adding the magic line and merging the required fields inline. While in this file: it still had un-instantiated {{SERVICE_NAME}}/{{REGISTRY}}/{{PORT}} template tokens left over from scaffolding — filled in with contractiles' own values. openssf-compliance: "Check no unfilled placeholder tokens" false- positived on .machine_readable/6a2/ECOSYSTEM.a2ml's `notes` field, which documents the {{PLACEHOLDER}} substitution mechanism using the literal token shape — not an actual unfilled placeholder. Same class of false positive the estate already has a name for (hypatia#243: content-pattern validators must distinguish a target from a file that legitimately contains the pattern being checked). Reworded to describe the mechanism without the literal `{{...}}` shape. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
CI failed: The CI check `check-root-shape.sh` failed because several files and directories in the repository root are not present on the allowlist.OverviewFound 1 failure related to the repository root shape validation check ( FailuresRoot Shape Check Failure (confidence: high)
Summary
Code Review ✅ Approved 1 resolved / 1 findingsRemoves the dead rsr-antipattern reference, fixes K9 contract validation errors, and resolves the openssf-compliance placeholder false positive. However, hardcoding values in deploy.k9.ncl breaks template rendering for this repository. ✅ 1 resolved✅ Bug: Hardcoding contractiles values breaks deploy.k9.ncl templating
Tip Comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |



Summary
Fixes the three CI blockers keeping the estate's PR queue stuck, as
diagnosed for this repo (full per-blocker root-cause detail is in the
commit message):
rsr-antipattern.yml:15): thereferenced reusable (
rsr-antipattern-reusable.yml) has neverexisted on
hyperpolymath/standards. It's dead, retired estate-wideper
docs/audits/audit-reusables-convergence-2026-05-26.adoc, andsuperseded by
governance.yml(already present here). Deletedrather than pinned to an unresolvable reference.
k9-ecosystem/validate-actionscope bug, fixed at the source infix(validate-action): exclude non-pedigree files from K9 checks k9-ecosystem#21 (with a local stopgap override here).
The remaining 2 were a genuine
container/deploy.k9.ncldefect(missing
K9!line, pedigree hidden behind a let-binding, PLUSleftover un-instantiated
{{SERVICE_NAME}}/{{REGISTRY}}/{{PORT}}tokens) — fixed directly.
ECOSYSTEM.a2ml'snotesfield, which documented the
{{PLACEHOLDER}}mechanism using theliteral token shape. Reworded (same false-positive class as
hypatia#243).
Test plan
bash validate-action/validate-k9.sh(k9-ecosystem, with thenew paths-ignore) →
Errors: 0(was 8)grep -rnE '^[[:space:]]+uses:' .github/workflows/ | grep -v '@[a-f0-9]{40}'→ empty (was 1 match)
→ 0 files flagged (was 1)
python3 -c "import tomllib; tomllib.load(...)"on the edited.a2mlfiles → parses cleanyaml.safe_load(pre-existing, unrelated
e2e.ymlparse error noted separately,not touched by this PR)
🤖 Generated with Claude Code