fix(cli): declare the transcript command's mid-turn disposition - #3486
Closed
Astro-Han wants to merge 1 commit into
Closed
fix(cli): declare the transcript command's mid-turn disposition#3486Astro-Han wants to merge 1 commit into
Astro-Han wants to merge 1 commit into
Conversation
#2999 added the /transcript command and the change making midTurn a required field on MakaSlashCommand landed separately. Each was green on its own branch; main broke where they met. 'local' rather than 'refuse': showTranscriptViewer only calls tui.showOverlay, never entering runControl, so it satisfies the local contract — and mid-turn is exactly when reading back the transcript is most useful, so refusing there would remove the command's main value. Generated-by: Claude Opus 5 (Claude Code)
Astro-Han
force-pushed
the
fix/transcript-midturn
branch
from
August 22, 2026 11:48
0805d46 to
e9d1a98
Compare
Contributor
Author
|
Superseded by #3459, which landed For the record, Review assisted by AI (Claude Opus 5). |
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.
Summary
mainis red: thetestjob fails at Build.#2999 added
/transcript; the change makingmidTurnrequired onMakaSlashCommandlanded separately. Each was green on its own branch — the break exists only where they meet, and the intermediatemainruns were each cancelled by the next push, so no complete run reported it until now.'local'rather than the more obvious'refuse':'refuse'is documented as the safe default for anything that mutates session state or opens a picker the turn would race, and/transcriptdoes neither.showTranscriptViewer(pi-tui-runner.ts:2184) only callstui.showOverlaywith a read-only viewer over the in-memory transcript, never enteringrunControl— which is precisely what'local'requires. It also matters for behaviour: mid-turn is when reading back the transcript is most useful, and the viewer was built to be open while a turn runs, so'refuse'would compile while removing the command's main value.Refs #2999
Verification
npm run build --workspace @maka/core, thentsc -p packages/cli --noEmit— clean.npm run build --workspace @maka/ui, thentsc -p apps/desktop --noEmit— 0 errors.The desktop check is worth stating: a report suggested
ToastDiagnosticTargetwas a second break inmain. It isn't. That type is a discriminated union in which{ sessionId }alone is a valid member; desktop only appeared broken because the CLI build failed before reaching it.No test accompanies this change — see Review focus.
Review focus
The disposition value is the whole change, so it's worth a second opinion on
'local'vs'refuse'rather than just on whether it compiles.No test is added.
midTurnis a required field enforced by the compiler, so the type system already fails without the fix and a test asserting the literal would restate the declaration rather than pin behaviour. If you'd prefer coverage that/transcriptstays usable mid-turn, that's a behavioural test worth having on its own terms — say so and I'll add it here.AI use
Select exactly one:
Tool(s) and scope: Claude Opus 5 (Claude Code) — diagnosed the failure, chose the disposition value, and wrote the change and this description. Reviewed by a human before submission. The commit carries a
Generated-bytrailer.Checklist
Does this PR entail a change in behavior?