Repository navigation
v0.31.0
·
2474 commits
to agent-main
since this release
What's Changed
- fix(dashboard): Soften Incidents and Friction detail text to the shared tokens by @danieljhkim in #5423
- feat(dashboard): Regroup the Delivery tab and fold Context files by @danieljhkim in #5424
- settle-merged completes a review task whose claimed handoff was revoked and whose PR merged outside Orbit by @orbit-agent-01 in #5425
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5426
- [auto-task] Website accuracy — validate the oldest orbit-cli.com pages against the current release by @orbit-agent-01 in #5427
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5428
- orbit mcp serve silently serves ~/.orbit when ORBIT_ROOT points elsewhere, and refuses the --root its help lists by @orbit-agent-01 in #5429
- Co-change view: read pipeline and settle-merged landings, stop counting no-diff tasks as missing evidence, and explain unreachable minimums by @orbit-agent-01 in #5430
- task artifact CLI help claims UTF-8-only, omits checkout confinement, and points at a hidden
orbit artifactsfor listing by @orbit-agent-01 in #5431 - Refused task status moves fall back to 'the lifecycle has no edge' and name no reachable status by @orbit-agent-01 in #5433
- Website homepage cuts the install command to “npm install -g @orbit-tools/” at phone width by @orbit-agent-01 in #5432
- Broader cargo test records with --locked or --no-fail-fast no longer cover their deferred host replays by @orbit-agent-01 in #5434
- workspace list and config keys ignore the --format plain/--header contract and config keys ndjson is one wrapped document by @orbit-agent-01 in #5436
- Health rail entry truncates its own label to “He…” when it shows a doctor result and a denial count by @orbit-agent-01 in #5435
- Update task detail design documentation after the detail head redesign by @orbit-agent-01 in #5441
- Jobs › History truncates job names and run IDs at desktop width while the mostly blank Failed at column takes the widest share by @orbit-agent-01 in #5438
- Dashboard informational text drawn in the disabled colour fails WCAG AA contrast (about 3.6:1) by @orbit-agent-01 in #5442
- orbit update --check fails: latest release metadata (85 KB) exceeds the 64 KiB input limit by @orbit-agent-01 in #5440
- After-landing review crew draw skips pool members whose executor OS cannot satisfy the task's os tags, and stalls visibly when none can by @orbit-agent-01 in #5439
- Analytics › Cost: the read-only exploration comparison is always empty, because it looks for an activity name that invocation records never carry by @orbit-agent-01 in #5444
- Bound the CI job-wait helper’s API subprocess by its advertised overall deadline by @orbit-agent-01 in #5443
- Settings › Hosts shows only “Loading…” for about 20 s while an unreachable host is probed, then describes it with raw error codes by @orbit-agent-01 in #5446
- Correct Claude Sonnet 5.5 cache-read pricing from current Anthropic evidence by @orbit-agent-01 in #5447
- Pilot scope notes strand tasks in proposed: an --approve-proposed drain holds any surface_warnings entry, even advisory ones by @orbit-agent-01 in #5448
- task add skips the no-context_files warning for chores (the default type) although readiness blocks them by @orbit-agent-01 in #5437
- [code-org] Split orbit-core codebase analytics facts.rs into a facts/ module by @orbit-agent-01 in #5449
- Task-authoring skill still says only non-chore adds warn about missing context_files by @orbit-agent-01 in #5450
- agents show ambiguous-crew refusal tells MCP callers to pass
model(the provenance field) and lists no candidate models by @orbit-agent-01 in #5452 - --complexity help renders a developer note about serde/clap spelling for xhard by @orbit-agent-01 in #5451
- [delivery-code-review] Zero-weight eligible crews suppress the after-landing OS hold by @orbit-agent-01 in #5454
- [qa-full-sweep] Reconcile operations phone-shell first-panel placement at 375px by @orbit-agent-01 in #5445
- Run-inspection MCP tool descriptions omit that agent sessions are refused by @orbit-agent-01 in #5453
- [delivery-code-review] Cached Hosts health can erase newer probe readings by @orbit-agent-01 in #5455
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5458
- Rework the orchestrator score so it measures spec quality, not self-assessed task complexity by @orbit-agent-01 in #5456
- A transient GitHub error during pr_complete blocks the task: authenticated completion retry refuses whenever the base moved or no validation commands are configured by @orbit-agent-01 in #5459
- Reduce readiness snapshot tail latency below 500 ms without changing admission answers by @orbit-agent-01 in #5460
- Full-page task view shows the list-only “Not in the current list” note and shows the crew a second time by @orbit-agent-01 in #5461
- Task-authoring skill says the proposed-task missing-context warning follows every task write, but only task add returns it by @orbit-agent-01 in #5462
- Keep dashboard task-lock snapshots observational and below 250 ms p95 by @orbit-agent-01 in #5463
- Task-authoring reference omits the backlog footprint warning from approval writes by @orbit-agent-01 in #5464
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5466
- A requeued task with a green published PR waits behind other tasks' file locks instead of completing its existing PR by @orbit-agent-01 in #5465
- [auto-task] Report the unverified actor metrics in documentation validation by @orbit-agent-01 in #5467
- [delivery-code-review] Overlapping resumed publications can wait on each other's unacquired footprints by @orbit-agent-01 in #5468
- An --auto-fix drain never repairs a conflicting or red Orbit-managed PR once its task has left the live completion step by @orbit-agent-01 in #5469
- An UNKNOWN mergeability answer for one PR defers every later out-of-run auto-fix candidate in the pass by @orbit-agent-01 in #5470
- Out-of-run auto-fix skip reasons are unreadable: the adopt_orphans step output the runbook points to is never persisted by @orbit-agent-01 in #5471
- adopt_orphaned_deliveries description says a missing completion grant is never repaired, but the code refuses only a --complete leaf under a drain without it by @orbit-agent-01 in #5472
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5473
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5474
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5475
- [friction-curation] Orbit's doc-duties definition is a stale body fork: it orders by summary prose and lacks the ledger tools and repeat-skip rule by @orbit-agent-01 in #5476
- [friction-curation] Record why a pipeline worker exited when its run is interrupted as process_not_found by @orbit-agent-01 in #5477
- [auto-task] Website accuracy — validate the oldest orbit-cli.com pages against the current release by @orbit-agent-01 in #5478
- Knowledge › Frictions and Health › Events search boxes have no accessible label, only placeholder text by @orbit-agent-01 in #5480
- [friction-curation] Explicit source repair refuses a conclusively stopped failed pre-adoption successor, stranding a published candidate after final recovery by @orbit-agent-01 in #5479
- Automation › Routines and Auto-tasks: every enable switch is announced as “Disable, switch, on” with no routine name by @orbit-agent-01 in #5482
- Agents leaderboard hides the Score column behind a horizontal scroll at desktop width by @orbit-agent-01 in #5483
- Runbook says a late worker reap means the worker was still running at interruption by @orbit-agent-01 in #5485
- Health › Events scope chip shows the internal workspace ID (ws_orbit) instead of the workspace name by @orbit-agent-01 in #5484
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5487
- [delivery-code-review] Do not bound the worker exit observation timestamp by interruption time by @orbit-agent-01 in #5488
- Full-page view of a task outside the list filter shows its crew as an unlabeled native select on its own row by @orbit-agent-01 in #5481
- Website CLI reference: command names clip inside their code boxes and the Effect text sits a line low by @orbit-agent-01 in #5486
- Run detail header reads “Executed on: on dk-server-2” and “Review: none (workspace policy, workspace)” by @orbit-agent-01 in #5489
- Events workspace chip can clear the sole workspace after a host switch by @orbit-agent-01 in #5490
- A blocked task's detail never says why it is blocked; the escalation reason is buried in History and Comments by @orbit-agent-01 in #5491
- Events workspace chip clears scope while the next host's workspace list is still loading by @orbit-agent-01 in #5492
- [delivery-code-review] Crew select in a draft-held task detail ignores a revert to its build-time crew by @orbit-agent-01 in #5493
- An escalated block's Next line says a resumable run cannot be resumed by @orbit-agent-01 in #5494
- [friction-curation] docs/qa/README.md states a QA-record refresh policy no sweep follows, so doc-duties can never fully validate it by @orbit-agent-01 in #5495
- Out-of-run auto-fix reads only the newest 200 delivery leaves, so an older stuck Orbit PR is never repaired by @orbit-agent-01 in #5497
- [delivery-code-review] Unreachable prepend fallbacks in the task detail crew chip placement by @orbit-agent-01 in #5496
- Make claimed screenshot handoff guidance consistent with task_artifacts by @orbit-agent-01 in #5498
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5501
- Reconcile shipped skill guidance for pre-landing reviewer pools by @orbit-agent-01 in #5499
- [delivery-code-review] Detail crew refresh resets explicit selections to the workspace default by @orbit-agent-01 in #5500
- orbit.workspace.list returns a workspace's registered origin URL with the credentials
orbit workspace showredacts by @orbit-agent-01 in #5502 - MCP orbit.workspace.list reports a workspace whose checkout was removed as active; registry validation is copied into five callers by @orbit-agent-01 in #5505
- Share the validation failure-log classification between owner and claimed validation by @orbit-agent-01 in #5504
- Walk retry lineage with one bounded walker in vcs automation by @orbit-agent-01 in #5506
- Unify the provider-answer field guards in vcs operations by @orbit-agent-01 in #5507
- Build worktree GC reports from one empty-report constructor by @orbit-agent-01 in #5508
- Share the auto-fix evidence attachment between repair and infrastructure records by @orbit-agent-01 in #5509
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5510
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5511
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5512
- Show task-pilot warnings on the task with a yellow tag, not as text on the Auto-drain card by @orbit-agent-01 in #5457
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5514
- Fleet drains host headings read like workspace rows; make the host name the group's clear heading by @orbit-agent-01 in #5513
- Routine status rows, clock health and routine toggles are built separately by the CLI, dashboard API and desktop MCP read by @orbit-agent-01 in #5515
- Task detail: move Readiness into the delivery card next to Handled by, instead of low in the side column by @orbit-agent-01 in #5516
- UI design doc still says the task detail Readiness card leads with the pool alone by @orbit-agent-01 in #5517
- Clock health tests omit status combinations required by the delivery by @orbit-agent-01 in #5518
- Ship a blocked-task triage auto-task: requeue mechanical escalations within the requeue bound, propose scope amendments, report human-only blocks by @orbit-agent-01 in #5519
- orbit.task.artifact.put fails when an agent in the scratch folder passes a checkout-relative source_path by @danieljhkim in #5521
- orbit.task.update and PATCH /api/tasks/:id store any pr_status; only the CLI refuses values the merge gate cannot read by @orbit-agent-01 in #5520
- orbit.friction.list remains in shipped agent guidance after its removal by @orbit-agent-01 in #5522
- Agent envelopes list operator-only tools agents cannot call by @orbit-agent-01 in #5523
- Orbit skill: keep task titles within the commit subject budget by @orbit-agent-01 in #5525
- Task detail: Context files list sits off-centre in a double frame and splits paths mid-word by @orbit-agent-01 in #5526
- orbit.task.artifact.get still probes missing doc-duties ledgers instead of discovering artifacts by @danieljhkim in #5527
- auto-task show and list find no definitions in a run worktree by @orbit-agent-01 in #5529
- Task detail: acceptance criteria rows are spaced too far apart by @orbit-agent-01 in #5530
- A blocked task returned to backlog by plain status update skips the publication pre-flight and fails candidate_resume on its next run by @danieljhkim in #5531
- Task detail: show lifecycle actions only on Overview and Comment only on the Comments tab, not under every tab by @orbit-agent-01 in #5532
- orbit.task.artifact.put coverage type errors omit the field and schema recovery guidance by @orbit-agent-01 in #5533
- Restore contention colors on context selector basenames by @danieljhkim in #5534
- [delivery-code-review] Local .yml auto-task candidates do not block shared show fallback by @orbit-agent-01 in #5536
- Combined crew/backlog update preserves the old crew provenance and strands candidate resume by @orbit-agent-01 in #5537
- chore(deps): bump vite from 8.1.5 to 8.3.4 in /website in the npm_and_yarn group across 1 directory by @dependabot[bot] in #5535
- Legacy-publication refusal names an unpublished successor as the publishing run by @orbit-agent-01 in #5538
- Collapse long acceptance criteria in task detail behind a Show full AC toggle by @orbit-agent-01 in #5539
- docs: scope per-crew credentials (crews..env) by @danieljhkim in #5540
- Task detail: render the Description (and Plan, Execution summary) Markdown in a contained panel with its own surface by @danieljhkim in #5541
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5543
- Dashboard task detail: clamped acceptance criteria rows overlap by @danieljhkim in #5544
- cli: trim verbose help for run auto/show/profiles/cancel and global flags by @danieljhkim in #5545
- [code-scanning-sweep] Fix rust/path-injection at 2 locations in crates/orbit-core/src/application/auto_tasks/read.rs by @orbit-agent-01 in #5546
- Dashboard Drain card hides queued drains: a second
orbit run autowindow is invisible until the first ends by @danieljhkim in #5547 - docs: distributed-drain: scarcity-aware admission order (design) [ORB-17304] by @danieljhkim in #5551
- Agents › Pilots credits each assessment to the piloted task's crew instead of the crew the pilot drew by @danieljhkim in #5550
- Per-crew credentials, phase 1: crews..env list overlays the agent environment by @danieljhkim in #5549
- Record the orchestrator crew's model on each task and rank Agents › Orchestrators by crew and model by @danieljhkim in #5552
- Distributed drain › A pending landing repair strands when its original executor stops pulling: the owner fallback never fires by @orbit-agent-01 in #5553
- Preserve orchestrator show access when a crew has multiple recorded models by @orbit-agent-01 in #5554
- Owner repair fallback treats available repair slots as a total workspace ceiling by @orbit-agent-01 in #5555
- Followers report the leaf's crew and model at claim settlement so Agents › Implementers can rank pulled attempts by model by @danieljhkim in #5556
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5557
- Drain page covers every orbit run auto option, pull included by @orbit-agent-01 in #5558
- [qa-sweep] Operations browser QA fails after pilot warnings moved to tasks by @danieljhkim in #5559
- [code-review] Keep provider state-root overrides aligned with sandbox grants by @danieljhkim in #5560
- [code-review] Fence delivery reset against the inspected action generation by @orbit-agent-01 in #5562
- [code-review] Repository config example and contributor docs still list four local make gates after required PR checks became the only gate by @orbit-agent-01 in #5561
- [code-review] Preserve object-valued tool field projections by @orbit-agent-01 in #5564
- [code-review] Resolve numeric audit steps in run show by @danieljhkim in #5565
- [code-review] Exclude quoted tool-call examples from invocation telemetry by @orbit-agent-01 in #5566
- [code-review] Auto-task body history lacks the doc-duties body shipped at 669d9bb, so edited copies of it read as forks by @danieljhkim in #5567
- [code-review] refusal_during_concurrent_calls_and_after_discarded_mutation_reply_never_replays cannot detect a replay or an in-flight-specific refusal by @danieljhkim in #5568
- [code-review] No test pins the operator argv that
workspace init --mcpgenerates; the retirement note claims coverage that does not exist by @danieljhkim in #5569 - [code-review] Deleting a pending task wedges its state routine: member admission errors on the missing task instead of retiring it by @orbit-agent-01 in #5572
- [code-review] Age-based scratch GC can delete files retained by retrying runs by @orbit-agent-01 in #5570
- [code-review] Doctor activity health misses duplicate names that prevent catalog dispatch by @orbit-agent-01 in #5573
- [code-review] Codebase show discards landed facts and misclassifies regression layers by @orbit-agent-01 in #5574
- [code-review] Honor the gate's configured admission wait deadline by @danieljhkim in #5571
- Admission prefers work only the requesting executor can run by @orbit-agent-01 in #5563
- [code-review] Agent guide states two different CI budgets: 10 minutes at the rule, 15 minutes at the coverage rule by @orbit-agent-01 in #5579
- [code-review] Treat empty XDG roots as unset when resolving Linux OpenCode sandboxes by @orbit-agent-01 in #5575
- [code-review] Job-action delivery routine never settles a Held run, so its admitted batch stays batch_pending forever by @danieljhkim in #5577
- [code-review] Remap excluded delivery identities during history replay by @orbit-agent-01 in #5576
- [code-review] A symbolic sweep cursor (branch name) permanently suppresses skip_if_unchanged sweeps by @danieljhkim in #5578
- [code-review] Four MCP tests re-execute themselves with hand-rolled child runners that skip run_in_child's deadline and process-group safeguards by @danieljhkim in #5581
- [code-review] Skill docs show
orbit task locks releasewithout the --confirm it requires by @orbit-agent-01 in #5580 - [code-review] Keep run show usable with corrupt child state by @danieljhkim in #5584
- [code-review] Task-execution skill tells operators to run nonexistent
orbit task approveby @danieljhkim in #5583 - [code-review] Issue templates' crate dropdown lists the removed orbit-knowledge crate and omits four current crates by @orbit-agent-01 in #5582
- [code-review] Activity health silently treats unreadable catalog directories as healthy by @orbit-agent-01 in #5585
- [code-review] mcp_setup_root swaps the process-wide panic hook in the shared libtest parent to self-test a test helper by @orbit-agent-01 in #5588
- [code-review] Orchestration skill still says a [BLOCKED]-PR task cannot be moved with plain --status backlog by @orbit-agent-01 in #5589
- [code-review] The auto_concurrency resize refusal row in stdio_drain_window passes for an unrelated reason by @danieljhkim in #5591
- [code-review] Body-history fixture README and auto-task design doc describe a retired all-records regression; qa-sweep.yaml fixture is orphaned by @orbit-agent-01 in #5592
- [code-review] Brokered plugin audit fixture hangs until nextest kills it when a call skips the fake broker by @danieljhkim in #5594
- [code-review] Desktop stdio test hides the pipeline_invoke mixed-input refusal behind the disabled-job refusal and never checks crew reset by @orbit-agent-01 in #5595
- [code-review] Bound agent answers in compact workflow run snapshots by @orbit-agent-01 in #5593
- [code-review] CodeQL and macOS workflows and the agent guide still describe PR-time runs after both moved to push-only by @orbit-agent-01 in #5587
- [code-review] Maintenance skill points workspace scratch-retention default at the global shipped job copy by @danieljhkim in #5596
- [code-review] Catalog-drift diagnosis in common-failures.md diffs nonexistent
job_<job>.yamlpaths by @danieljhkim in #5598 - [code-review] CLI help shows an example path that never existed, a cancel synopsis that always fails, and MCP field names or stale summaries in place of CLI terms by @orbit-agent-01 in #5597
- [code-review] auto-task reset and delete --force fail when the watched branch cannot be fetched or no longer exists by @danieljhkim in #5600
- [code-review] Local ship mode with review enabled withholds plugin-routed tasks that the local-route refusal never applies to by @orbit-agent-01 in #5601
- [code-review] A review finding path that resolves in neither commit counts as unchanged and can charge a spurious false reject by @danieljhkim in #5599
- [code-review] Epic-retirement readiness check is never called, but the design doc says it refuses migration by @orbit-agent-01 in #5602
- [code-review] plugins.rs: CLI tool-run input check reduces to stdout.contains("cli"), and a Linux test group is misnamed by @danieljhkim in #5603
- [code-review] observational_read_only_stores records scenario passes for rows that silently skip when mode bits are ignored by @danieljhkim in #5604
- [code-review] Preserve non-preset durations when cloning a drain window by @orbit-agent-01 in #5605
- [code-review] Doctor flags a healthy launchd sweep clock because the sweep.log freshness check allows no slack by @orbit-agent-01 in #5606
- [code-review] auto-task add and restore leave a written definition behind when their follow-up settings or manifest write fails by @orbit-agent-01 in #5607
- [code-review] Review settlement's known-red history write bypasses claimed-leaf routing and is skipped on settle replay by @orbit-agent-01 in #5608
- [code-review] Changing the sweep clock cadence silently resumes a paused clock by @orbit-agent-01 in #5609
- [delivery-code-review] Doctor runbook still documents the pre-slack launchd log freshness rule by @orbit-agent-01 in #5611
- [code-review] Use the live pull concurrency ceiling in the claim budget by @danieljhkim in #5610
- [code-review] Auto-task reset local fallback reuses the fetch-exhausted source deadline by @orbit-agent-01 in #5612
- Per-crew credentials, phase 2: a crew with env is its own account for limits, holds and auth exclusions by @danieljhkim in #5613
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5615
- [delivery-code-review] Move cadence tests to public boundaries by @orbit-agent-01 in #5614
- [code-review] Include unsettled admissions in the pull claim budget by @danieljhkim in #5616
- [delivery-code-review] Attribute same-provider activity auth failures to the failing crew account by @orbit-agent-01 in #5617
- Dashboard › Warn when an auto drain runs in a workspace whose task pilot is not enabled on this machine by @danieljhkim in #5618
- [code-scanning-sweep] Fix rust/cleartext-storage-database in crates/orbit-store/src/driver/sqlite/provider_limit_store.r… by @danieljhkim in #5622
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5623
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5624
- [friction-curation] Name the checkout identity state in CI sweep evidence-gap errors by @orbit-agent-01 in #5626
- [friction-curation] Retry GitHub HTTP 499 on read-only PR lookups as transient by @orbit-agent-01 in #5625
- [code-review] Maintenance skill says
orbit gc tmpempties scratch, but without --confirm it only reports by @danieljhkim in #5590 - chore(deps): bump the codeql-action group with 2 updates by @dependabot[bot] in #5621
- Hold a provider whose API key is unscoped to a workspace by @orbit-agent-01 in #5627
- [auto-task] Website accuracy — validate the oldest orbit-cli.com pages against the current release by @orbit-agent-01 in #5629
- Have task pilot declare exact generated skill companions by @orbit-agent-01 in #5628
- Align the contributor guide with current validation policy by @orbit-agent-01 in #5630
- [delivery-code-review] Qualify the candidate-handoff prerequisite for recheck-blocked by @orbit-agent-01 in #5633
- [qa-full-sweep] Scope host read-only browser assertions by @orbit-agent-01 in #5632
- [qa-full-sweep] Update clock browser for Comments tab by @orbit-agent-01 in #5634
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5635
- [BLOCKED] [security-review] Update desktop TLS dependencies to reject distrusted emSign intermediates by @orbit-agent-01 in #5631
- chore(deps): bump marked from 18.1.0 to 18.1.1 in /crates/orbit-web/assets/dashboard by @dependabot[bot] in #5620
- [ci-failure-sweep] Fix red CI: CI / Check / Clippy / Test / Run CI guardrails by @orbit-agent-01 in #5637
- Tasks dock keeps the simple drain panel; the full composer stays on #drain/start only by @orbit-agent-01 in #5636
- Task detail: related tasks move into the delivery card by @orbit-agent-01 in #5638
- Drain command preview renders on one line, with Copy beside it by @orbit-agent-01 in #5639
- Task detail: Context files becomes a tab beside History, Runs, Artifacts and Comments by @orbit-agent-01 in #5641
- Tasks quick Start offers a refused local drain on replica checkouts by @orbit-agent-01 in #5642
- [code-review] Reconcile-review refusals tell operators to set the deprecated
[operation] review_crewkey by @orbit-agent-01 in #5640 - Polish task readiness, sticky actions and timestamp placement by @orbit-agent-01 in #5643
- Move full-task Back to list button to the upper right by @orbit-agent-01 in #5645
- Preserve committed candidates across final-recovery replay by @orbit-agent-01 in #5644
- [auto-task] Validate the oldest workspace documentation by @orbit-agent-01 in #5646
- [delivery-code-review] Correct the forecast mode key in distributed-drain design by @orbit-agent-01 in #5647
- Simplify task detail controls and disclosure spacing by @danieljhkim in #5648
- [delivery-code-review] Resume a published replay after a host rebase before republishing by @orbit-agent-01 in #5649
- Preserve older-client compatibility for persisted handoff settlements by @orbit-agent-01 in #5650
- Prepare v0.31.0 release by @orbit-agent-01 in #5651
Full Changelog: v0.30.0...v0.31.0