Generation 21 promoted 2026-07-30 06:10Z (channel revision 24, #103). Three repositories now fail the lifecycle check on every agent-authored pull request, including PRs that touch nothing but .github/workflows/.
This is not caused by any one branch. It is drift on origin/main that generation 21 began enforcing.
Evidence
Generation 21 ships two kernels:
- diagnostic —
policy/agent-development-kernel.md, sha256 2524e6ee…
- compatibility —
policy/agent-development-kernel-compat-v1.0.9.md, sha256 187a3882…
Each repository's managed AGENTS.md block must match the kernel for its runtime.agent_lifecycle_stage. Read from origin/main:
| Repo |
Stage |
Managed block on main |
lifecycle |
| smrt |
diagnostic |
2524e6ee… |
pass |
| iac |
compatibility |
187a3882… |
pass |
| sdk |
diagnostic |
9a4cf725… — neither kernel |
fail |
| pdf |
diagnostic |
9a4cf725… — neither kernel |
fail |
| happyvertical.com |
compatibility |
187a3882… (block is fine) |
fail |
sdk and pdf fail with AGENTS.md: stale or edited managed policy block. The 9a4cf725… block predates both shipped kernels and is present on origin/main in both repos.
happyvertical.com fails differently — .github/workflows/agent-policy.yml: missing or differs from the canonical lifecycle workflow. Its AGENTS.md block is correct. Confirmed pre-existing: the failure reproduces with the candidate branch's change reverted, and #136 passed lifecycle before generation 21 promoted.
Why it is not self-serve
The documented remedy is to regenerate managed policy output per repository:
hv-agent migrate-repo . --profile happyvertical --apply
The pinned generation-21 artifact exposes only audit, check-pr, claim, heartbeat, release, reconcile, project-sync. There is no migrate-repo subcommand, so the documented remedy cannot be run from the pinned tool.
Hand-patching a managed policy block from a feature branch would be an agent editing generated control-plane output to make its own gate pass, which is exactly the thing the check exists to catch. So this needs control-plane action, not a per-repo workaround.
Impact
Every agent PR in sdk, pdf, and happyvertical.com is blocked at lifecycle until this is regenerated. Three currently open and otherwise-mergeable PRs are affected — happyvertical/sdk#1177, happyvertical/pdf#120, happyvertical/happyvertical.com#141 — all part of the CI-latency epic willgriffin/nixos-config#176, and all touching only workflow files.
Note happyvertical/sdk#1177 is worth unblocking on its own merits: it fixes on-merge-main.yml cancelling its own releases mid-publish, between npm publish, git tag -f, and gh release create.
Asks
- Regenerate the managed
AGENTS.md block in sdk and pdf against the generation-21 diagnostic kernel.
- Reconcile
happyvertical.com's .github/workflows/agent-policy.yml with the canonical compatibility lifecycle workflow.
- Ship
migrate-repo in the pinned artifact, or document the supported path for repairing drift when the promoted tool cannot.
Generation 21 promoted 2026-07-30 06:10Z (channel revision 24, #103). Three repositories now fail the
lifecyclecheck on every agent-authored pull request, including PRs that touch nothing but.github/workflows/.This is not caused by any one branch. It is drift on
origin/mainthat generation 21 began enforcing.Evidence
Generation 21 ships two kernels:
policy/agent-development-kernel.md, sha2562524e6ee…policy/agent-development-kernel-compat-v1.0.9.md, sha256187a3882…Each repository's managed
AGENTS.mdblock must match the kernel for itsruntime.agent_lifecycle_stage. Read fromorigin/main:mainlifecycle2524e6ee…187a3882…9a4cf725…— neither kernel9a4cf725…— neither kernel187a3882…(block is fine)sdkandpdffail withAGENTS.md: stale or edited managed policy block. The9a4cf725…block predates both shipped kernels and is present onorigin/mainin both repos.happyvertical.comfails differently —.github/workflows/agent-policy.yml: missing or differs from the canonical lifecycle workflow. ItsAGENTS.mdblock is correct. Confirmed pre-existing: the failure reproduces with the candidate branch's change reverted, and #136 passedlifecyclebefore generation 21 promoted.Why it is not self-serve
The documented remedy is to regenerate managed policy output per repository:
The pinned generation-21 artifact exposes only
audit, check-pr, claim, heartbeat, release, reconcile, project-sync. There is nomigrate-reposubcommand, so the documented remedy cannot be run from the pinned tool.Hand-patching a managed policy block from a feature branch would be an agent editing generated control-plane output to make its own gate pass, which is exactly the thing the check exists to catch. So this needs control-plane action, not a per-repo workaround.
Impact
Every agent PR in
sdk,pdf, andhappyvertical.comis blocked atlifecycleuntil this is regenerated. Three currently open and otherwise-mergeable PRs are affected — happyvertical/sdk#1177, happyvertical/pdf#120, happyvertical/happyvertical.com#141 — all part of the CI-latency epic willgriffin/nixos-config#176, and all touching only workflow files.Note happyvertical/sdk#1177 is worth unblocking on its own merits: it fixes
on-merge-main.ymlcancelling its own releases mid-publish, betweennpm publish,git tag -f, andgh release create.Asks
AGENTS.mdblock insdkandpdfagainst the generation-21 diagnostic kernel.happyvertical.com's.github/workflows/agent-policy.ymlwith the canonical compatibility lifecycle workflow.migrate-repoin the pinned artifact, or document the supported path for repairing drift when the promoted tool cannot.