Task
Generalize the dmarcheck Routine pipeline (PR #306) to the other three repos. The gate already supports per-repo base branches via CONFIG.baseBranchByRepo; the work is onboarding each repo: labels, branch protection (correct CI context per repo), Routine registration, and a one-cycle pilot. donthype-me must use base branch dev (dev→main flow), not main.
Context
dmarcheck is the validated pilot. Rollout was deliberately staged one repo at a time. donthype-me's dev→main flow is the main variable; the others are main-flow.
Motivation
- As the owner of ~4 repos, I want uniform issue→PR→merge automation so PR triage is consistent.
- Triggered now: dmarcheck pilot proves the design.
Pointers
scripts/routine-gate/config.ts — baseBranchByRepo maps donthype-me→dev; verify allowlist/denylist per repo
scripts/routine-pipeline/setup-labels.sh — reusable (takes owner/name)
scripts/routine-pipeline/setup-branch-protection.sh — find per-repo CI context via gh api repos/<o>/<r>/commits/<defaultbranch>/check-runs
scripts/routine-pipeline/routine-implementer.md / routine-reviewer.md — set <base>/<REPO> per repo (donthype-me base = dev)
docs/routine-pipeline.md
Constraints
- donthype-me PRs target
dev, never main directly.
- Reuse existing scripts; no per-repo forks of gate logic.
- Review each repo's risk-path denylist for repo-specific sensitive paths before enabling auto-merge.
Acceptance criteria
- Labels, branch protection (real CI context), both Routines live per repo.
- donthype-me prompts use base
dev; a test PR targets dev.
- One pilot cycle per repo recorded in
docs/routine-pipeline.md.
config.ts allowlist/denylist confirmed per repo (note any additions).
Out of scope
- Cross-repo coordinated changes.
- Changing the six gate conditions.
Reasoning guidance
Spawn subagents per repo in parallel where steps are independent.
Task
Generalize the dmarcheck Routine pipeline (PR #306) to the other three repos. The gate already supports per-repo base branches via
CONFIG.baseBranchByRepo; the work is onboarding each repo: labels, branch protection (correct CI context per repo), Routine registration, and a one-cycle pilot. donthype-me must use base branchdev(dev→main flow), notmain.Context
dmarcheck is the validated pilot. Rollout was deliberately staged one repo at a time. donthype-me's
dev→mainflow is the main variable; the others aremain-flow.Motivation
Pointers
scripts/routine-gate/config.ts—baseBranchByRepomaps donthype-me→dev; verify allowlist/denylist per reposcripts/routine-pipeline/setup-labels.sh— reusable (takesowner/name)scripts/routine-pipeline/setup-branch-protection.sh— find per-repo CI context viagh api repos/<o>/<r>/commits/<defaultbranch>/check-runsscripts/routine-pipeline/routine-implementer.md/routine-reviewer.md— set<base>/<REPO>per repo (donthype-me base =dev)docs/routine-pipeline.mdConstraints
dev, nevermaindirectly.Acceptance criteria
dev; a test PR targetsdev.docs/routine-pipeline.md.config.tsallowlist/denylist confirmed per repo (note any additions).Out of scope
Reasoning guidance
Spawn subagents per repo in parallel where steps are independent.