Skip to content

F-A Slice 2: Retire MutatingForker and the mutating fork capability #559

Closed

Description

@chuks-qua

Parent

#538 (agent provider + handoff architecture overhaul). This is the F-A follow-up: retiring the Cursor Path A mutating fork.

What to build

Remove the mutating fork path entirely now that Cursor forks cleanly. This is mechanical cleanup once Slice 1 (#558) has proven the clean side-channel leaves the parent untouched.

Delete the MutatingForker adapter and the Cursor provider's runHiddenTurn method (and its hidden-turn / disregard-turn machinery). Retire the "mutating" value from the SessionForkBehavior capability so it becomes "clean" | "unsupported", and set Cursor's declared capability to "clean". The handoff ladder reduces from B/A/D to B/D.

Update the domain glossary in CONTEXT.md to match: remove the Path A retirement-pending note on the B/A/D ladder, remove the "Hidden turn" and "Disregard turn" and "Path A" definitions, and reframe the ladder as B/D. Remove or update any handoff.json provenance and fallback-banner copy that referenced the "A" ladder step, including tests asserting the mutating path.

The end-to-end behaviour is unchanged from the user's point of view: Cursor forks still produce a handoff. The only difference is there is no longer a mutating code path in the tree.

Acceptance criteria

  • MutatingForker is deleted; no provider wires it.
  • Cursor's runHiddenTurn and its hidden-turn / disregard-turn logic are deleted.
  • SessionForkBehavior no longer includes "mutating"; Cursor declares "clean".
  • The handoff pipeline and any provenance / banner copy no longer reference the "A" ladder step.
  • CONTEXT.md reflects the B/D ladder: Path A retirement note removed, "Hidden turn" and "Disregard turn" terms removed.
  • Existing tests that asserted the mutating path are removed or rewritten; forking a Cursor thread still produces a valid handoff.
  • bun run verify passes.

Blocked by

#558 (must complete and its clean-parent verification must pass).

Activity

  1. added
    ready-for-agentTriaged; ready for an autonomous coding agent to pick up
    on Jun 3, 2026
  2. added a commit that references this issue on Jun 8, 2026
    dd549fe
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

    ready-for-agentTriaged; ready for an autonomous coding agent to pick up

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions