Skip to content

Slice: Orchestrator coordinates a conflicted Memory branch switch #263

Closed

Description

@DoodleBears

Parent

Part of #259. Related: #81 (Assignment Runtime), #261.

What to build

A Human requests a Memory branch switch while the repository has unfinished edits or an Assignment is working on relevant files. The Orchestrator immediately starts the request, inspects the real Git conflict, coordinates the affected Assignment through its existing request/report path, preserves unfinished work, and retries when it can switch safely. The Channel shows meaningful progress and the final branch or blocked state. The UI does not run Git or silently force the switch.

This slice completes a deterministic end-to-end conflict case. If the available facts leave a genuine Human choice, the Orchestrator must preserve the current files and report that choice as pending; the native in-Channel Ask Question flow is delivered by its sibling slice.

Acceptance criteria

  • A real dirty-worktree switch refusal preserves modified files, index state, and the old branch; no reset, force checkout, or silent discard occurs.
  • For a reproducible in-progress Assignment case, the Orchestrator identifies the affected Assignment, uses its existing addressed coordination path, receives the resulting report, and safely completes or clearly blocks the switch.
  • The Channel reports requested, conflict/coordination, and completed or blocked states with the target branch and useful reason; it does not claim success while Git stayed on the old branch.
  • A successful retry changes the real current branch and the same Orchestrator Session can read the resulting working tree; an unresolved conflict leaves both Session and files intact.
  • Focused real-repository and Assignment integration tests cover refusal, coordination, retry, preservation, and restart visibility. A live LLM-backed DSH Human QA URL and saved screenshots demonstrate one full conflict-to-resolution path.

Blocked by

Activity

  1. added this to the v1.1 milestone on Sep 24, 2026
  2. added
    ready-for-agentFully specified, ready for an AFK agent
    area:fullstackEnd-to-end Host and Client implementation
    feature:memoryPersonaBot Memory Repository and Memory Service
    feature:assignmentOrchestrator and Assignment collaboration
    scope:tracerHuman-testable implementation slice
    on Sep 24, 2026
  3. modified the milestones: v1.1, v1.0 on Sep 24, 2026
  4. DoodleBears commented on Sep 25, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

  5. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Sep 25, 2026
  6. added a commit that references this issue on Sep 25, 2026
  7. DoodleBears commented on Sep 25, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome

    • Task: codex/local/01a0cde3-1621-7382-96a1-852758cedfc0
    • State: completed
    • PR: feat(memory): coordinate conflicted branch switches (#263) #288
    • Merge commit: 10ab8db
    • Human QA: branch filtering and keyboard selection, dirty-source block before success, named stash preserving staged and untracked files, retry and historical read in the same Session, refresh persistence, and PersonaBot title cleanup all passed.
    • Remaining scope for this issue: none.
  8. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Sep 25, 2026
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

    area:fullstackEnd-to-end Host and Client implementationfeature:assignmentOrchestrator and Assignment collaborationfeature:memoryPersonaBot Memory Repository and Memory Serviceready-for-agentFully specified, ready for an AFK agentscope:tracerHuman-testable implementation slice

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions