Boundary
tools/queen/task_shape.py
tools/queen/feed_untested.py
tools/queen/feed_defects.py
tools/queen/feed_empty_bodies.py
tools/queen/refile.py
.github/workflows/queen-task-shape.yml
The hole
An issue with no ## Boundary is not work the Queen declines — it is work she cannot see. She reserves files before dispatching, so with nothing to reserve the issue is skipped every round, for good.
Measured 2026-09-23: 565 of 649 candidates skipped for missingBoundary, twenty lanes idle, refusal="nothing to choose" over a board of six hundred open issues.
Every one of those was opened by something that never checked. The feeds (feed_untested, feed_defects, feed_empty_bodies) and refile all call gh issue create with no gate at all, so the swarm has been filling its own backlog with rows it cannot dispatch.
needs_boundary.py labels them a day later; propose_boundary.py drafts what is missing. Both are repairs after the fact. What is missing is the gate.
What to build
tools/queen/task_shape.py — one rule, a pinned twin of boundaryPathsOf in queen-tick.ts. Not an approximation: a gate stricter than the Queen rejects work she would have taken; looser, and it passes work she will silently skip.
- Every creator refuses before it files.
- A workflow on
issues: opened/edited that says on the issue itself what is missing.
It must not close anything. An issue may be a real problem badly filed, and deleting a person's report to keep a queue tidy is the wrong trade.
roadmap and epic stay exempt — a goal is not a task.
Acceptance
Boundary
tools/queen/task_shape.pytools/queen/feed_untested.pytools/queen/feed_defects.pytools/queen/feed_empty_bodies.pytools/queen/refile.py.github/workflows/queen-task-shape.ymlThe hole
An issue with no
## Boundaryis not work the Queen declines — it is work she cannot see. She reserves files before dispatching, so with nothing to reserve the issue is skipped every round, for good.Measured 2026-09-23: 565 of 649 candidates skipped for
missingBoundary, twenty lanes idle,refusal="nothing to choose"over a board of six hundred open issues.Every one of those was opened by something that never checked. The feeds (
feed_untested,feed_defects,feed_empty_bodies) andrefileall callgh issue createwith no gate at all, so the swarm has been filling its own backlog with rows it cannot dispatch.needs_boundary.pylabels them a day later;propose_boundary.pydrafts what is missing. Both are repairs after the fact. What is missing is the gate.What to build
tools/queen/task_shape.py— one rule, a pinned twin ofboundaryPathsOfinqueen-tick.ts. Not an approximation: a gate stricter than the Queen rejects work she would have taken; looser, and it passes work she will silently skip.issues: opened/editedthat says on the issue itself what is missing.It must not close anything. An issue may be a real problem badly filed, and deleting a person's report to keep a queue tidy is the wrong trade.
roadmapandepicstay exempt — a goal is not a task.Acceptance
task_shape.py --self-testpasses, pinning the section-ends-at-next-##rule, first-token-per-line, backtick and punctuation stripping, and## Границы