- Exported ensureChromiumExecutable so the test can probe launchability.
- CI runner holds the downloaded Chrome but lacks libnspr4 & co., so the
binary fails at dynamic-link time; probe --version and skipIf instead
of failing the release run.
- Added `tui.scrollbackRebuild` configuration with interactive startup/controller wiring to apply `setScrollbackRebuild`.
- Exposed prewalk session state in `SegmentContext` and rendered a dedicated prewalk segment/icon in the status line.
- Added divergence-aware TUI full-paint logic that enables scrollback erase-and-replay rebuilds for non-multiplexer divergence cases.
- Updated rendering and streaming tests to verify rebuild behavior (`3J`) and eliminate stale marker expectations under drift scenarios.
- Replaced legacy `pi/` role alias prefix with canonical `@` syntax across model resolution, documentation, and tests.
- Added support for bare `*` default alias and multiple alias prefix detection with custom role resolution in `resolveConfiguredRolePattern()`.
- Enhanced thinking suffix parsing to accept unambiguous abbreviations (minimum 2 characters) for effort and level selectors.
- Extended `resolveCliModel()` and `filterAvailableModelsByEnabledPatterns()` to accept settings parameter for role alias resolution from `--model` flag.
- Added a process-wide `__harborManagerHooks` flag on `globalThis` so signal and unhandled-rejection handlers are registered only once during Bun `--hot` re-execution.
- Added `isDevStreamTeardown` handling to ignore `ERR_STREAM_RELEASE_LOCK` unhandled rejections from dev stream teardown while rethrowing all other unhandled rejections.
- Added `react-refresh` to the Harbor Manager package manifest and lockfile dependencies.
- Changed daemon log reads to return both sanitized display text and a raw `terminalText` slice, and included it on log RPC responses for PTY runs when grep was not used.
- Extended the logs result contract and launch tool rendering to consume `terminalText`, reconstruct terminal output, and display it in framed, preview-capped sections.
- Kept terminal row layout stable by writing space characters for empty cells when reading rows, preserving spacing during output reconstruction.
- Refined the coding-agent prewalk-plan system prompt to require 5-9 meaningful todo steps with concrete targets and verification, and removed the requirement for a super-detailed single-reply plan format.
- Added a `hot-reload-probe` marker comment at the end of Harbor Manager's `server.ts`.
- Bounded expanded partial edit diff rendering in `formatStreamingDiff` to `previewWindowRows()` instead of an unbounded budget, preventing runaway preview growth during live updates.
- Updated streaming diff tests to simulate terminal height and verify expanded previews stay full only within the viewport, then switch to a truncated tail with the `more lines above` marker when too tall.
- Reinitialized in-memory `Settings` before each initial-messages test since the test suite reads global display configuration and needs isolation.
- Added `isAcceptedElicitation` in the ACP agent to narrow accepted elicitations before accessing response content.
- Added `isFormElicitation` in ACP tests and used it to narrow form-mode requests before assertions.
- Initialized in-memory settings in the repro issue test by resetting settings before theme setup.
- Reduced the UI/TUI CI test bucket chunk size from 10 to 5 to avoid cumulative Bun GC heap aborts.
- Upgraded `@agentclientprotocol/sdk` from `0.25.0` to `1.2.1` and `@ark/schema` from `0.56.1` to `0.56.2` in `package.json` and `bun.lock`, updating `patchedDependencies` and override entries accordingly.
- Updated lockfile package metadata to match new manifest versions, including TypeScript `7.0.2`, arktype `2.2.3`, and several related dependency/version dependency-tree entries.
- Added a new `@agentclientprotocol/sdk@1.2.1` patch that extends the package exports with `./dist/schema/zod.gen.js` including type and default import mappings.
- Removed the Google Interactions transport and deleted interaction-specific request options from the shared AI stream typing/API surface.
- Simplified Google provider routing to eliminate interactions auto-selection logic and keep `streamGoogle` on the `:streamGenerateContent` path.
- Updated Vertex request handling to use resolved stream hosts without `/interactions`/`Api-Revision` and removed related interaction constants.
- Deleted obsolete Interactions tests and updated remaining Google stream tests to no longer reference `useInteractionsApi`/`storeInteraction`/`previousInteractionId`.
- Verify terminal screen row replay correctly handles cursor rewrites.
- Ensure final text color and weight are preserved during terminal output rendering.
- Assert that superseded text is excluded from the rendered output.
- Updated `launch` tool to utilize `renderTerminalOutput` for improved log formatting.
- Added `terminalRows` to `LaunchToolDetails` to support structured virtual terminal rendering.
- Refactored `BashInteractiveOverlayComponent` to consolidate terminal line reading and styling logic.
- Applied sanitization to log text in `toolContent` to prevent rendering issues.
- Integrated `styleTerminalRow` in the `launch` tool renderer to maintain consistent UI theme application.
- Updated `hashline` test expectations to match new recovery message strings.
- Initialized settings in `interactive-mode-status` tests to prevent state leakage.
- Added ANSI color code verification to `launch` tool tests to align with updated output.
- Cleaned up whitespace in `tan-context-switch.md` system prompt.
- Introduce `DAEMON_PTY_COLUMNS` and `DAEMON_PTY_ROWS` to `protocol.ts` for consistent PTY dimension management.
- Implement `renderTerminalOutput` in `launch/terminal-output.ts` to utilize headless xterm for accurate terminal state replay.
- Add `readTerminalRows` and `styleTerminalRow` in `tools/terminal-output.ts` to serialize terminal buffers while preserving safe ANSI styles.
- Update `broker.ts` to use standardized PTY dimensions and ensure terminal output is properly sanitized and well-formed during stream processing.
- Added an environment configuration option to choose between docker and apple-container backends.
- Updated the server to default to apple-container when the container CLI is detected.
- Removed unused auto_compaction_end event handling in the coding-agent print mode.
- Sanitized CLI JSON output by stripping sensitive payload data and implementing incremental delta extraction.
- Optimized log parsing in the harbor-manager by using tail-scanning and streaming file handles to prevent OOM errors.
- Enhanced process management to support persistent runs across manager restarts and improved orphan process handling.
- Added incremental cost probing for live trials and verified status transitions for runner lifecycle events.
- Remove the `gen:docs` step from the Docker build process and the developer documentation.
- Update documentation in `docs-index.ts` to reflect that the index is now injected via environment variable instead of a generated file.
- Update error messaging to point to binary or bundle rebuilds rather than the deprecated generation script.
- Removed the `downshift.boomerang` feature, including CLI flags, configuration schema settings, and internal session state logic.
- Deleted the associated prompt definition file and all unit tests related to the boomerang validation flow.
- Cleaned up frontend forms and server request handling in the harbor-manager package to reflect the feature removal.
- Updated the downshift planning prompt instructions to maintain continuity in task creation.
- Modify downshift logic to ignore `todo` tool calls as triggers, requiring them instead to open a "gate" that permits switching only on subsequent `edit`/`write` actions.
- Ensure the starting model consistently handles implementation until the todo list is established, preventing premature hand-off to the fast/cheap model.
- Update system prompts to emphasize strict validation and multi-test execution requirements for the boomerang model upon returning to the primary context.