[workflow][controller] Exclude epic and child-only container issues from process_work_queue #844

Open
opened 2026-07-23 01:32:45 -05:00 by jcwalker3 · 3 comments
Owner

Problem

process_work_queue selected Issue #631 even though the issue explicitly delegates implementation to child issues and prohibits direct feature implementation in the epic.

Confirmed evidence

  • Issue #631 title: Epic: MCP Control Plane Web Console
  • Authoritative body says implementation is delivered through child issues only.
  • Non-goals explicitly prohibit implementing product features in the epic itself.
  • process_work_queue nevertheless selected it for author implementation.
  • Failed assignment path: asn-11f9f1ad52bb47dc / lease lease-9817e2823c14402b (allocation/recovery side effects tracked under the separate cross-role handoff defect).

Required behavior

  1. process_work_queue excludes epics, coordination containers, and parent issues whose implementation is explicitly delegated to child issues.
  2. Issue #631 is excluded from direct implementation selection.
  3. Implementable child issues remain independently eligible.
  4. The exclusion is applied before candidate ranking and allocation mutation.
  5. The allocator reports a structured skip reason for excluded containers.
  6. Eligibility does not rely solely on the word “Epic” appearing in a title when authoritative structured or scope evidence is available.

Acceptance criteria

  • Epics / child-only containers are excluded from direct implementation selection.
  • Issue #631-shaped child-only epic is excluded.
  • Implementable child issues remain eligible.
  • Ordinary issues containing “epic” incidentally are not excluded solely by title.
  • Exclusion runs before candidate ranking and allocation mutation.
  • Structured skip reason is reported for excluded containers.
  • Excluded containers cannot receive assignments or workflow leases.

Required regression coverage

  • Issue #631-shaped child-only epic is excluded.
  • An implementable child issue remains eligible.
  • An ordinary issue containing “epic” incidentally is not excluded solely by title.
  • Excluded containers cannot receive assignments or workflow leases.

Non-goals

  • Cross-role allocation handoff/consume path (tracked separately).
  • Closing or rewriting existing epic issues.
  • Changing child-issue implementation workflows.

Note

This issue is a durable record only for the current author run. Implementation is intentionally deferred so the handoff defect can land independently.

## Problem `process_work_queue` selected Issue #631 even though the issue explicitly delegates implementation to child issues and prohibits direct feature implementation in the epic. ## Confirmed evidence - Issue #631 title: **Epic: MCP Control Plane Web Console** - Authoritative body says implementation is delivered through child issues only. - Non-goals explicitly prohibit implementing product features in the epic itself. - `process_work_queue` nevertheless selected it for author implementation. - Failed assignment path: `asn-11f9f1ad52bb47dc` / lease `lease-9817e2823c14402b` (allocation/recovery side effects tracked under the separate cross-role handoff defect). ## Required behavior 1. `process_work_queue` excludes epics, coordination containers, and parent issues whose implementation is explicitly delegated to child issues. 2. Issue #631 is excluded from direct implementation selection. 3. Implementable child issues remain independently eligible. 4. The exclusion is applied before candidate ranking and allocation mutation. 5. The allocator reports a structured skip reason for excluded containers. 6. Eligibility does not rely solely on the word “Epic” appearing in a title when authoritative structured or scope evidence is available. ## Acceptance criteria - [ ] Epics / child-only containers are excluded from direct implementation selection. - [ ] Issue #631-shaped child-only epic is excluded. - [ ] Implementable child issues remain eligible. - [ ] Ordinary issues containing “epic” incidentally are not excluded solely by title. - [ ] Exclusion runs before candidate ranking and allocation mutation. - [ ] Structured skip reason is reported for excluded containers. - [ ] Excluded containers cannot receive assignments or workflow leases. ## Required regression coverage - Issue #631-shaped child-only epic is excluded. - An implementable child issue remains eligible. - An ordinary issue containing “epic” incidentally is not excluded solely by title. - Excluded containers cannot receive assignments or workflow leases. ## Non-goals - Cross-role allocation handoff/consume path (tracked separately). - Closing or rewriting existing epic issues. - Changing child-issue implementation workflows. ## Note This issue is a durable record only for the current author run. Implementation is intentionally deferred so the handoff defect can land independently.
jcwalker3 added the status:readyworkflow-hardeningtype:bug labels 2026-07-23 01:32:45 -05:00
Owner

Scheduled allocator evidence — 2026-07-23

AUTOMATION-EVIDENCE: daily-brief 2026-07-23 container-selection-chain

This unattended controller cycle reproduced the container-selection defect on live prgs/Scaled-Tech-Consulting/Gitea-Tools state.

Runtime and transition

  • Namespace/profile/identity: gitea-controller / prgs-controller / sysadmin.
  • Server implementation and live master were in parity at 4f3a464a90e14a6595cfb7339dd3d8d6ed957c93; restart was not required.
  • Failed transition: process_work_queue cross-role preview selected non-implementable containers for action=implement, required_role=author.
  • No allocation was applied: no assignment or workflow lease was created.

Live selection chain

  1. #631 — epic; body says implementation is delivered through child issues only and forbids product-feature implementation on the epic. Preview fingerprint: 588dbf9096ede08de20dfe95668c92630060d1a7b35761b7b7095335780422b7.
  2. After sanctioned per-run exclusion of #631, #652 — canonical product vision; body says “Do not implement features on this issue.” Fingerprint: 0fc979c6d6a387070a2d722b9055d53a3435b35df04e573d554056b5f6d22458.
  3. After excluding #631/#652, #653 — phased roadmap; non-goals forbid implementing features on the roadmap. Fingerprint: 5eccd6925047f0b366793004ca1956643f10b4134d37e8f205413d3b29545533.
  4. After the maximum three sanctioned exclusions (#631/#652/#653), #655 — restart-governance umbrella; body says implementation is via linked children only. Fingerprint: 71d4ad703ce9fb97cfcf3f01f79796a0a3e31a4d67321a601f3a52a670bafca2.

The allocator therefore cannot advance to bounded work within the three-skip safety ceiling. This is materially broader evidence than the original #631 reproduction: title variants Product vision, Roadmap, and Umbrella all survive eligibility and ranking.

Recovery and impact

  • Recovery attempted: canonical exclude_issue_numbers preview exclusions for exactly three invalid candidates.
  • Result: allocator advanced, but only to another child-only umbrella (#655); no safe allocation was made.
  • Scheduled-run impact: a worker must spend its bounded cycle diagnosing/updating this defect instead of executing eligible child work.
  • Duplicate search: open #844 fully covers this root cause; closed #776 is related to pre-rank exclusions but does not replace semantic container eligibility. No new defect was created.

Regression evidence to add under existing acceptance criteria

  • Exclude #652-shaped vision records, #653-shaped roadmaps, and #655-shaped umbrellas before ranking.
  • Prove their independently implementable children remain eligible.
  • Preserve structured skip reasons and guarantee excluded containers receive neither assignments nor leases.

Canonical Issue State

STATE: needs-author
WHO_IS_NEXT: author
NEXT_ACTION: Implement issue #844 acceptance criteria with semantic pre-rank container exclusion and regression coverage.
NEXT_PROMPT:

In Scaled-Tech-Consulting/Gitea-Tools, work only issue #844 as author under the canonical work-issue workflow; implement semantic pre-rank exclusion for epic, vision, roadmap, and umbrella child-only containers, preserve child eligibility and structured skip reasons, validate, open/update one PR, and stop.

WHAT_HAPPENED: A live scheduled controller preview selected four child-only containers in sequence; three sanctioned exclusions exhausted the run limit without reaching bounded work.
WHY: Allocator eligibility currently treats status:ready containers as implementable without honoring authoritative child-only and non-implementation scope.
RELATED_PRS: #845 documents the separate cross-role handoff defect and explicitly leaves #844 out of scope.
BLOCKERS: process_work_queue ranks semantic container issues as implementable author work.
VALIDATION: Live allocator previews and live issue reads for #631, #652, #653, #655; controller identity, exact issue-comment capability, and master parity revalidated immediately before this comment.
LAST_UPDATED_BY: sysadmin (prgs-controller)

Canonical Handoff

REPOSITORY: Scaled-Tech-Consulting/Gitea-Tools
ISSUE: 844
PR: none
WORKFLOW_STATE: needs-author
HEAD_SHA: none
BASE_BRANCH: master
BASE_OR_MERGE_SHA: 4f3a464a90e14a6595cfb7339dd3d8d6ed957c93
ACTING_ROLE: controller
ACTING_IDENTITY: sysadmin (prgs-controller)
COMPLETED_ACTIONS: Reproduced four-container allocator selection chain; reused and updated existing defect #844.
VALIDATION_EVIDENCE: Live allocator previews plus live issue reads for #631, #652, #653, and #655; exact comment capability and master parity revalidated immediately before mutation.
MUTATION_LEDGER: One issue discussion comment on #844 (this record); no allocation, assignment, lease, branch, worktree, file, commit, push, PR, review, or merge mutation.
BLOCKERS: process_work_queue ranks semantic container issues as implementable author work.
NEXT_ACTOR: author
NEXT_ACTION: Implement #844 acceptance criteria using live allocator semantics and add regression coverage for epic, vision, roadmap, and umbrella containers.
PROHIBITED_ACTIONS: Do not implement container issues directly; do not bypass the allocator; do not allocate excluded containers.
NEXT_PROMPT: In Scaled-Tech-Consulting/Gitea-Tools, work only issue #844 as author under the canonical work-issue workflow; implement semantic pre-rank exclusion for epic, vision, roadmap, and umbrella child-only containers, preserve child eligibility and structured skip reasons, validate, open/update one PR, and stop.
WORKFLOW_FAILURE_ISSUES: #844
LAST_UPDATED: 2026-07-23T08:06:18Z
## Scheduled allocator evidence — 2026-07-23 AUTOMATION-EVIDENCE: daily-brief 2026-07-23 container-selection-chain This unattended controller cycle reproduced the container-selection defect on live `prgs/Scaled-Tech-Consulting/Gitea-Tools` state. ### Runtime and transition - Namespace/profile/identity: `gitea-controller` / `prgs-controller` / `sysadmin`. - Server implementation and live master were in parity at `4f3a464a90e14a6595cfb7339dd3d8d6ed957c93`; restart was not required. - Failed transition: `process_work_queue` cross-role preview selected non-implementable containers for `action=implement`, `required_role=author`. - No allocation was applied: no assignment or workflow lease was created. ### Live selection chain 1. `#631` — epic; body says implementation is delivered through child issues only and forbids product-feature implementation on the epic. Preview fingerprint: `588dbf9096ede08de20dfe95668c92630060d1a7b35761b7b7095335780422b7`. 2. After sanctioned per-run exclusion of `#631`, `#652` — canonical product vision; body says “Do not implement features on this issue.” Fingerprint: `0fc979c6d6a387070a2d722b9055d53a3435b35df04e573d554056b5f6d22458`. 3. After excluding `#631/#652`, `#653` — phased roadmap; non-goals forbid implementing features on the roadmap. Fingerprint: `5eccd6925047f0b366793004ca1956643f10b4134d37e8f205413d3b29545533`. 4. After the maximum three sanctioned exclusions (`#631/#652/#653`), `#655` — restart-governance umbrella; body says implementation is via linked children only. Fingerprint: `71d4ad703ce9fb97cfcf3f01f79796a0a3e31a4d67321a601f3a52a670bafca2`. The allocator therefore cannot advance to bounded work within the three-skip safety ceiling. This is materially broader evidence than the original `#631` reproduction: title variants `Product vision`, `Roadmap`, and `Umbrella` all survive eligibility and ranking. ### Recovery and impact - Recovery attempted: canonical `exclude_issue_numbers` preview exclusions for exactly three invalid candidates. - Result: allocator advanced, but only to another child-only umbrella (`#655`); no safe allocation was made. - Scheduled-run impact: a worker must spend its bounded cycle diagnosing/updating this defect instead of executing eligible child work. - Duplicate search: open `#844` fully covers this root cause; closed `#776` is related to pre-rank exclusions but does not replace semantic container eligibility. No new defect was created. ### Regression evidence to add under existing acceptance criteria - Exclude `#652`-shaped vision records, `#653`-shaped roadmaps, and `#655`-shaped umbrellas before ranking. - Prove their independently implementable children remain eligible. - Preserve structured skip reasons and guarantee excluded containers receive neither assignments nor leases. ## Canonical Issue State STATE: needs-author WHO_IS_NEXT: author NEXT_ACTION: Implement issue #844 acceptance criteria with semantic pre-rank container exclusion and regression coverage. NEXT_PROMPT: ```text In Scaled-Tech-Consulting/Gitea-Tools, work only issue #844 as author under the canonical work-issue workflow; implement semantic pre-rank exclusion for epic, vision, roadmap, and umbrella child-only containers, preserve child eligibility and structured skip reasons, validate, open/update one PR, and stop. ``` WHAT_HAPPENED: A live scheduled controller preview selected four child-only containers in sequence; three sanctioned exclusions exhausted the run limit without reaching bounded work. WHY: Allocator eligibility currently treats status:ready containers as implementable without honoring authoritative child-only and non-implementation scope. RELATED_PRS: #845 documents the separate cross-role handoff defect and explicitly leaves #844 out of scope. BLOCKERS: process_work_queue ranks semantic container issues as implementable author work. VALIDATION: Live allocator previews and live issue reads for #631, #652, #653, #655; controller identity, exact issue-comment capability, and master parity revalidated immediately before this comment. LAST_UPDATED_BY: sysadmin (prgs-controller) <!-- sph:v1 --> ## Canonical Handoff ```text REPOSITORY: Scaled-Tech-Consulting/Gitea-Tools ISSUE: 844 PR: none WORKFLOW_STATE: needs-author HEAD_SHA: none BASE_BRANCH: master BASE_OR_MERGE_SHA: 4f3a464a90e14a6595cfb7339dd3d8d6ed957c93 ACTING_ROLE: controller ACTING_IDENTITY: sysadmin (prgs-controller) COMPLETED_ACTIONS: Reproduced four-container allocator selection chain; reused and updated existing defect #844. VALIDATION_EVIDENCE: Live allocator previews plus live issue reads for #631, #652, #653, and #655; exact comment capability and master parity revalidated immediately before mutation. MUTATION_LEDGER: One issue discussion comment on #844 (this record); no allocation, assignment, lease, branch, worktree, file, commit, push, PR, review, or merge mutation. BLOCKERS: process_work_queue ranks semantic container issues as implementable author work. NEXT_ACTOR: author NEXT_ACTION: Implement #844 acceptance criteria using live allocator semantics and add regression coverage for epic, vision, roadmap, and umbrella containers. PROHIBITED_ACTIONS: Do not implement container issues directly; do not bypass the allocator; do not allocate excluded containers. NEXT_PROMPT: In Scaled-Tech-Consulting/Gitea-Tools, work only issue #844 as author under the canonical work-issue workflow; implement semantic pre-rank exclusion for epic, vision, roadmap, and umbrella child-only containers, preserve child eligibility and structured skip reasons, validate, open/update one PR, and stop. WORKFLOW_FAILURE_ISSUES: #844 LAST_UPDATED: 2026-07-23T08:06:18Z ```
Owner

Canonical Issue State

STATE: needs-author
WHO_IS_NEXT: author
NEXT_ACTION: Implement allocator semantic exclusion for epic/vision/roadmap/umbrella/child-only containers before ranking; add regression coverage; do not allocate containers for implement.
NEXT_PROMPT:

Work issue #844 on remote prgs, org Scaled-Tech-Consulting, repo Gitea-Tools.
Load gitea-workflow / llm-project-workflow work-issue mode.
Use gitea-author (prgs-author). Allocate or claim #844 only after preview eligibility.
Implement gitea_allocate_next_work / process_work_queue exclusion of epic, product-vision, roadmap, umbrella, and child-only container issues before ranking so they never receive author implement selection or leases.
Use body/structured scope signals in addition to title prefixes (Epic:, Roadmap:, Product vision:, Umbrella:).
Preserve eligibility of independently implementable children and ordinary issues that only mention epic incidentally.
Add regression tests for #631/#652/#653/#655-shaped containers excluded and a normal implementable issue remaining eligible; structured skip reason required.
Do not implement product features from excluded containers. PR against master; stop after author handoff.

WHAT_HAPPENED: Scheduled autonomous controller cycle (2026-07-23) used gitea_allocate_next_work allocation_mode=cross_role apply=false on prgs Scaled-Tech-Consulting/Gitea-Tools. Top-ranked candidates were non-implementable containers: #631 (Epic), then after exclude #652 (Product vision), #653 (Roadmap), then #655 (Umbrella). Hit the scheduled-run 3-invalid-candidate skip limit; no assignment or lease created. Preflight OK: workflow skill ready, workflow hash 263d0a6cb8a6, master parity 4f3a464a90, mutation_safe true, identity sysadmin/prgs-controller.
WHY: Allocator still ranks status:ready container issues as author implement work. Semantic epic/vision/roadmap/umbrella/child-only exclusion from #844 AC is not yet applied in live gitea_allocate_next_work cross_role selection, so unattended runs cannot advance without manual exclude_issue_numbers and risk allocating containers if apply=true without validation.
RELATED_PRS: none for this comment cycle
BLOCKERS: Live defect remains open — containers outrank implementable work; related queue pressure includes foreign/stale leases on #637/#646 and reviewer stale_dead_process on PR #813/#818 (separate from this defect root cause).
VALIDATION: Reproduced via four consecutive dry-run previews with fingerprints 588dbf9096ede08de20dfe95668c92630060d1a7b35761b7b7095335780422b7 (#631), 0fc979c6d6a387070a2d722b9055d53a3435b35df04e573d554056b5f6d22458 (#652), 5eccd6925047f0b366793004ca1956643f10b4134d37e8f205413d3b29545533 (#653), 71d4ad703ce9fb97cfcf3f01f79796a0a3e31a4d67321a601f3a52a670bafca2 (#655). Issue bodies for #631/#652/#653 explicitly forbid implementation on the container. Duplicate search: open #844 already tracks root cause — no new issue filed.
LAST_UPDATED_BY: scheduled worker via gitea-controller / prgs-controller / sysadmin

## Canonical Issue State STATE: needs-author WHO_IS_NEXT: author NEXT_ACTION: Implement allocator semantic exclusion for epic/vision/roadmap/umbrella/child-only containers before ranking; add regression coverage; do not allocate containers for implement. NEXT_PROMPT: ```text Work issue #844 on remote prgs, org Scaled-Tech-Consulting, repo Gitea-Tools. Load gitea-workflow / llm-project-workflow work-issue mode. Use gitea-author (prgs-author). Allocate or claim #844 only after preview eligibility. Implement gitea_allocate_next_work / process_work_queue exclusion of epic, product-vision, roadmap, umbrella, and child-only container issues before ranking so they never receive author implement selection or leases. Use body/structured scope signals in addition to title prefixes (Epic:, Roadmap:, Product vision:, Umbrella:). Preserve eligibility of independently implementable children and ordinary issues that only mention epic incidentally. Add regression tests for #631/#652/#653/#655-shaped containers excluded and a normal implementable issue remaining eligible; structured skip reason required. Do not implement product features from excluded containers. PR against master; stop after author handoff. ``` WHAT_HAPPENED: Scheduled autonomous controller cycle (2026-07-23) used gitea_allocate_next_work allocation_mode=cross_role apply=false on prgs Scaled-Tech-Consulting/Gitea-Tools. Top-ranked candidates were non-implementable containers: #631 (Epic), then after exclude #652 (Product vision), #653 (Roadmap), then #655 (Umbrella). Hit the scheduled-run 3-invalid-candidate skip limit; no assignment or lease created. Preflight OK: workflow skill ready, workflow hash 263d0a6cb8a6, master parity 4f3a464a90e1, mutation_safe true, identity sysadmin/prgs-controller. WHY: Allocator still ranks status:ready container issues as author implement work. Semantic epic/vision/roadmap/umbrella/child-only exclusion from #844 AC is not yet applied in live gitea_allocate_next_work cross_role selection, so unattended runs cannot advance without manual exclude_issue_numbers and risk allocating containers if apply=true without validation. RELATED_PRS: none for this comment cycle BLOCKERS: Live defect remains open — containers outrank implementable work; related queue pressure includes foreign/stale leases on #637/#646 and reviewer stale_dead_process on PR #813/#818 (separate from this defect root cause). VALIDATION: Reproduced via four consecutive dry-run previews with fingerprints 588dbf9096ede08de20dfe95668c92630060d1a7b35761b7b7095335780422b7 (#631), 0fc979c6d6a387070a2d722b9055d53a3435b35df04e573d554056b5f6d22458 (#652), 5eccd6925047f0b366793004ca1956643f10b4134d37e8f205413d3b29545533 (#653), 71d4ad703ce9fb97cfcf3f01f79796a0a3e31a4d67321a601f3a52a670bafca2 (#655). Issue bodies for #631/#652/#653 explicitly forbid implementation on the container. Duplicate search: open #844 already tracks root cause — no new issue filed. LAST_UPDATED_BY: scheduled worker via gitea-controller / prgs-controller / sysadmin
jcwalker3 added status:in-progress and removed status:ready labels 2026-07-23 03:54:11 -05:00
Author
Owner

Issue claim heartbeat

<!-- gitea-issue-claim-heartbeat:v1 --> **Issue claim heartbeat** - kind: claim - issue: #844 - branch: fix/issue-844-exclude-epic-containers - phase: claimed - profile: prgs-author - pr: none - blocker: none - next_action: create worktree and begin implementation
jcwalker3 added status:pr-open and removed status:in-progress labels 2026-07-23 03:57:33 -05:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Scaled-Tech-Consulting/Gitea-Tools#844