Releases: boggspa/TaskWraith
Release list
TaskWraith 1.7.9
TaskWraith 1.7.9
Desktop release with iOS companion build 73. Highlights: iOS performance pass, liquid-glass sheets, transcript parity refinements, Settings 14→9 cleanup, ensemble participant ordering fix, and deterministic roster seeding.
Checksums (SHA-256)
TaskWraith-1.7.9-universal-mac.dmg:7a15fb0465ff9a81597f47241bfadaab0465f613b470c255098c596e109e0410TaskWraith-1.7.9-universal-mac.zip:a87f46be8ef32f47217d9f7ec1248005de598d88e0cfb38c8809e7ec2de4627a
See CHANGELOG.md for full notes.
TaskWraith 1.7.8
Fixed
- iOS transcript hydration. The Mac bridge now avoids sending oversized rich
remote-projection frames that could exceed the relay's payload budget after
the phone had already received the lightweight chat list. Oversized projection
snapshots fan out through the existing single-envelope channel, and large
thread snapshots are trimmed to a safe latest-row window instead of leaving
mobile detail screens stuck on "Loading transcript from your Mac...". - iOS thread detail refreshes. Mobile detail views now re-request transcript
snapshots when a metadata-only snapshot says history exists but contains no
rows, and Mac-side request handling avoids races where an early request could
be ignored before the bridge connection was ready. - iOS projection aliases. Remote thread snapshots now carry the aliases the
Swift client expects, keeping transcript rows, ensemble metadata, and composer
context attached to the selected chat. - iOS compact composer. The mobile composer again collapses both the
above-row controls and the footer telemetry rail when the keyboard drops,
while preserving the compact diff access affordance. - iOS Ollama brand parity. Participant health cards now repair generic
Ollama display stamps with model-specific branding, so Laguna renders as
Poolside on mobile like it does on desktop. - Windows CI portability. Release/test scripts avoid POSIX-only assumptions
that broke the Windows lane.
TaskWraith 1.7.7
Added
- Thread Introspection — memory promotion (read-only MVP). A retrospective
layer scans recent threads and runs, harvests evidence (run events, approval
friction, message feedback, correction heuristics), and produces reviewable
Memory Proposal Packs with scoped, cited lessons (preferences, failure
modes, repo conventions, provider hints, skill patches, bugs, do-not-repeat
notes). Settings → Automation → Thread introspection supports a manual
24h run, proposal review (approve/reject), evidence citations, and a daily
Enable toggle for read-only scheduled packs. Distinct from per-run
Evidence Packs and ensemble Blackboard. SeeTHREAD_INTROSPECTION.md. - Thread Introspection — apply phase 1 (repo conventions). After explicit
approve in Settings, eligiblerepo_conventionanddo_not_repeatproposals
can be applied to the workspace RepoConventionIndex via
applyMemoryProposal(stableintro-{proposalId}entries, apply receipt on
the proposal). Blocked in phase 1: skill/instruction file writes,
skill_patch,bug,preference,provider_hint, andfailure_mode.
Skill patches remain review-only until a later Skill Patch Manager with diff
preview and rollback. SeeTHREAD_INTROSPECTION.md. - Thread Introspection — MCP trigger and review tools. Agents can now use
tw_introspection_run,tw_introspection_list,tw_introspection_read, and
tw_introspection_reviewto create, inspect, and review proposal packs from
chat. The MCP surface intentionally has no apply tool; applying approved
proposals remains gated through the Settings/API flow. - Thread Introspection — decay and supersede lifecycle. Store-level helpers
can now supersede one memory proposal with another, expire past-due proposed
items, and preserve bidirectional provenance links. Lifecycle controls are
internal for now; no Settings, IPC, MCP, or automatic lifecycle policy is
exposed yet. - Ensemble roster import/export. Settings → Ensemble Roster can now save,
import, and export full roster presets as portable JSON so teams can swap
task-specific ensembles between installs. Imported/exported rosters preserve
participant shape without carrying live Trusted Session authority. - iOS Ensemble parity. The companion app can create/switch Ensemble chats via
the same chat-kind bridge as desktop, repairs thread-list/task-card metadata
when older Mac projections are sparse, and keeps ensemble status visible in
the mobile shell. - Boss controls. Bounded Boss control tools add quota reset summaries,
timeout expiry, user-response tracking, participant summons, and MCP coverage
for controlled multi-agent orchestration. - Agent-pool and tool icon expansion. The agent-pool icon catalog now covers
more workflow/tool families, including Diff Nice and release/CI-oriented
glyphs.
Changed
- Trusted Session replaces ambiguous YOLO trust. Full local authority is now
granted per chat or per ensemble participant lane, not globally to every
participant in the session. Workspace Write is accented orange and Trusted
Session/Full Access is accented red in the picker and composer chip. - Release-class shell posture is narrower. Generic release shell commands no
longer receive blanket release approval; explicit publish/signing receipts
still carry their own authority. - Live activity attribution is clearer. Tool-call and thinking-trace stacks
show participant-style speaker headers, preserve model/reasoning boundaries,
and avoid rendering stale historical run cards in the transcript path. - Composer and workspace controls are denser and steadier. Git/worktree
rows, utility popovers, goal/plan popovers, diff counters, external-path rows,
and secondary workspace chrome were tightened for repeated operational use. - Release packaging checks are more stable. Gate A packaging excludes local
Cursor workspace state from the app bundle, reduces fixture IO, and keeps
optional macOS dependency installation scoped to the universal build path.
Fixed
- iOS thread-list recovery. Task-card fallbacks,
chatKindrepair, and
metadata snapshot merge keep companion lists aligned with desktop state after
older or partial broadcasts. - MCP bridge write hardening. Safe-write paths and tool alias classification
better distinguish reasoning traces, shell/search aliases, and write-capable
bridge operations. - Grok/Cursor composer glow parity. Provider aura styling now matches the
current composer shell for Grok and Cursor.
TaskWraith v1.7.6
TaskWraith v1.7.6
Release date: 2026-07-05
Tag: v1.7.6 @ 5973182fcfe3e87136a4e4251417aa59af45b5ab
TaskWraith is a local-first macOS desktop workbench for running and reviewing AI coding agents. Execution, history, and workspace state stay on your machine.
Highlights
Added
- Prompt caching guarantee tiers. Settings → Providers → Prompt caching shows per-transport posture (Guaranteed / Automatic / Best effort / Unsupported) with optional diagnostics when providers report cache read/creation tokens. Controllable API/BYOK paths honor policy modes (
off/auto/explicit); opaque CLI transports remain best-effort only. - Universal forks.
/forkand thread fork actions use a provider capability summary: native fork on Codex (thread/fork), emulated fork (isolated sibling chat with duplicated transcript) on other live providers, with clear native vs emulated labeling. - Worktree and branch orchestration. Runtime profile
workspaceMode: worktreeresolves to git worktree lifecycle at run launch. The composer above-row branch control opens a popover to list branches, create a branch, checkout, and create/select/remove worktrees with dirty-tree guards. - Thinking trace actions. Reasoning traces in the activity stack gain copy-friendly actions consistent with other tool cards.
- Provider thinking summaries. Assistant turns can surface compact thinking summaries where the provider exposes reasoning metadata.
Changed
- Cache usage telemetry. Model Usage and prompt-cache diagnostics surface cache read/creation tokens when providers report them, including on implicit caching transports TaskWraith observes but does not control.
- Run summary diff stats. Diff stat chips align with the current evidence-pack presentation.
- Composer shell polish. Mic affordance and provider-row aura refinements on the composer chrome.
- Sidebar workspace hierarchy. Startup layout for nested workspace trees is tidier and less jumpy on first paint.
- iOS run details token table. Token summary layout simplified on the companion run-details screen.
Fixed
- Branch popover readability and placement. The composer branch/worktree popover reuses the Model/Reasoning picker frosted-glass chrome and opens above the trigger by default so it no longer overlaps the picker row below.
- Grok and Cursor thinking traces. Incremental thinking deltas preserve whitespace and word boundaries instead of trimming each chunk before append.
- Brief mention overlay scroll sync. Ensemble brief @-mention overlays stay aligned while the transcript scrolls.
- Release-class shell commands. Approved release workflows (
git push,git_create_pr, and related host commands) bypass redundant shell blocks after explicit user approval.
Documentation
- New guide:
SESSION_AND_WORKSPACE.md(caching tiers, forks, worktrees). - Architecture and Advanced Optional Setup cross-links for BYOK caching caveats.
Full changelog: CHANGELOG.md
macOS downloads
| Artifact | SHA-256 |
|---|---|
TaskWraith-1.7.6-universal-mac.dmg |
809e3f9d2f3c601ca08288101be419c02001967a8228210b1de27795eae6a0e5 |
TaskWraith-1.7.6-universal-mac.zip |
097555e0dd2948e0c3efe6b5e213392718aca29a220a809e6214f3fcf775b542 |
latest-mac.yml |
74dec6e8a18ff35410af020c497c978649d6cc53c25e15b9d550ce98445ba3c3 |
sbom.cdx.json |
88503231e0bf03c3d8bed1462934f41df2e4c9c377d57cb064cbd4fc590777cb |
Checksums file: SHA256SUMS-1.7.6.txt
Notarization note: The universal .app inside the DMG is signed, notarized, and stapled. DMG-level stapling was deferred (stapler validate on the DMG reports no ticket yet); Gatekeeper acceptance was verified on the packaged .app.
iOS companion
TestFlight build 65 (marketing version 0.1.0) uploaded to App Store Connect with production push entitlements.
Upgrade
Existing installs on the stable channel should pick up 1.7.6 via the in-app updater (latest-mac.yml). New installs: open the .dmg and drag TaskWraith to Applications.
TaskWraith v1.7.5
1.7.5 - 2026-07-05
Added
- Agent Pool icon colour controls. Hue and brightness sliders stay visible for
seed, asset, and named icons — not only after Shuffle — with editable Hex and
RGB fields for precise picks. When Tint icon is on, your chosen colour
overrides pre-baked asset hues; when off, the preview stays monochrome while
the colour fields still show your last pick. - Agent Pool leaderboard. Settings → Agent Pool now includes a sortable
leaderboard table (styled like Model Usage) ranking pooled agents by runs,
threads, tokens, tool calls, edits, work time, ensemble stage/role, and last
active. Stats accumulate forward from saved ensemble runs. - Transcript participant filter rail. Ensemble transcripts gain a compact
filter rail so you can focus on one participant's messages without losing
round context. - Add selection to composer prompt. Highlight transcript text and send it
straight into the composer as quoted context. - Composer voice input. Pick a microphone source and dictate locally into
the composer; on-device transcription fills the prompt without sending audio
off-machine. - Ensemble brief presets. Edit reusable brief presets from Settings and
update them mid-round via a newensemble_briefMCP tool. - Stacked fan-out working indicators. Parallel fan-out lanes now show a
clearer stacked busy state while seats are running. - Plugin contributions surface. Activated plugin capabilities, tool bundles,
local services, workflow templates, connector secret setup, health probes, and
launch runners are wired into Settings and the new-workflow menu, with review
gates before risky activations. - Sketch canvas tooling. Agents can open a persisted sketch canvas for
lightweight markup workflows. - Poolside Laguna (Ollama). A new local-model preset joins the Ollama catalog.
- Full thinking traces. Extended reasoning traces are surfaced where the
provider exposes them. - Compact collapsed model-usage grid. With the sidebar collapsed, model usage
condenses into a tighter grid layout.
Changed
- Fan-out transcript grouping. Parallel fan-out activity rolls up into grouped
cards instead of scattering individual lane messages through the thread. - Ensemble send queueing. Sends issued while the orchestrator is busy route
through the ensemble queue instead of racing the active turn. - Solo assistant labels. Single-provider chats label assistant turns with
provider identities rather than generic placeholders. - Workspace board creator. Creating a board opens from a main-pane sheet
instead of a sidebar-only flow. - Sidebar rhythm and composer tabs. Section spacing is normalized; tucked
composer tabs cap at 850px so wide monitors do not sprawl. - Ensemble chars slider polish. Glass styling refinements and removal of
noisy warning hints on the orchestration row. - Ollama branding. Mentions, health cards, and iOS working labels carry
consistent Ollama identity. - Provider tools catalog. The tools reference is reorganized for easier
discovery.
Fixed
- Agent Pool tint precedence. Legacy baked accents no longer win over user
hue/brightness when tinting is enabled. - Settings roster brief editor width. The ensemble brief editor no longer
overflows its panel. - Workflow quick-create from general chats. Quick workflow creation works
from non-workspace threads again. - Participant filter rail alignment. Underfilled filter rails bottom-align
cleanly against the transcript edge. - Completion-claim warnings retired. Stale completion-claim transcript
warnings are removed in favour of the current evidence-pack flow. - Active run provider labels. In-flight runs show the correct provider name.
- Ollama health card brand fallback. Missing brand metadata no longer leaves
a blank card.
SHA-256 checksums (macOS artifacts):
31708ff3a630b7bed131cddcb0368e15d3104d6af89cd55b4c10f67af965c7cc TaskWraith-1.7.5-universal-mac.dmg
4d94de30fbf7ad6a6554cc4961231b7f552c1f502780db5ce7cc600a559415b6 TaskWraith-1.7.5-universal-mac.zip
Windows and Linux installers are unsigned CI builds attached after publish.
TaskWraith v1.7.4
1.7.4 - 2026-07-04
Added
- Mid-thread ensemble toggle. Top-level chats can now flip in place between
single-provider and Ensemble mode on the same chat, preserving transcript and
run history. Solo → Ensemble seeds a single participant from the current
provider instead of recreating the thread, and Ensemble → Solo collapses back
to a canonical provider — defaulting to the current Boss participant so the
thread keeps its lead voice. The toggle is available on started threads when
idle and stays disabled while a turn is active. - Ensemble blackboard — a shared scratchpad for your agents. Participants can
now post durable, bounded shared-memory entries (decisions, verified facts,
open risks, do-not-repeat notes, concise notes) that every seat sees as a
compact digest instead of re-deriving the same facts each turn. Agents get
blackboard_post/blackboard_read/blackboard_deletetools with per-seat
"seen" tracking, entries carry a round / session / chat lifespan, and the whole
board is browsable — with its unseen/seen state — from the Pins panel. - Ensemble fan-out controls, refined. The orchestration-row Fan-Out control is
clearer to steer, and a parallel writer wave now lands as a single Fan-out
result card that gathers each seat's contribution in one place instead of
scattering them down the transcript. - Live seat-compaction progress. When an Ensemble seat approaches its context
ceiling, you now see its compaction happening live — an in-progress indicator
on the participant and a boss-facing cue — rather than only a card after the fact. - File-change hover diffs. Hovering a changed file in a run now previews a
compact per-file diff summary (added / removed line counts and the change
shape), so you can gauge what a step touched without opening the editor. - Transcript rail reading lens. The user-message marker rail now carries a
slide-rule-style "lens": a frosted carriage whose height shows how much of the
thread is on screen and whose position tracks your scroll. Ticks it has swept
past settle into an "inked" spent state, marking the done/upcoming boundary as
a second, colour-independent cue. - Rail jumps now glide. Clicking a go-to-message tick or the ↑ / ↓ arrows
animates the transcript to the target (distance-scaled, eased) instead of
teleporting. Any wheel / touch / key input mid-glide cancels it instantly, and
reduced-motion settings restore the instant jump. - Collapsed rounds keep their rail markers. In Ensemble chats, user prompts
hidden inside a collapsed round card still appear on the go-to-message rail,
anchored at the round's header; clicking one auto-expands the round and glides
to the prompt. - Quick controls survive collapsing the sidebar. Hiding the workspace sidebar
now surfaces a bottom-left vertical glass pill with the sidebar footer's quick
controls — Settings, Approvals, Shares, and Devices — each opening the same
popover as its sidebar counterpart, with the same pending/collaborator/device
glows. - iOS: richer notification banners. Turn-complete and status banners on the
companion carry more context at a glance, while genuinely noisy remote
notifications are dialled back so the ones that arrive are worth reading.
Changed
- Provider / model / reasoning switching no longer stops at first send. In
normal chats, the composer provider and model / reasoning pickers stay usable
after a thread has history. Idle changes apply immediately; while a turn is
active they queue and apply at turn end. The same-provider case keeps the live
session; only a genuine provider switch resets provider-linked session state.
The iOS companion mid-thread switch got the same session-hygiene treatment. - Continuous-mode ensembles keep going on their own. A Continuous round no
longer stops the moment agents stop explicitly handing off. When the roster
drains with an active goal, TaskWraith re-dispatches another pass automatically
— up to the handoff-turn budget — and stops cleanly when the goal is completed,
blocked, or paused, when the hop budget runs out, or when a round makes no
progress. - Ensemble roster is easier to shape. The old minimum-two-participant floor is
gone, so you can pare a roster down freely, and collapsing or reworking the
roster no longer discards participants you meant to keep. - Guest participants removed. The older Guest helper path has been removed from
desktop, iOS, bridge, and live docs. Historical guest transcript rows remain
render-safe and inert. - Corner-pill polish. The bottom-left column pill's dividers span the full pill
width and its icons are larger. Active pill buttons swapped the old
left-weighted blue gradient — whose near-white glyph vanished on light themes —
for the neutral glass blob + hairline ring the hover state already used. - Quieter sidebar and calmer flourishes. The sidebar's model-usage heatmap was
retired, the masthead and New button line up with the brand row, transcript
item separators read as a softer silver, and the sky-diff easter egg is pared
back to just its drifting +/− line counts.
Fixed
- Priority @-mentions reach the Boss even after they've spoken. Directing a
round back to the Boss — or the acting Captain when the Boss is away — after
that authority had already taken its turn printed a "takes routing priority"
note but then silently dropped the route. The authority is now genuinely
re-summoned (bounded by the handoff budget so it can't loop), and when a
re-summon truly can't be delivered the note reports the real reason. - Dedicated writers fan out in parallel again. Two round-start gating bugs let
stage reviewers and read-only workers falsely veto a parallel writer wave,
forcing writers back to a slower serial pass; parallel writer fan-out now runs
when it's warranted. - Ensemble steering and recovery hardened. A steer issued during a parked
window is now honoured, zombie dispatch after a cancel is stopped, and an
ensemble participant recovered after an app restart is labelled as itself
rather than mislabelled as a solo run. - Stale run-queue rows no longer linger. Active-run queue entries left behind
by a finished or interrupted run are suppressed, so the queue reflects what's
actually running. - Chat titles and summaries stay honest. Chat-list summaries are validated
against each chat's own file so a title can't drift away from its conversation,
index churn is throttled to keep the list steady, and session checkpoints
persist more reliably across compaction. - A pending question now sits at the live tail. In Ensemble chats an
ask_user_questioncard could strand itself above the speaker; it now pins to
the bottom of the live conversation where you'd expect to answer it. - Rail no longer bleeds under the composer. With the workspace sidebar
collapsed, the go-to-message rail could overlap the floating composer's left
edge; it now anchors to the leftmost mounted lane, stays fully to the
composer's left, and re-measures when layout transitions settle. - Settings is reachable with the sidebar collapsed. Opening Settings while the
sidebar was hidden left no tab navigation and no "Back to app"; the sidebar slot
that hosts the Settings nav now force-mounts for the takeover and slides back
out on close, without touching the user's collapsed preference. - Right-dock panels no longer stack from the top pill. The rim buttons (Run
rail, Media, Notes / Pins, Terminal, File editor, Inspector) route through the
dock's exclusive lifecycle: opening one surface replaces the previous, and
closing the active surface collapses the whole dock in a single click. - Remote approvals that over-shoot the offered tier are honoured. Tapping
"Accept for workspace" on an iOS approval that only offered a narrower accept no
longer silently drops it; the accept is down-clamped to the strongest offered
tier and the command actually runs.
Security
- Roster permission changes respect the workspace auto-edit gate. Setting an
ensemble participant to an auto-edit-tier posture (workspace-write or full
access) from a remote device now requires the workspace to permit auto-edit,
closing an escalation path that bypassed the gate the composer already enforces. - Cursor native shell and writes unlock only under a real Full access grant. A
write-capable Cursor run keeps its native shell / write deny-list — routing
through the TaskWraith broker — unless it's running under a genuine, signed Full
access grant, matching how Codex full-access is treated.
SHA-256 checksums (macOS artifacts):
67c0dd36e0261be49dfd687abb4d1f14cf98d685889b83cd0f2a0af5e0db3dee TaskWraith-1.7.4-universal-mac.dmg
52fad4aaeeda344c8e3e90bbddba3168925bfe85a8963951035c40a9614e1060 TaskWraith-1.7.4-universal-mac.zip
Windows and Linux installers are unsigned CI builds attached after publish.
TaskWraith v1.7.3
TaskWraith 1.7.3 — Full Access agents can build, sign & ship
Fixed
- Full Access agents can build, sign and ship. A Codex agent running under
the Full access permission preset now launches without the workspace
sandbox (danger-full-access) instead of being confined to the repository.
Under the previousworkspace-writeconfinement it could not reach the login
keychain (code-signing identities),~/Librarycaches (SwiftPM / DerivedData),
or paths outside the workspace — so an approved release task (iOS
archive / notarize / TestFlight upload) failed at signing even after the user
approved it. The sandbox now drops only for a genuine, signed Full access
grant; every other run stays workspace-confined, and a global "deny shell
commands" setting still overrides it.
Added
- iOS: grant Full access from your phone. The iOS participant permission
picker now offers Full access, matching the desktop permission picker, so
a phone-driven ensemble participant can be given the full-access posture that
lets it build, sign, and ship.
Companion: iOS build 62 on TestFlight.
macOS artifacts (universal, notarized)
SHA-256:
51e7a03b034ac28f6192d38773ee62939006459ce54a7d82e984b02ca368b77d TaskWraith-1.7.3-universal-mac.dmg
2493048ffe6017286be72010d72163e61b1065f2d1a9d40deeb8e9e0945da410 TaskWraith-1.7.3-universal-mac.zip
Windows and Linux builds are attached separately via CI.
TaskWraith v1.7.2
1.7.2 - 2026-07-03
Added
- iOS ensemble orchestration parity. The iOS companion can now adjust
ensemble controls that were previously desktop-only: designate the
Captain (second-in-command who steps in when the Boss is unavailable),
switch between Turn and Continuous mode, set the max handoff
turns (hop limit) for continuous rounds, choose the Fan-Out policy
(Off / Read / Write, where Write resolves to the Boss-gated or
user-preflight writer lane), and set the shared-transcript character
budget. Each change round-trips to the Mac and takes effect on the next
round.
Changed
- Question routing. The agent runtime preamble now steers agents to the
TaskWraithask_user_questiontool instead of a provider-native question
prompt, which silently auto-resolves without reaching the user in this
harness (desktop or the iOS companion).
SHA-256 checksums (macOS artifacts):
ed1700dde039b7a4fc790cb9f32f5a922f236c4aa43fe92805fdede7e9d0049e TaskWraith-1.7.2-universal-mac.dmg
eeac06b1020577b761b1755eac47622849f20a7773b5f8354c27c18bc4c9b920 TaskWraith-1.7.2-universal-mac.zip
iOS companion build 0.1.0 (61) was uploaded to TestFlight with delivery UUID a392efdb-99db-4e47-99a6-c1274daf53dc.
Windows and Linux installers are unsigned CI builds attached after publish.
TaskWraith v1.7.1
1.7.1 - 2026-07-03
Added
- Context compaction, made visible. Solo Claude and Codex chats now show a
glass compaction card when a context reset completes or fails, and the
composer context donut grows a pressure state (amber at 80%, red at 95%) with
a Compact context now button once a linked session is under pressure.
/compactstops being a cosmetic prompt template and dispatches a real
provider-native compaction, falling back to the template only for busy or
session-less chats. Overflow errors get a named remedy hint instead of a raw
wall of provider text. - Ensemble seat compaction. Long-running Ensemble seats no longer stall at
their context ceiling. Each participant carries a rolling summary, the
orchestrator materializes per-seat compaction cards and boss-facing pressure
cues, and a post-round auto-trigger keeps Claude, Codex, Cursor, Kimi, and
Grok seats healthy across a long session with a cooldown so it never thrashes. - Ensemble stage roles. Participants can now be assigned a scout,
worker, or reviewer stage. Reviewers wait for the writers instead of
running against work that does not exist yet, then run together in a closing
Review wave once only reviewers remain. Stage roles round-trip through
roster presets, Boss roster edits, and the iOS Roster page picker. - Message feedback. Assistant messages now take a thumbs-up / thumbs-down
from the action row or right-click menu, with optional reason chips on a poor
rating. Votes persist with the message and roll up into per-model casting
summaries in Settings, laying the groundwork for recasting a weak answer with
a different model. - Redesigned right dock. The two-tier glyph strip is replaced with a clean
surface switcher: a slim header whose active-surface button opens a grouped
Session / Work / Inspect popover, the Inspector's sub-views regain text
labels, and a ⌘K command palette searches across every dock surface. The
active surface is now remembered per chat, and the iOS companion mirrors the
per-thread inspector memory. - Agent Pool gets its own page. The reusable Agent Pool moves out of the
foot of the Ensemble Roster tab into a dedicated AI & Providers -> Agent
pool settings page, so it has room to grow and is no longer squashed under a
large roster. The roster tab keeps its per-participant Save to pool action. - Projects sidebar, finished. The Projects tab added in 1.7.0 gets a full
polish pass: archived member chats stay visible with an Archived chip,
expand state persists, chat rows drag straight onto a project, search is truly
scoped per tab, and the whole tablist is keyboard- and screen-reader-navigable.
AmigrateProjects()step means schema drift no longer drops project data. - Collaboration contribution rules. Shared chats can now carry a contribution
preset (read-only, comments, request host action, or auto-draft). Collaborators
on an enabled share can submit a structured action request that goes to the
host for review and is never dispatched to a provider, optionally pre-filling
the host's composer as an external-untrusted draft. A bounded, redacted
collaboration audit log records share, invite, and contribution events. - Collaborator reconnect. A dropped collaborator can rejoin their last shared
chat with a pinned, encrypted identity — no fresh invite token and no repeated
safety-number compare — while still signing fresh session keys every reconnect.
Reconnection survives host restarts; revoked participants stay locked out. - Clickable tool-call file paths. File paths in tool-call rows are now
clickable and open directly in your editor, with a hover preview. The
user-message transcript rail also gains a scroll-spy highlight, a progress
track, and a hover bulge for moving between prompts in a long conversation.
Changed
- Local models follow the standard permission role. Ollama's bespoke
tool-control tier ladder is retired. Local models now get the full tool
surface and obey the same Plan / Read-Only / Default / Full Workspace Access
role as every other provider, governed at the shared approval gate. Read-only
web search and fetch are now permitted under Read-Only and Plan for all
providers, so a local model can finally search the web in a General chat. - Managed-enterprise readiness. The B5 items previously tracked as pending
have now landed: scoped and redacted audit-bundle export with signed
verification receipts, managed-policy loading and clamps (settings, update,
safety, bridge, MCP, and user-MCP allowlisting), encrypted storage for MCP and
runtime-profile secrets, and dispatch receipts stamped through the queue and
scheduled-run lifecycle. The claim stays deliberately bounded to local safety
plus partial managed policy and redacted audit export — no SSO/SCIM, SIEM
integration, WORM or append-only export, or organization-wide retention is
implied. - Claude/Codex-parity scroll follow. Lock-to-bottom now behaves like the
Claude and Codex apps: a Jump to latest pill appears while a single answer
streams into view, the jump reliably re-locks even as content grows mid-flight,
sending a prompt while scrolled up re-arms follow, and any upward gesture always
wins. - Sidebar running vs. selection. A running thread now shows a slow-pulsing
monoline "ghost" mark, and the accent rim is reserved strictly for the selected
thread — the two were nearly indistinguishable before. Each sidebar section
previews its first few threads with a show more affordance, and on macOS the
corner-controls pill clears the window traffic lights when the sidebar is
closed. - Ensemble roster controls. Orchestration controls move onto a labeled
roster-presets second row, the participant chip strip reflows into balanced
rows of five, and the roster cap is raised from 18 to 20. The composer's
Ensemble toggle moves to the footer. - Persistent Grok seats and slimmer resumes. Per-seat Grok ACP sessions and
slimmed resumed-seat turn prompts are now enabled by default, trimming repeated
context on long multi-turn Ensemble rounds. - Composer polish. Diff counters animate as they change, cost estimates line
up with the remote projection shown on the companion, and working-text glow is
softened.
Fixed
- Ensemble reliability. A cluster of round-lifecycle fixes: the composer and
queued-row Steer now act on the first click, queued-row Steer and Delete
recover after an app restart, seat changes hand over cleanly and preserve their
stage role, duplicate yield-activity rows are removed, and a clean exit with
streamed content finalizes as answered instead of hanging. - Startup opens a fresh chat. Launch no longer restores the most recent
global chat into a stale, un-hydrated transcript. The app now opens a fresh
single General chat on your default provider every time; workspaces and
ensembles remain one click away in the sidebar. - Right-dock resizing. The inspector divider resizes reliably again, and the
dock's surfaces are now mutually exclusive so opening one no longer leaves
another stranded behind it. - Local tool-call repair. The Ollama tool-call repair loop is hardened: the
decode grammar allows the full tool catalog rather than only advertised names,
harness-gate blocks count toward the retry ceiling, argument validation matches
the executor gate, and each Ensemble seat keeps isolated tool memory. - Duplicated assistant text. The legacy delta lane now defers to the run-item
sidecar, so streamed assistant answers no longer render twice. - Permission honesty. Network-deny is honored for web tools, evidence-pack
and observability tools are classified as orchestration, and Plan-workflow
posture is now visibly distinct from Read-Only in labels and over the iOS
bridge. - Usage meters. The Claude Fable weekly quota meter reads the current
session-group payload shape, the Grok/usageprobe works against the new
CLI's terminal queries, and all four Claude quota windows survive on the iOS
first-launch card. - iOS companion parity. New task starts preserve their permissions,
Plan-workflow posture carries correctly over the bridge, and Agent Pool
transcript identity is de-boxed to match the desktop.
Removed
- Ollama tier machinery. With local models now on the standard permission
role, the dead tier resolvers, tier tables, mid-run tier-bump path, the
now-inert tier and run-profile picker UI, and the unused global run-profile
settings surface are all deleted. - Retired messaging gateway. The old messaging gateway and its cleanup
residue are removed.
SHA-256 checksums (macOS artifacts):
194af17d4ae59e1127e6db06be26f767ad8aa3328a4122cf3d1828c147dc4966 TaskWraith-1.7.1-universal-mac.dmg
9b19d42f7bbad687bebabc7f9ae49995b4fddda0a37dd8c1b083a7d26f0d96cc TaskWraith-1.7.1-universal-mac.zip
Windows and Linux installers are unsigned CI builds attached after publish.
TaskWraith v1.7.0
1.7.0 - 2026-07-01
Added
- Plan Mode workflow. Composer mode now separates Plan workflow from Read-only recon. Plan chats can surface a single proposed plan from the designated owner, approve / customize / dismiss it, and carry the approved artifact path into implementation.
- Plan artifact writes. Plan workflow can write markdown plan files under validated workspace paths while the signed workflow posture prevents ordinary read-only recon runs from unlocking that carve-out.
- Codex native-review status cards. Native Codex review progress now flows into review/status cards so transcript activity shows review findings and state without burying the signal in raw provider events.
- Ensemble read fan-out skip. Active read-only scout lanes can be stopped before the writer step when the panel has enough evidence.
- Boss roster-swap choices. Boss participants can inspect live participant ids, provider/model catalogues, context windows, and coarse quota bands before swapping an inactive seat.
- iOS proposed-plan file handoff. The companion now receives plan artifact paths, shows them on proposed-plan cards, and can jump straight into Files mode for that plan artifact when the paired Mac exposes a workspace scope.
Changed
- Claude picker line-up. Mythos 5 is retired from current Claude model pickers while Fable 5 and Sonnet 5 remain visible; historical Mythos chats, aliases, display names, rates, context windows, and CLI normalization stay compatible.
- iOS Plan workflow parity. The companion copy now names Plan workflow directly, and its model context reference mirrors the post-Mythos Claude line-up.
- Ensemble recovery after restart. Multiple interrupted Ensemble lanes in one chat now collapse into one grouped recovery system message with role/participant labels and provider-session hints.
- Ensemble steering reliability. Steered queued prompts now wait for active round cancellation before redispatching, avoiding overlapping fan-out teardown and queue-persist churn.
- Boss and participant boundaries. Agent-driven roster edits and Boss replacement are capped so agents cannot assign Full Workspace Access; only the user can elevate to that level.
- Ollama Ensemble context. Local lanes preserve their assigned participant role and Lead/Boss routing across tool loops, retries, and compaction.
Fixed
- Plan Mode security. Workflow mode is signed into run permission posture, and plan-artifact paths reject symlink / realpath escapes.
- Recovery transcript noise. Restarting after interrupted parallel fan-out no longer appends one nearly identical system row per lane.
- Brokered MCP transcript labels. Brokered MCP tool calls now render with the MCP plug icon and uppercase label.
- Inactive participant pickers. Ensemble participant provider/model pickers stay editable for inactive seats while a round is running, so quota relief and seat swaps do not get blocked by the active speaker.
Known Open
- Grok interrupted-lane resume. Grok session-id persistence remains evidence-first after the steering fix; no source patch is claimed without a fresh post-fix recovery capture.
- Ollama literal write-artifact probe. The Ollama retention/probe item stays accepted-open until a controlled artifact-backed repro says otherwise.
The macOS build is notarized + stapled (universal). Windows (unsigned) and Linux artifacts are attached by CI after the release is published.