Skip to content

session-flow/handoff and implementation/implement-dispatch: the phase boundary has two owners with opposite defaults #3952

Description

@kyle-sexton

Context

Two skills own the same moment — a dispatch phase boundary — with opposite defaults, and neither text
names the other. handoff/SKILL.md states "The skill produces the save-point, THEN STOPS … STOP is the
default and near-universal outcome"; implement-dispatch/SKILL.md:88 states "Resident mode still marks
DONE, writes the handoff, and emits the prompt". Dispatch tells the resident session to write the
artifact itself, without naming the skill that owns it, so the conflict is re-adjudicated by the agent at
every boundary and resolved by bypassing the skill.

Evidence

  • Confirmed in current text: grep -n "implement-dispatch\|resident" plugins/session-flow/skills/handoff/SKILL.md
    returns nothing; implement-dispatch/SKILL.md says "writes the handoff" but never
    /session-flow:handoff.
  • Conflict first recorded at .work/handoffs/20260905T224010Z-handoff-phase-1.md:87; resolution at
    :52 ("Phase-boundary handoffs are crash insurance; the session stays resident across phases").
  • The mechanism is visible in the file record: 5 of the 6 phase-boundary handoffs in the resident
    dispatch session 68eab2fb were written free-hand with no Skill(session-flow:handoff) call at all.

    The skill was invoked once, for phase 1 (68eab2fb L330 2026-09-05T22:38:49), and its procedure was
    then replayed by hand at every later boundary: L502 23:47:45, L578 2026-09-06T00:02:54,
    L686 01:01:01, L822 02:00:56, L1941 20:33:09.
  • Pack: .work/meta-muse-integration/retro-evidence.md sections D1 and F1.

Proposed work

Make the two skills name each other and split the STOP decision from the artifact:

  • implement-dispatch resident mode invokes /session-flow:handoff at each phase boundary rather than
    writing the file itself.
  • handoff accepts a resident / no-stop argument so the save-point can be produced without the STOP,
    and says so in its text.

Either half alone leaves the conflict; the point is that one skill keeps owning the artifact while the
other keeps owning whether the session continues.

Source: /session-flow:retro over the meta-muse chain, 2026-09-07

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: mediumReal value, no hard deadline; normal backlog flow.work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions