Scaling up SmartWorker batch and unattended work safely: a tier must earn
each work type before it runs at scale, parallel dispatch gets hard rules,
and no subtask ever runs twice.
Added
- SmartWorker calibration gate —
tier/ capability labels are now
framed as execution slots, not permanent truths. Before a tier is
trusted with a new class of work (especially batch/unattended runs), a
small calibration pilot must pass the owner's quality threshold, recorded
in the spec's newcalibrationfield and re-run when the underlying model
changes. The capability twin of the mechanical-gate rule: a tier is not
suitable until a pilot shows it passing. - SmartWorker parallel fan-out — the Main Agent may dispatch multiple
workers concurrently for many same-shaped independent subtasks (new
optionalconcurrencyspec field) — star topology under the single Main,
never a peer mesh. Five rules: calibrate first; owner-set concurrency cap- provider rate limits; disjoint write targets per worker; a per-batch
(not per-worker) budget ceiling; and single assignment + idempotent
outputs (dispatch manifest, retry only confirmed-failed items, reconcile
against real artifacts on resume, prefer overwrite-by-key over appends —
no subtask runs twice). Applies equally when a Loop Contract's run fans
out internally.
- provider rate limits; disjoint write targets per worker; a per-batch
- Loop Contract duplicate-work guard — the cross-run state anchors are
now explicitly the duplicate-work guard: a worker checks actual artifact
state before doing an item and never re-does what the anchors show as
done; the definition-of-done check must be idempotent so a retried or
re-entered run converges instead of repeating work.
Changed
- Loop Contract template: Contract Restate moved into the run report —
the kickoff prompt's "restate before doing anything" instruction was
skipped in live trial runs (chat-level asks are decorative); the restate
is now a required opening section of the run report itself, making it
part of the machine-checkable done condition.
Notes
Every feature in this release was motivated and validated by live
downstream usage before shipping — real batch knowledge-work runs and the
governed autonomous-run trials behind v2.8.0.
Upgrading
Use the AI-driven upgrade prompt in the README ("Upgrading an existing
workspace") — preserve-first: your filled context files and records are
never overwritten.
Full changelog: CHANGELOG.md · v2.8.0...v2.9.0