The task a worktree was given sits above Claude, and what followed it under it - #59
Merged
Merged
Conversation
… under it The window's bar showed the newest prompt, and after any piece of work the newest prompt is "merge and deploy" or "yes" -- what the worktree was told last, not what it is for. Now the newest prompt that set a task gets up to three lines above Claude, and the prompts since it follow beneath as "→ yes → merge and deploy", on one line while they fit and wrapping after. Telling the two apart is length, with no model call. Measured over every transcript on this machine -- 63 sessions, 1,151 prompts: the short end is nearly all steering (`merge and deploy`, `continue`, and as often `mege` and `Metge and deploy`, which is why a word list would do worse than a count). Ten words or more is a task, unless it is a question under twenty. The misses sit at 8-12 words, where either reading is fair. Runs of follow-ups between tasks are short (none 318 times, one 155, two 61), so six are kept. With no task in reach, the first prompt stands in for one. The incremental transcript read used to re-read a 64KB overlap to catch a record straddling the boundary. Harmless for one newest prompt, a duplicate in every list once it keeps several; it now stops at the last newline and starts there next time, so a half-written line is read whole once. Checked by putting the overlap back: the straddling test fails. The strip hides while the soft keys are up, by the same `:has(.keybar)` the top bar uses. An older linked machine sends only `prompt`, which is then shown as the task. Verified on a scratch instance with stand-in transcripts: the strip renders above vim with its status line intact, a long task clamps at three lines, an appended follow-up appears on the next poll, six follow-ups wrap to three rows at 390px with no horizontal overflow, and an injected `.keybar` hides every strip. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The window's bar showed the newest prompt, and after any piece of work the
newest prompt is "merge and deploy" or "yes" -- what the worktree was told
last, not what it is for. Now the newest prompt that set a task gets up to
three lines above Claude, and the prompts since it follow beneath as
"→ yes → merge and deploy", on one line while they fit and wrapping after.
Telling the two apart is length, with no model call. Measured over every
transcript on this machine -- 63 sessions, 1,151 prompts: the short end is
nearly all steering (
merge and deploy,continue, and as oftenmegeandMetge and deploy, which is why a word list would do worse than a count).Ten words or more is a task, unless it is a question under twenty. The
misses sit at 8-12 words, where either reading is fair. Runs of follow-ups
between tasks are short (none 318 times, one 155, two 61), so six are kept.
With no task in reach, the first prompt stands in for one.
The incremental transcript read used to re-read a 64KB overlap to catch a
record straddling the boundary. Harmless for one newest prompt, a duplicate
in every list once it keeps several; it now stops at the last newline and
starts there next time, so a half-written line is read whole once. Checked by
putting the overlap back: the straddling test fails.
The strip hides while the soft keys are up, by the same
:has(.keybar)thetop bar uses. An older linked machine sends only
prompt, which is thenshown as the task.
Verified on a scratch instance with stand-in transcripts: the strip renders
above vim with its status line intact, a long task clamps at three lines, an
appended follow-up appears on the next poll, six follow-ups wrap to three
rows at 390px with no horizontal overflow, and an injected
.keybarhidesevery strip.
🤖 Generated with Claude Code