Skip to content

Handle default harness correctly when resume a conversation. - #308

Merged
wjjclaud merged 1 commit into
mainfrom
default-harness
Jul 16, 2026
Merged

Handle default harness correctly when resume a conversation.#308
wjjclaud merged 1 commit into
mainfrom
default-harness

Conversation

@wjjclaud

Copy link
Copy Markdown
Collaborator

Fix #306

  • Resume a conversation should use the same harness stored in its log. Resume doesn't need to explicitly specify the harness via --harness flag.
  • Reject only an explicit harness ID is passed on resume.
  • In the conversation log, record the actual harness ID instead of empty string "" when starting a conversation with default harness.

Tested

Rerun the sequence in #306 without error.

@wjjclaud
wjjclaud requested review from joycel-github and rakyll July 15, 2026 03:11
@wjjclaud
wjjclaud merged commit f3518d3 into main Jul 16, 2026
9 checks passed
@wjjclaud
wjjclaud deleted the default-harness branch July 16, 2026 03:24
joycel-github added a commit that referenced this pull request Jul 16, 2026
The controller does not read ExecRequest.LastSeq (no server-side reader in
internal/controller); the client sends it but the server ignores it, so the
documented "server replays later events to catch the client up" behavior
does not happen. This regressed when the resume path was rewritten in #308
(previously handled in #262).

- Quick Start: reconnect with --resume + the conversation ID instead of the
  non-functional --last-seq catch-up example.
- Usage: describe --last-seq as reserved and note the server does not
  currently act on it; use --resume after a disconnect.
joycel-github added a commit that referenced this pull request Jul 16, 2026
Two related inaccuracies in the resume/disconnect docs:

- --last-seq: the client sends ExecRequest.LastSeq but the controller has
  no server-side reader for it (regressed in the #308 controller rewrite;
  previously handled in #262), so the documented "server replays later
  events to catch the client up" behavior does not happen. Tracked in #320.
- --resume: it only re-runs an execution that is still pending; if the
  previous execution already completed it returns without doing anything.
  The earlier wording implied a general disconnect/replay recovery.

Reword Quick Start and the --resume/--last-seq option docs to match the
actual controller behavior.
rakyll pushed a commit that referenced this pull request Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Resuming a conversation failed with mismatched default harness value

2 participants