LearnNewsExamplesServices
Frontmatter
id14579
titlegoal-scoping skill: encode the full-decomposition graduation bar
stateClosed
labels
documentationenhancementai
assigneesneo-gpt
createdAt3:46 AM
updatedAt4:41 AM
githubUrlhttps://github.com/neomjs/neo/issues/14579
authorneo-fable
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAt4:41 AM

goal-scoping skill: encode the full-decomposition graduation bar

Closed Backlog/active-chunk-2 documentationenhancementai
neo-fable
neo-fable commented on 3:46 AM

Context

Operator correction during the 2026-07-04 goal-scoping night (verbatim): "graduation ready means: epic => ALL sub-epics and tickets defined, discussion closed. can get delegated to peers. that is the idea for /goal-scoping." The current skill text does not say this — and the gap is exactly the looseness the June-2026 planning failure exploited (operator post-mortem, same night: "design and UX got fully lost. board almost complete => misleading, not even PoC state... team was hunting scraps, without realising it").

The Problem

goal-scoping-workflow.md §3 says each lane becomes an epic with subs "linked, added reasonably by the owner," and epic-create-workflow.md (Procedure step 6) says "Add subs incrementally as the decomposition clarifies — never block Epic creation on a complete sub-list." Both rules are correct for an epic's LIFE — but neither states a bar for a goal-scoping graduation event. Result: lanes can "graduate" as epic shells with no claimable work items, peers fall back to background-item scrap-hunting, and the board counts closable items while the goal starves. The ~300-missing-tickets planning gap the operator counted is this looseness at scale.

Precedent executed the same night (the bar works): #14453 → Epic #14565 + ALL five v1 leaves (#14566–#14570) filed, linked, blocked-by-sequenced, discussion closed RESOLVED — in ~20 minutes, from material already converged in the discussion. Delegation was immediate: the velocity leaf's first-claim was accepted by a peer within the hour. Same-night siblings followed the same shape (#14564; #14548's epic in flight with a ~20-sub decomposition).

The Architectural Reality

  • .agents/skills/goal-scoping/references/goal-scoping-workflow.md — §3 ("Each lane → an epic") is the insertion point; §5 ("Drive to the lane-GOAL") composes.
  • .agents/skills/epic-create/references/epic-create-workflow.md — Procedure step 6 needs ONE distinguishing sentence, not a rewrite: incremental-subs governs epic LIFE; the full v1 decomposition governs goal-scoping GRADUATION. No conflict: the epic body stays sub-list-free either way (the native update_issue_relationship graph is the registry — that rule is untouched).
  • Meta-skill sweep (§1b) run: change = reference-payload clause additions; no SKILL.md router bloat; Progressive Disclosure intact.

The Fix

  1. goal-scoping-workflow.md §3 gains a "Graduation bar" clause (operator sentence as normative spec): a lane graduates when (a) the lane-epic exists (problem-scope + intended-solution per epic-create), (b) the full v1 leaf set is FILED and native-linked (each a one-PR-deliverable leaf, blocked-by-sequenced where ordered), (c) the source Discussion (if any) is closed RESOLVED, and (d) the lane is delegatable NOW — a peer can claim a leaf without asking the planner anything. Anti-pattern note: "epic shell with subs-to-follow" is not a graduated lane; it is the June failure mode wearing an epic label.
  2. epic-create-workflow.md Procedure step 6 gains one sentence: "Incremental sub-addition governs the epic's LIFE; a goal-scoping GRADUATION additionally requires the full v1 leaf set at graduation time (see goal-scoping-workflow.md §Graduation bar)."
  3. Cite #14565 (+ #14564) as the executed precedent and the June-2026 post-mortem as the failure anchor.

Acceptance Criteria

  • §3 Graduation-bar clause added with the operator provenance line + the four conditions (a)–(d).
  • epic-create step-6 cross-reference sentence added; the no-sub-list-in-body rule explicitly re-affirmed (no contradiction introduced).
  • Anti-pattern table (goal-scoping-workflow) gains the "epic shell without leaves" row.
  • Implementation PR passes turn-memory-pre-flight (skill-loaded substrate mutation) + create-skill shape check; net-loaded-bytes delta stated in the PR body per the Substrate Accretion Defense.

Out of Scope

New skills; changes to ticket-create; any stop-hook machinery (operator directive: hook topics are tickets, never lanes — this ticket is about goal-scoping, not the hook).

Related

#14565/#14566–#14570 (the executed precedent) · #14564 · #14561 (the canonical lane map this bar serves) · .agents/skills/goal-scoping/ · .agents/skills/epic-create/ · June-2026 post-mortem (operator, on-record in #13012 plan-of-record rev 2026-07-04 + D#14561 working agreements).

Live latest-open sweep: latest 20 checked 2026-07-04T01:46Z — no equivalent (#14558 is narrative-doc-skill factoring, different surface). A2A in-flight sweep: 12-message window checked same timestamp — no competing claim.

Origin Session ID: a5af7cf6-45a3-42db-8a30-f04f4241a55c Retrieval Hint: "goal-scoping graduation bar full decomposition delegatable epic shell June planning failure"