Skip to content

RULED: migrate the ai:blocked-deploy residue to ai:reject — rework each PR for the split release lifecycle #221

Description

@thedavidmeister

Ruling (2026-08-06, verbatim)

migrate all the blocked on deploy back to rejected so it can be reworked to fit in the new deployment paradigm

This supersedes the README's stated exit for the ai:blocked-deploy residue ("an eyes-on human pass that re-flags each PR blocked-on its repo's migration, or unblocks it outright"). The residue's exit is now a MIGRATION: every open PR still carrying the retired label moves to ai:reject with a work order to rework the PR to fit the split release lifecycle. The producer is the mover from the moment of migration.

Required

  • migrate-blocked-deploy subcommand on the migrate-reject template (ai:reject and human:reject are one state: same owner, same action, split only by who ruled #133's precedent — a one-shot over a fixed, shrinking population, a MIGRATION rather than a live FSM transition). Per open PR carrying ai:blocked-deploy: strip the retired label, write ai:reject, post the trusted Rework note work order and the sha-pinned ruling comment recording that it executes this ruling. Guards per the existing plan machinery: closed/merged is moot (skip, nothing written); a live close-candidate flag is reported and skipped (the strands-flag rule); --dry-run supported.
  • Uniform work order: rework the PR to fit the split release lifecycle — deploys never gate merges (the deploy-before-merge choreography is superseded); remove or restructure anything in the PR that waits on a deploy; where deploy constants/pins are involved, follow the *.deploy repo convention (audited code only; version ↔ snapshot ↔ pins internally consistent; tag-release lifecycle). Whatever states follow the rework (including a typed blocked-on the repo's migration if one is genuinely needed) are the producer's ordinary transitions, not pre-routed here.
  • README: the producer-blocked residue prose and the diagram note update to record this exit — the migration joins migrate-reject in the migrations-not-transitions register.
  • Tests mirroring migrate-reject's, plus an adversarial mutation pass.
  • Execution is in scope: after the suite is green — --dry-run against live, review, then the real run over the population; both transcripts go in the PR body. The command enumerates live carriers at run time.

Population (2026-08-06, 13 open PRs)

Downstream

Once the count reaches zero, the dash's ai:blocked-deploy box follows the ai:blocked-infra removal shape (rainlanguage/rain-org-health#162) — separate follow-up, and the in-flight stateDescriptors work makes it near-free.

Refs: #162 (retirement), #133 (migrate-reject precedent)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions