v0.31.0
v0.31.0 - 2026-07-14
Specification
- Source selectors containing glob metacharacters are treated as globs only
when they parse as supported glob syntax. Malformed globs fall through to an
existing relative path and then prose inference; absolute or escaping paths,
empty glob results, unreadable paths, and collection failures remain explicit
filesystem-source failures.
CLI
- Replaced the Go implementation and GoReleaser pipeline with one Effect v4
TypeScript application compiled by pinned Bun into standalone executables.
The command tree, JSON and exit contracts, evaluation artifacts, and generated
reports remain compatible; the repository no longer ships Go source,
go install, a Go fallback, or a Node sidecar. - Codex and Claude evaluations now use their supported TypeScript agent SDKs;
direct OpenAI and Anthropic API profiles and harness checkpoints remain
available. Evaluator capabilities, readiness evidence, bounded source access,
cancellation, retry, and call metadata are explicit rather than normalized
across providers. - Each area gets one immutable, hashed context assembled from its source bundle,
frame, rating criteria, and body guidance. Every requirement judgment runs in
a fresh provider session or thread so sibling transcripts cannot leak into one
another, and resume reconstructs context without provider-retained sessions. - Release archives and npm platform packages now cover Darwin, Windows, Linux
glibc, and Linux musl on arm64 and x64. Checksums are mandatory, installers
detect libc, and release repair preserves already-published Bun artifacts
because compiled output is not byte-reproducible. - Harness-backed evaluation runs are no longer pinned to concurrency 1: the
runner now keeps a rolling window of dependency-ready work requests
outstanding — up to the run's resolvedevaluation.concurrency— topping
the window up as results are accepted, so the invoking harness can judge
independent requests in parallel or fan them out to subagents.
Omitted-concurrency harness runs now use the shared automatic default
(max(2, NumCPU*2)) instead of forced 1; receipts, dry-run previews, and
progress output state the resolved concurrency and window width. awaiting_evaluatorreceipts carryevaluatorRequests— the outstanding
bounded work-request set — replacing the singularevaluatorRequest, and
--evaluator-resultaccepts one result envelope or a JSON array covering
any subset of the outstanding requests. Not-yet-submitted requests stay
outstanding at no retry cost; a schema-invalid or failed member re-emits
for its retry attempt (with itslastFailurenamed) without touching other
members' accepted results.evaluation.jsonbumps to schema version 7: the harness checkpoint state
is now the pluralpendingEvaluatorCalls. Clean break: an in-flight
awaiting run created before the upgrade cannot resume across it — re-run
it; completed runs are unaffected.qualitymd evaluation statuslists
every outstanding request for an awaiting run.
/quality skill
- Skill metadata is now
0.31.0and requiresqualitymd >=0.31.0 <0.32.0.
Evaluation guidance distinguishes SDK agent runtimes from direct API
evaluators, reports capability remedies, and treats area context and
requirement session isolation as runner-owned boundaries. - The evaluate workflow's checkpoint loop services the outstanding request
set: it may delegate independent requests to subagents, submits results as
they become ready (one envelope or several per call), and names the window
width on the first windowed receipt.
Compatibility / migration
- The Go implementation,
go installpath, and GoReleaser assets are removed.
Install the standalone archive, npm launcher, or Homebrew cask instead. - In-flight runner artifacts awaiting evaluator input use a clean schema break
from version 6 to version 7 and should be started fresh; completed evaluation
artifacts remain readable. - Harness clients should read
evaluatorRequestsand
pendingEvaluatorCalls, and may submit one result envelope or an array. The
former singular fields are no longer emitted. - The QUALITY.md specification stays at
0.11 (Draft); malformed-glob handling
clarifies source-selection behavior without changing the document schema.
Compatibility:
- CLI:
v0.31.0 - QUALITY.md specification:
0.11 (Draft) - /quality skill:
0.31.0, requiresqualitymd >=0.31.0 <0.32.0