Problem
On discovering work the ticket doesn't name, agents default to treating it as out of scope and offer a follow-up ticket — even when the work is required to actually solve the problem, or is cheap and serves the ticket's goal. "The ticket didn't mention it" is offered as if it were a sufficient reason to defer. The reflex fires across design, review, and implementation flows. Against a large backlog where each ticket spawns more, it is a primary driver of unsustainable growth.
The correct third path — fold the work into the current change — is missing from the guidance agents read most. guidance/shared/AGENTS.md (loaded every session) frames the choice as a false binary: create a follow-up issue, or implement ad hoc / silently defer. The nuance that would prevent the reflex exists, but is scattered across ticket-creation-cost.md, ticket-evaluation.md, and design-priorities.md, and none of the reflex-firing surfaces point to a single governing default.
Context
Scoped to the fold-in-vs-spin-off decision — how the agent treats ticket scope when it discovers adjacent work. Over-trusting the ticket's problem framing or proposed solution is a separate facet of deference already owned by ticket-evaluation.md, and is out of scope here.
The knowledge store holds ~10 distinct events describing this exact pattern — several rated high-impact, none yet addressed — spanning design-and-plan, review, and implementation. The most recent classifies it as misapplied existing guidance, so the fix is consolidation and correcting a misleading default, not net-new rules.
Proposed solution
Establish one governing scope-decision default and route the reflex-firing surfaces to it, favoring revision and consolidation over addition.
- Invert the default: work the problem requires, or that is cheap and serves the ticket's goal, is folded into the current change by default. A separate ticket needs an affirmative, stated reason — a genuinely separable concern, a materially different risk surface, size that would swamp the change, or independent prioritization. Ticket silence is never such a reason and must not be offered as one.
- Authority: the agent surfaces and recommends; the user owns the scope decision. The agent never declares work out of scope as settled fact.
- Feature responsibility: an avoidable user-visible defect the current change introduces is in-scope-by-default, not an automatic follow-up.
- Cost framing: the bar for spinning off is the full ticket pipeline (create through merge and cleanup) plus opportunity cost against the backlog — not PR size. Small, clean PRs have real value, but it must clear that bar. Frame the pipeline as a whole, without enshrining a step count.
- Consolidate: reframe
_data/ticket-creation-cost.md into the single scope-decision doctrine (renamed scope-and-deferral.md), retaining its three-lane model, drive-by suitability, and worked example, and adding the four points above.
- Keystone: rewrite the false-binary line in
guidance/shared/AGENTS.md to state the fold-in default and point to the doctrine — a revision, not an addition.
- Reconciles with "create tickets immediately": once work is judged genuinely separable, ticket it now. This governs whether to defer, not how.
Acceptance criteria
Must have
Should have
Problem
On discovering work the ticket doesn't name, agents default to treating it as out of scope and offer a follow-up ticket — even when the work is required to actually solve the problem, or is cheap and serves the ticket's goal. "The ticket didn't mention it" is offered as if it were a sufficient reason to defer. The reflex fires across design, review, and implementation flows. Against a large backlog where each ticket spawns more, it is a primary driver of unsustainable growth.
The correct third path — fold the work into the current change — is missing from the guidance agents read most.
guidance/shared/AGENTS.md(loaded every session) frames the choice as a false binary: create a follow-up issue, or implement ad hoc / silently defer. The nuance that would prevent the reflex exists, but is scattered acrossticket-creation-cost.md,ticket-evaluation.md, anddesign-priorities.md, and none of the reflex-firing surfaces point to a single governing default.Context
Scoped to the fold-in-vs-spin-off decision — how the agent treats ticket scope when it discovers adjacent work. Over-trusting the ticket's problem framing or proposed solution is a separate facet of deference already owned by
ticket-evaluation.md, and is out of scope here.The knowledge store holds ~10 distinct events describing this exact pattern — several rated high-impact, none yet addressed — spanning design-and-plan, review, and implementation. The most recent classifies it as misapplied existing guidance, so the fix is consolidation and correcting a misleading default, not net-new rules.
Proposed solution
Establish one governing scope-decision default and route the reflex-firing surfaces to it, favoring revision and consolidation over addition.
_data/ticket-creation-cost.mdinto the single scope-decision doctrine (renamedscope-and-deferral.md), retaining its three-lane model, drive-by suitability, and worked example, and adding the four points above.guidance/shared/AGENTS.mdto state the fold-in default and point to the doctrine — a revision, not an addition.Acceptance criteria
Must have
guidance/shared/AGENTS.mdno longer presents the create-ticket-vs-implement-ad-hoc binary; it states the fold-in default (spin off only with an affirmative reason beyond ticket silence) and points to the doctrine.ticket-creation-cost.mdis renamed toscope-and-deferral.mdwith its three-lane model, drive-by suitability, and worked example retained; every referencer is updated with no dangling references.Should have
ticket-evaluation.mdand design-and-plan Phase 2 carry a one-line pointer that scope can grow (fold-in), not just shrink.