Category: CI gate (umbrella) · Source: control-tower gap-hunt 2026-07-19 (signal mining)
Pattern — 19 open issues, one root cause, zero prevention
Skills declared ecosystem/forge/tracker-agnostic ship hardcoded stack/forge/branch/marketplace-internal defaults. Members: #404 #405 #406 #408 #410 #412 #415 #416 #418 #421 #422 #423 #428 #429 #432 #438 #439 #441 #442.
Root cause: agnosticism is asserted in prose, never enforced. This is also the dominant review-churn class — the external reviewer re-catches instances on PR after PR (#467 branch/remote ×4, #453 seam-conditional eval, #491/#492 .NET-flavored examples) — meaning the pipeline pays for the same defect class repeatedly at review time instead of once at gate time.
Note: #445's CI-gate backlog covers mechanical conformance only (CHANGELOG/version/frontmatter) — it does NOT cover coupling.
Proposed fix
New ci.yml lane: grep agnostic-flagged skills for coupling tokens (dotnet, Clean Arch, origin/main, gh api, raw.githubusercontent, marketplace-internal names, …), silent-skip-gate shape per #445. Allowlist mechanism for legitimately guarded forward refs (the #412 disposition: presence-gated refs are FINE — the gate must distinguish guarded from bare).
Design questions for triage:
- How does a skill declare its agnosticism scope (frontmatter field vs directory convention)? The declaration is the gate's contract.
- Token list ownership: starts curated, should grow from review findings (every reviewer re-catch of this class = a missing token — closing the loop makes the gate self-improving).
Leverage
Kills a 19-issue class wholesale + the top review-churn source; prevention instead of 19 hand-fixes plus indefinite future recurrence.
Relations
Members above; #445 (sibling gate backlog); #412 (guarded-forward-ref disposition the gate must honor); #491/#492 (todays hand-fixes this gate would have made unnecessary).
Additional members (cluster-routed here at historic-normalization triage, cycle 7)
Category: CI gate (umbrella) · Source: control-tower gap-hunt 2026-07-19 (signal mining)
Pattern — 19 open issues, one root cause, zero prevention
Skills declared ecosystem/forge/tracker-agnostic ship hardcoded stack/forge/branch/marketplace-internal defaults. Members: #404 #405 #406 #408 #410 #412 #415 #416 #418 #421 #422 #423 #428 #429 #432 #438 #439 #441 #442.
Root cause: agnosticism is asserted in prose, never enforced. This is also the dominant review-churn class — the external reviewer re-catches instances on PR after PR (#467 branch/remote ×4, #453 seam-conditional eval, #491/#492 .NET-flavored examples) — meaning the pipeline pays for the same defect class repeatedly at review time instead of once at gate time.
Note: #445's CI-gate backlog covers mechanical conformance only (CHANGELOG/version/frontmatter) — it does NOT cover coupling.
Proposed fix
New ci.yml lane: grep agnostic-flagged skills for coupling tokens (
dotnet,Clean Arch,origin/main,gh api,raw.githubusercontent, marketplace-internal names, …), silent-skip-gate shape per #445. Allowlist mechanism for legitimately guarded forward refs (the #412 disposition: presence-gated refs are FINE — the gate must distinguish guarded from bare).Design questions for triage:
Leverage
Kills a 19-issue class wholesale + the top review-churn source; prevention instead of 19 hand-fixes plus indefinite future recurrence.
Relations
Members above; #445 (sibling gate backlog); #412 (guarded-forward-ref disposition the gate must honor); #491/#492 (todays hand-fixes this gate would have made unnecessary).
Additional members (cluster-routed here at historic-normalization triage, cycle 7)