feat(lifecycle): claim guard, backfill exclusion, and parent-only handoff for sub-issues#280
Conversation
…riants Review fixes for PR #280: add verb_gate/verb_groom_entry wiring tests for the parent payload key, claim-guard precedence tests over assignee checks, a backfill test that a skip never advances the high-water mark past an earlier failure, and degrade malformed rc==0 GraphQL bodies in _batched_parent_numbers like a total failure instead of raising.
|
Final compounding check |
…doff for sub-issues Complements the sub_issue gate verdict and reconciler rule 6 shipped in PR #283: --claim refuses an OPEN sub-issue with a structured sub_issue_claim error before any board write; --backfill reads candidate parentage in one batched GraphQL query and skips parented issues (reported as skipped_sub_issues) instead of add-then-archive churn; the planning ready boundary now requires handoffs to name the parent as the sole wf-development entry point.
c44666b to
39d472d
Compare
|
Final compounding check |
Closes #269
Summary
--claimon an OPEN sub-issue refuses with a structuredsub_issue_claimerror naming the parent, before any assignment or board write. Without this, a claim on a sub-issue still writes board state and relies on the reconciler to clean up afterward.--backfillreads parentage for all add-candidates in one batched GraphQL query (mirroring the blocked-counts pattern) and skips any issue with a non-null parent, reported underskipped_sub_issues. This prevents add-then-archive churn with reconciler rule 6. An unreadable parent lookup fails that candidate toward not adding and breaks the advisory high-water prefix so a re-run reconsiders it; rc==0 malformed GraphQL bodies degrade like a total failure instead of raising./wf-developmententry point and forbids recommending a sub-issue as where development begins; sub-issue ordering is expressed only as blocked-by structure inside the parent.Testing
bun test428 pass / 0 fail; typecheck,skills:check(20 vendored copies in sync), docs gates all green.ParentAwareVerbThreadingTest; not duplicated here.Post-Deploy Monitoring & Validation
skipped_sub_issuespopulated on repos with decomposed parents;failed[].errormentioning parent lookup.python3 plugins/agentic-engineering/scripts/lifecycle_board.py --claim <open-sub>→ structuredsub_issue_claimrefusal, no board write.python3 plugins/agentic-engineering/scripts/lifecycle_board.py --backfill→ sub-issues listed underskipped_sub_issues, never added.