Skip to content

TaskWraith 1.8.5

Choose a tag to compare

@boggspa boggspa released this 20 Jul 18:18

1.8.5 - 2026-07-20

Added

  • Kimi ACP sessions can resume as durable, isolated seats. Native ACP
    continuity now survives TaskWraith run boundaries, with seat checkpoints,
    resumable provider sessions, and bounded prompt compaction for longer-lived
    work.
  • Kimi K3 exposes selectable thinking and plan-aware context. K3 offers
    Low, High, and Max reasoning controls, while the usable context limit follows
    the detected Moonshot plan from 256K through as much as 1M rather than
    advertising one fixed window to every account.
  • Needs your input surfaces pending agent questions. A global banner and
    Sidebar/Approvals attention markers call out chats that are waiting on a
    user answer, and the unfocused desktop window can bounce or flash so a
    parked question is harder to miss.
  • Node Graphs show project thread relationships. A Work-scoped sidebar
    section and thread-graph pane project user-drawn dependency edges between
    chats, with SVG connectors for the active project map.
  • Execution Graph, Stack, and Map inspect main-owned run structure. Main
    owns stack runtime, permission ceilings, terminal joins, and dispatch wiring
    so repository diagnostics and attention stacks stay coherent across
    multi-step work.
  • PDF text extraction and on-device OCR are brokered tools. Bundled
    pdfjs-dist text-layer extraction plus generalized Vision OCR let agents
    read PDF text and image contents through TaskWraith-hosted tools rather than
    opaque provider-side parsing.
  • Projects have a guarded reference library. A selected project now exposes
    a References section for cataloguing relevant files, folders, and links. Each
    row can be excluded from or restored to the library, removed, and—when it is
    a file or folder—checked for last-known availability. The main-owned Projects
    registry persists the metadata through main-renderer-only IPC and the
    renderer facade. Its file/folder picker remains deliberately separate from
    access-grant pickers, verification performs one main-side existence check
    without reading content, and URL verification is rejected rather than
    fetching the network. A reference grants no file or network access and is
    never indexed or injected into agent context.
  • Sub-thread status ticker and Ensemble mailbox delivery. Parent chats show
    a live sub-thread status ticker, and Ensemble parents can drain a durable
    sub-thread mailbox into the idle authority seat once so returned worker
    results reach Boss/Captain context without a manual paste.
  • Host-rerun continuation keeps Codex work on a fresh run identity. After a
    host rerun, TaskWraith mints an independent continuation run that resumes the
    existing provider session instead of double-joining history on the approval
    run or spawning a virgin seat.
  • The host sky follows local conditions. Weather, solar and lunar state,
    and the starfield can now shape the optional sky effects. When those effects
    are enabled, TaskWraith resolves the host's approximate location through
    ipapi.co with ipwho.is as fallback, rounds coordinates to 0.1 degrees
    (about 11 km) before requesting Open-Meteo data, and stores the result in the
    local host-weather-cache.json. No workspace or task content is sent as part
    of that lookup.

Changed

  • Cursor runs again under Path-B contained native sandbox (+ write).
    Managed Cursor is always-enabled (no brittle per-build fingerprint gate) and
    re-admitted through the shared CLI transport. Production argv always comes
    from the contained builders that hard-pin --sandbox enabled, with separate
    read-only and write-capable argv shapes routed by seat permission—never a
    bare uncontained cursor-agent spawn, never sandbox-disabled / force /
    yolo / resume-token argv from the production entry.
  • Fresh Ensemble panels start small and role-shaped. New Ensemble chats now
    seed at most four active seats (Boss, Captain, Specialist, and an independent
    Outsider), while new saved roster presets begin with the first three roles
    and room for at most five. The twenty-seat limit remains a capacity ceiling
    rather than the default panel size.
  • Primary navigation is organized as Chat, Code, and Work. The surface
    split makes conversation, workspace activity, and projects/workflows easier
    to distinguish. Switching or choosing a workspace from a pristine draft now
    preserves its selected provider, model, reasoning, permission posture, and
    unsent composer text.
  • Provider brand marks appear on the transcript filter rail. Official
    provider logos replace ad-hoc colour-only chips so multi-provider transcripts
    are easier to scan.
  • Solo tool grants stay editable while a run is live. Permission grants for
    solo seats can be adjusted during an active turn without waiting for the run
    to finish.
  • Projects now use a main-backed optimistic registry. Shared pure registry
    operations, a main-owned projects.json, snapshot/apply/import IPC, change
    broadcasts, one-shot legacy import, and explicit main-renderer channel
    classification establish the durable boundary. The renderer store now uses
    that boundary through an optimistic facade. Main-owned Project Work profiles
    also establish an atomic home-chat claim for each project, with Work-surface
    controls to set, clear, and open the claimed home. View-only preferences such
    as the active surface and expanded state remain in renderer storage, while
    per-surface search queries stay session-only. An unhomed project can also
    Start Project Home: TaskWraith opens an ordinary pristine General draft
    and claims it for that project on the first committed message or run, while
    an abandoned draft remains reusable/reapable like any other pristine draft.
  • The right dock remembers the surface for the current context. Chat and
    Code keep the last-selected dock destination per chat for the current app
    session. In Work, a chat that belongs unambiguously to one project uses that
    project's dock memory, so moving among the project's member threads retains
    the same destination; ambiguous membership safely falls back to the chat.

Fixed

  • Provider and orchestration edges are more resilient. Fixes cover Kimi
    transport and usage hardening, Ensemble roster imports, stale broker sockets,
    and related run-lifecycle cleanup.
  • Grok broker tools advertise under the TaskWraith MCP namespace. The
    progressive gateway presents Grok-facing broker tools as TaskWraith rather
    than a legacy unqualified surface, and parent-provider binding prefers the
    live run session so approval modals name the correct seat.
  • External activity includes Grok and keeps paired-device rollups honest.
    The activity scan reads Grok usage instead of reporting zero, and the paired
    device rollup agrees with the header totals.
  • Universal Mac builds ship both @napi-rs/canvas architectures. The
    notarized macOS package includes the canvas native binaries required on both
    Apple Silicon and Intel so Canvas/PDF paths do not miss one arch.
  • iOS reconnect wakes coalesce instead of flap. APNs, foreground, and path
    reconnect signals single-flight through one coordinator so the companion no
    longer races competing reconnects after push or resume.

Security

  • Managed Kimi authentication and admission stay fail-closed where it
    matters.
    Rotating Kimi OAuth credentials use a source-home-keyed durable
    authority across isolated ACP seats and crash recovery. The brittle per-build
    fingerprint gate is dropped for always-enabled development admission, but
    packaged builds still require an exact reviewed runtime tuple and the
    embedded qualification roster remains intentionally empty—so packaged Kimi
    and sealed scheduled Kimi execution stay unavailable until their respective
    admission/authority evidence is commissioned. A successful kimi login or a
    Settings usage key does not qualify a managed run.
  • Manual unsigned builds cannot write GitHub Release assets. Windows and
    Linux testing builds now upload only immutable SHA/run-labelled Actions
    artifacts under read-only repository permission. The credentialed provider
    canary also stays fail-closed until its protected environment has been
    explicitly commissioned, and signed publication requires a fresh successful
    exact-commit canary attestation plus commissioned immutable v* tag/release
    controls. Both signed publishers re-resolve the remote tag and reject
    auto-created or moved tags before uploading.
  • Deleting chat history now clears the adjoining TaskWraith audit state. The
    Settings action removes chats, run/run-queue and execution-graph history,
    approval/feedback ledgers, sub-thread mailboxes, Canvas workspaces/artifacts,
    Kimi seat state, and the bridge subprocess log. Provider-native history and
    provider credentials remain separate and are not removed by that control.
  • canvas_eval receipts retain correlation metadata instead of executable
    content.
    Human-approved execution and Canvas-audit receipts retain the
    joined approval id, unkeyed SHA-256 digest, lengths, and outcome rather than
    script/result content. Auto-denial and compatibility/tool rows are
    content-redacted but may omit that full receipt. The digest is integrity and
    correlation metadata, not encryption; provider-authored transcript prose,
    provider-native history, and opt-in debug capture remain outside the
    guarantee.

Ship commit: 314c2338a6cb250940f4889f53a1f8957ec270ff
CI matrix: run 29765225079 (success)
Notary (DMG): 0fa4889c-19ab-49e0-a099-a99ea1674bf9 Accepted
iOS companion: build 80 VALID on App Store Connect / TestFlight