Skip to content

Release xcb 0.19.9: keep unattended schedules and native grants running - #469

Merged
0thernet merged 1 commit into
mainfrom
fix/unattended-herd-resilience
Oct 7, 2026
Merged

0thernet merged 1 commit into
mainfrom
fix/unattended-herd-resilience

Conversation

@0thernet

@0thernet 0thernet commented Oct 7, 2026

Copy link
Copy Markdown
Member

Summary

  • Opt-in schedule dismissal. xcb schedules edit <id> --dismiss-uncertain true lets the supervisor dismiss uncertain tasks in that schedule's directory once no run or delivered reply holds them. It uses the same checks and record as xcb backlog dismiss: the task is marked failed, nothing is retried, and the detail names the schedule's standing instruction. It is off by default, so a timer still never infers that uncertainty settled. Before this, every uncertain task blocked an unattended schedule until the owner came back.
  • Native requalification. After the hourly provider refresh (and at startup), the supervisor re-runs native command and provider checks the owner already passed once, if they've lapsed through an xcb upgrade, an adopted provider build, or receipt age. It only does this for providers a workspace grant names. It never checks a new provider and never changes a grant. Failures are recorded as supervisor faults. Before this, any upgrade made routing for granted workspaces report "no eligible account" until someone ran xcb native qualify and xcb native verify by hand.

Tests

  • New: a_schedule_dismisses_released_uncertainty_only_when_the_owner_opted_in (off by default, revision-checked toggle, dismissal clears the blocker).
  • Local gates: cargo fmt --check, cargo clippy -D warnings, cargo test --workspace --locked (1,550 passed), bun run check (16 + 1,180 passed).

🤖 Generated with Claude Code

A schedule can now carry the owner's standing dismissal of released
uncertain work (`xcb schedules edit --dismiss-uncertain true`): the
supervisor dismisses uncertain tasks in its directory once no run or
delivered reply holds them, with the same checks as `xcb backlog dismiss`.
Off by default, so a timer still never infers that uncertainty settled.

The supervisor also re-runs native command and provider checks the owner
already passed when they lapse (xcb upgrade, adopted provider build, receipt
age) for providers a workspace grant names, so granted workspaces keep
routing instead of reporting no eligible account.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
xcb Ready Ready Preview Oct 7, 2026 12:46am UTC

Request Review

@0thernet
0thernet enabled auto-merge (squash) October 7, 2026 00:45
@0thernet
0thernet merged commit bfa995e into main Oct 7, 2026
21 checks passed
@0thernet
0thernet deleted the fix/unattended-herd-resilience branch October 7, 2026 00:54

This branch was successfully deployed

1 active deployment
Preview — b6b335ea Deployed Oct 7, 2026 by vercel[bot]
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