Skip to content

v0.0.23

Choose a tag to compare

@aviggiano aviggiano released this 01 Sep 11:18
c98eb4f

v0.0.23 makes long-running audits easier to resume and trust. It moves ordinary continuation onto Smithers 0.35, repairs authenticated controller refresh across dynamic runs, and restores honest benchmark and report publication with tighter workflow and artifact validation.

  • Native continuation. Stopped runs resume under their existing Smithers identity, with current engine support and safer ownership, session, and dependency handling.
  • Authenticated recovery. Controller refresh, sealed snapshots, dynamic manifests, prompts, schemas, and workspace replay remain recoverable without relaxing integrity checks.
  • Honest results. Benchmark freshness, smoke readiness, report metrics, coverage, and release validation now fail loudly and explain what blocked publication.

Breaking changes

  • [runtime] [cli] Restores ordinary resume to native same-ID Smithers continuation and supersedes the short-lived controller re-finalization path, while keeping explicit reset, retry, refresh, ownership, and execution protections. Thanks @aviggiano! (#898, #924, #961)
  • [config] [topology] Removes the full audit profile and folds its packaged specialist topology into exhaustive; configurations that still select full now fail with the standard unknown-profile diagnostic. Thanks @aviggiano! (#807)
  • [config] [runtime] Removes the unused run.max_parallel_nodes key and ULTRAFUZZ_MAX_PARALLEL_NODES override; run.max_parallel_agents remains the effective concurrency control. Thanks @aviggiano! (#936)

New features

  • [runtime] [cli] Upgrades the pinned workflow engine to Smithers 0.35.0 and admits its new stalled states, lifecycle events, warnings, usage fields, migrations, and retry behavior across Ultrafuzz readers and adapters. Thanks @aviggiano! (#996)
  • [config] [runtime] Adds Pi's max thinking level to model profiles, sealed configuration, and adapter execution while preserving terminal failure semantics. Thanks @aviggiano! (#992)
  • [benchmarks] [workflows] Adds pre-compute cohort reachability, scheduled benchmark-history freshness monitoring, explicit publication annotations, and opt-in eval history --max-age-days checks so stale history cannot look healthy. Thanks @aviggiano! (#1013)
  • [prompts] [docs] Adds a generated 67-entry prompt catalog and freshness checks while polishing shipped setup, review, and property prompts. Thanks @aviggiano! (#1015)
  • [security] [artifacts] Replaces hand-rolled vendor-secret matching and redaction with pinned Secretlint rules while preserving synchronous, bounded artifact gates. Thanks @aviggiano! (#865)
  • [workflows] [tooling] Adds strict typed ESLint, Knip, Size Limit, and SHA-pinned Super-Linter gates and removes the unused code and dependencies they expose. Thanks @aviggiano! (#1005)
  • [docs] Adds Contributor Covenant 2.1 to the repository's community documentation. Thanks @aviggiano! (#885)
  • [runtime] [security] Seals the trusted CLI and its transitive package graph into a run-owned content-addressed closure, with confined module loading that works under both Node and Bun. Thanks @aviggiano! (#900, #938)

Improvements

  • [artifacts] [runtime] Consolidates widely duplicated language helpers and standard-library utilities in a one-off simplification pass without changing validation or security boundaries. Thanks @aviggiano! (#812)
  • [runtime] Reduces controller overhead by caching authenticated execution and workflow snapshots, indexing event probes, validating execution files linearly, bounding recovery memory, and preflighting each trusted CLI content address once. Thanks @aviggiano! (#905, #917, #920, #953, #959, #964)
  • [runtime] [cli] Makes status and other read-only lifecycle inspection observe already-published evidence without taking the workflow control lock. Thanks @aviggiano! (#957)
  • [runtime] [prompts] Replaces model-authored task summaries with a runtime-owned completion marker so artifact verification, not terminal prose or arbitrary JSON, remains the success contract. Thanks @aviggiano! (#947)
  • [docs] Strengthens the VPS recommendation and unrestricted-agent warning so operators understand the host-level risk of model and prompt choices. Thanks @aviggiano! (#984)
  • [prompts] [artifacts] Clarifies Foundry dependency materialization and removes contradictory goal-plan instructions about runtime-derived counts. Thanks @aviggiano! (#840, #862, #848)
  • [workflows] [runtime] Strengthens release validation with cloud-worker and descriptor-confinement probes, CI-safe test budgets, the missing benchmark-history command, split release lanes, pull-request runtime coverage, and repaired post-merge fixtures. Thanks @aviggiano! (#836, #845, #851, #860, #864, #869, #954, #967, #994, #1001, #1029)
  • [changelog] Removes stale entries for profiles that were added and removed before release, keeping the Unreleased narrative internally consistent. Thanks @aviggiano! (#884)
  • [workspaces] Records the no-op macOS Smithers jj postinstall decision so clean pnpm installs no longer stop on an allowBuilds placeholder. Thanks @mrthankyou! (#1009)

Bug fixes

  • [runtime] [security] Redacts lifecycle command payloads while retaining bounded, sanitized process diagnostics and controller-recovery guidance. Thanks @aviggiano! (#800)
  • [runtime] [modal] Resolves sealed snapshot entrypoints through descriptor aliases, retained retired paths, and native package resolution without admitting cwd decoys or outside-snapshot modules. Thanks @aviggiano! (#794, #832, #841)
  • [runtime] Makes repeated controller refreshes migrate legacy Bun startup controls and predecessor runner patches, recover published preparations, and preserve fresh operator execution authority. Thanks @aviggiano! (#806, #809, #811, #843, #849, #853)
  • [runtime] [artifacts] Sources current adapters and modules from the invoking package closure, retains authenticated prompts, refreshes schema bundles, exempts deferred prompts, compiles sealed pre-expansion tasks, and republishes sealed prompt paths for dynamic-run refreshes. Thanks @aviggiano! (#903, #913, #981, #983, #990, #991, #1004)
  • [runtime] [workspaces] Bounds and serializes Git-backed workspace capture, excludes runtime, Foundry, dependency, and submodule roots, recovers stale locks, and restores reopened producer workspaces before replay. Thanks @aviggiano! (#825, #827, #829, #830, #834, #912, #950)
  • [runtime] Repairs workflow launch and rerender admission by treating the engine database as controller-owned, importing the runtime budget helper, accepting SQL-null optional inputs, retaining source identity, and recovering dependency preparation. Thanks @aviggiano! (#798, #802, #874, #873, #877)
  • [artifacts] [runtime] Aligns dynamic dependency, template, attempt, prerequisite, validator-command, and generated-test authority with the compiled and materialized graph while keeping partial or forged evidence fail-closed. Thanks @aviggiano! (#855, #857, #893, #907, #916, #946, #948)
  • [artifacts] [reporting] Aligns goal-search coverage, recon-fuzzer paths, bounded-report enrichment, severity fields, and durable runtime accounting so canonical reports remain publishable and retain authoritative metrics. Thanks @aviggiano! (#826, #828, #919, #932, #1007)
  • [modal] [benchmarks] Restores smoke and eval publication by using positive-only secret scans for fail-on-hit paths, preserving exact event and workflow inputs, digesting only route-affecting Codex config, and giving contended validators and final-report prompts viable semantics and budgets. Thanks @aviggiano! (#886, #892, #901, #909, #1027)
  • [runtime] [cli] Classifies provider HTTP 402 responses as quota exhaustion, parks affected nodes without spending retry attempts, and shows actionable resume guidance. Thanks @aviggiano! (#824)
  • [artifacts] Detects atomic schema-path replacement by link count instead of timestamp granularity, closing a race in snapshot reads. Thanks @aviggiano! (#887)
  • [runtime] [pi] Preserves text-free Pi terminal answers, streams oversized prompts over stdin, and interprets structured event output without selecting unrelated tool payloads. Thanks @aviggiano! (#890, #896, #928)
  • [runtime] Preserves wrapped continuation metadata, reconciles superseded attempt occurrences, passes sealed fork input to preflight, guards active resumes, resolves native dependencies, recovers exact OpenRouter sessions, admits native workflow identities, and scrubs stale local session pointers after restart. Thanks @aviggiano! (#930, #952, #966, #969, #974, #976, #979, #995)
  • [runtime] [artifacts] Reopens the producer dependency closure when a zero-retry artifact verifier fails, allowing resume --retry-failed to regenerate missing or malformed outputs. Thanks @aviggiano! (#926)
  • [runtime] [cli] Lets ultrafuzz clean remove read-only sealed execution snapshots while preserving source references on genuine cleanup failure. Thanks @mrthankyou! (#985)
  • [runtime] Lets read-only health and status survive expected manifest or checkout divergence and reports fresh divergences even when another control snapshot is reused. Thanks @aviggiano! (#871, #878, #989)
  • [prompts] Builds packaged prompt assets into the directory the runtime resolver and package validator actually read. Thanks @aviggiano! (#796)

Full changelog: v0.0.22...v0.0.23