Skip to content

whole buncha work - #18

Merged
cryptoquick merged 12 commits into
mainfrom
fix/interject-no-cancel
Aug 1, 2026
Merged

whole buncha work#18
cryptoquick merged 12 commits into
mainfrom
fix/interject-no-cancel

Conversation

@cryptoquick

@cryptoquick cryptoquick commented Jul 25, 2026

Copy link
Copy Markdown
Member

This PR makes mid-turn work feel interruptible without destructive cancel, keeps plan and todo state honest across compact and resume, and lands the plan soft-park approval surface operators actually use (Approve / Notes / Clarify / Revise / Quit that stay painted while a plan is parked). It also cleans a pile of dogfood chrome: clear finished that is findable without smashing subagent controls, human-green vs agent-magenta roles, caret residue, "Worked for" spam, click-to-open subagent chrome, title-bar busy while children run, and Settings rows that were documented or half-present but not wired. Docs and process pins (FORK, AGENTS, user-guide) ride along so the contracts survive recon.

  1. Soft interject (original core)
    • Mid-turn Interject / queue Interject / empty-Enter injects into the running turn.
    • Cancel stays Esc / stop; not "interject equals cancel."
    • Held and background subagents: status Interject to force; row Interject force-drains.
    • Tips/status language: Enter to interject.

  2. Plan and todo honesty
    • Compact writes live todo state, not an empty board.
    • Resume restores the board from tool/plan state and re-emits Plan.
    • ask:* auto-seed on real user turns (capped), protected on wipe-style merges.
    • Board survives auto-compact completion.

  3. Live auto-compact threshold
    • Changing the percent applies without restart (persist → ACP → session → compaction cells).
    • Toast no longer tells you to restart for that knob.

  4. Plan soft-park and "usual lines"
    • After exit_plan_mode, operators get real approval chrome (panel or strip), not a barren comment-file shell when approval is still pending.
    • Approval footer stays correct while parked (no turn-end wipe of a live soft-park; chrome re-synced so casual c comment does not replace Approve/Notes/Clarify/Revise/Quit).
    • Casual plan preview without a parked approval stays comment-first on purpose; that is a different surface.

  5. Session chrome dogfood
    • Clear finished: compact control when the todo board is open and has finished work; not always-on top-right smash; not invisible focus-only hide-and-seek.
    • Click top-right subagent/model chrome to open the subagent view.
    • "Worked for …" updates in place, not a new line every tick.
    • Caret color residue on arrow keys fixed; lower-left running throbber uses agent magenta; human chrome stays green.
    • Terminal title stays busy while subagents are still running after the parent turn ends.

  6. Settings that actually work
    • Session recap knobs in Settings (and disable path).
    • Bubble copy buttons, cancel-subagents-on-turn-cancel, and related inventory pins so unit tests match live defs.

  7. Theme / appearance
    • DOGE default and related appearance work, with explicit color roles: human green, agent magenta.

  8. Docs and process
    • User-guide updates (auth, shortcuts, slash, config, theming, plan mode, sessions, subagents, background tasks).
    • FORK / AGENTS / residual pins for contracts that must survive recon.

  9. Explicit non-goals / parked
    • Optional richer SuperGrok limits UI (GRLD reference) not required for this PR.
    • Pure casual plan open with no parked approval is still not the approval CTA surface.

  10. Test note
    • Large nextest suite; inventory tests updated when Settings rows landed. Agents do not land signed commits; users owns the tip.

Soft interject: mid-turn Interject / queue [Interject] / empty-Enter inject into the running turn only. Cancel stays Esc/stop. Held + background subagents: status Interject to force; row Interject force-drains. Esc on cancel-turn panel dismisses only. Tips/status: Enter to interject.

Plan/ask honesty: compact writes live Resources TodoState (not empty); resume RestoreTodoBoard seeds from tool_state.json/plan.json and re-emits Plan. ask:* auto-seed on real user turns (cap 20), protected on merge:false. Todo board preserved on AutoCompactCompleted.

Live-apply auto-compact threshold: settings auto_compact_threshold_percent is restart_required:false. Path: PersistSetting → ACP x.ai/auto_compact_threshold_changed → SessionCommand::SetAutoCompactThreshold → CompactionConfig Cells. Toast no longer says restart to apply.

Parked sendable-wait bare Enter: document-only decision — cancel-and-send on blocked wait + empty queue + plain Enter with text stays intentional unblock-immediately; not a soft-interject law bug (user-guide 03 + FORK).

just check green (26762 nextest passed). Agent does not commit/push/PR.
@cryptoquick
cryptoquick enabled auto-merge (squash) July 25, 2026 23:28
@cryptoquick cryptoquick changed the title fix: soft interject never cancels + plan/ask honesty + live auto-compact whole buncha work Aug 1, 2026
@cryptoquick
cryptoquick merged commit a1515fe into main Aug 1, 2026
1 check passed
@cryptoquick
cryptoquick deleted the fix/interject-no-cancel branch August 1, 2026 12:05
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.

1 participant