计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
housekeep-gates【效率与协作】Consolidate accreted CI gates, ratchets, and hooks into one required aggregator check. Use after audit-gate-logic, or when "clean up our CI checks", "we have three lint jobs", or "make one quality gate". Pipeline cost → audit-cicd.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Degree of freedom: MIXED — T1 is the priority. Mapping and winner
confirmation [HIGH freedom]; aggregator needs: + skip-fail, loser
deletion, branch-protection, and Phase 4 probes [LOW freedom — run exactly]. Net enforcement strictly ≥ before.
Apply-now. audit-gate-logic mapped the sprawl and named a winner per
duplicate cluster; this makes the repo match the map. Target state: one
required check in branch protection, backed by an aggregator job that
needs: every real gate — so "what blocks merge" has exactly one answer,
in one file.
Every retirement is proven safe before deletion. Never weaken enforcement while consolidating. Net enforcement strictly ≥ before.
This is the execution arm of audit-gate-logic, the same way
housekeep-design executes plan-uiux-unification.
| Skill | Owns |
|---|---|
| housekeep-gates (this) | Consolidate / delete / wire the aggregator |
audit-gate-logic | Read-only map — bypass, ratchets, archaeology |
audit-cicd | Pipeline cost, speed, storage |
workflow-quality-gate | Runs the pre-release sweep |
enhance-agent-guardrails | Installs new guard classes, not accreted-gate cleanup |
workflow-green-repo | Make the repo green — does not redesign the gate graph |
housekeep-backlog | Parked-work register — not CI gates |
housekeep-dead-code | Owns the dead-code --max-issues ratchet that joins this aggregator |
Observe: two lint jobs; old
lint.ymlis required; newci.ymllint is not.paths:skips.github/**. Interpret: retiringlint.ymlwithout porting + aggregator skip-fail would let a workflow edit merge unlinted. Classify: port unique rules, wire winner, delete loser; probe the skip path. Probe: change matching the old skip filter → aggregator must go red, not skip-green.
Consume the archaeology map from audit-gate-logic (duplicate clusters,
winners, losers, ratchet findings). If none exists, run its Phase 0 + 2.5
first — never consolidate gates you have not mapped. Deleting an "obvious
duplicate" that was the only server-side-enforced one weakens the repo.
Confirm which winners stand before touching anything. Branch-protection changes always get explicit confirmation.
Create (or adopt) the single-gate structure:
gate / all-green — that needs: every real
check (lint, typecheck, tests, build, and the audit jobs worth blocking
on) and fails if any dependency failed or was skipped (if: always()
needs: list that lives in code review.merge_group to the
workflow triggers and keep check names identical across pull_request
and merge_group, or queued PRs wait on checks that never start.needs: delays its appearance.For each duplicate cluster, in this order:
needs:.Also restore hook/CI parity: local pre-commit / pre-push hooks run the
same commands (ideally the same scripts) as CI's gate jobs — one
definition, two callers — so "passes locally" predicts "passes CI" and
nobody learns --no-verify.
paths: filter that
previously skipped gates; confirm the aggregator still reports
(skipped-as-success is the failure mode to disprove).workflow-green-repo-style full pass to confirm the repo is green
under the new single gate.merge_group parity in place if a merge queue is usedApplied phase-by-phase. Pause for approval between phases when blast radius is large. Branch-protection changes always get explicit confirmation.