---
title: "0.25.3"
description: "A focused patch: smithers memory works without --workflow, the seeded monitor workflow renders again, the release workflow no longer fails at its probe, plus onboarding doc fixes and new regression tests."
---

Smithers 0.25.3 is a focused patch. It fixes two user-facing defects a release smoke test surfaced (the `memory` CLI group and the seeded `monitor` workflow), repairs the `release` workflow itself, refreshes a couple of onboarding docs, and adds regression tests so each of these stays fixed.

---

## CLI

`bunx smithers-orchestrator memory get`, `set`, `rm`, and `list` now run against the shared workspace store without a `--workflow` flag. The `--workflow` option was declared required, so the documented form `bunx smithers-orchestrator memory set workflow:ns key value` failed with a `VALIDATION_ERROR` ("expected string, received undefined" on `workflow`) unless you pointed `--workflow` at an arbitrary workflow file. Memory facts live in the workspace store, not in any single workflow, so `--workflow` is now optional and the commands resolve the workspace database when it is omitted.

## Workflows

The seeded `monitor` workflow renders and runs again. Its `gather` output schema declared a top-level `runId` field, which collides with the reserved `run_id` output column the 0.25.0 schema guard rejects, so `bunx smithers-orchestrator graph monitor.tsx`, any run of `monitor`, and `bunx smithers-orchestrator workflow skills` over the whole pack all failed with `INVALID_INPUT: uses reserved field name(s): runId`. The field is renamed to `targetRunId`, matching the input convention the workflow already used.

The seeded `smithering` workflow renders again. Two of its prompts wrote a bare path like `artifacts/smithering/build/<runId>/<id>/` in prose, and MDX parsed `<runId>` and `<id>` as JSX tags, which dropped the prompt module's default export so the workflow failed to load. The paths are now wrapped in backticks.

The seeded `workflow-skill` workflow no longer fails with `Workflow not found: undefined`. It dereferenced `ctx.input.workflow` directly, but that field arrives null when unsupplied, so it is now coalesced to the documented `all` default.

The `release` workflow no longer fails at its first step when run with no `--input`. Its probe returned `bump: ctx.input.bump`, but `ctx.input` fields arrive null rather than their Zod default, so the probe row failed its `bump` enum before anything was bumped. The probe now coalesces the field to its `patch` default, matching the version math it already used.

## Docs

The `cli/quickstart` verify step no longer prints a stale `e.g. 0.23.0` version example. The `Get Started` first-run note now mentions that the run uses the coding agent `init` detected and that `--interactive` needs a real terminal, so a script or an agent should use the plain `workflow run hello` form.

## Quality

The release smoke test (`.smithers/workflows/smoketest.tsx`) is now comprehensive: four parallel agents work in throwaway directories to exercise the human onboarding flow, the agent onboarding flow, every user-facing change across the last four releases, and a real workflow UI served over the Gateway, then a deterministic step aggregates the verdict. This run is what found the `memory` and `monitor` defects above.

New regression tests cover the fixes and the gaps that hid them: a `memory` CLI round-trip with no `--workflow`, a guard that renders every seeded workflow's graph and asserts each loads without a reserved-column, MDX, or null-input error (it would have caught the `monitor`, `smithering`, and `workflow-skill` defects), and a real-browser end-to-end test for Gateway root routing plus a workflow UI mount.

The `@smithers-orchestrator/components` declaration build is now hermetic. It emitted `src/index.d.ts` with `clean: false`, so each build read its own prior output and re-wrapped the React import, growing the `React__default` alias by one `__default` every build. The build now removes the stale declaration first, so repeated builds are byte-identical.

## Migration notes

No breaking changes are identified in 0.25.3. All changes are additive bug fixes. If you scripted around the `memory` commands by passing `--workflow`, that still works; the flag is now optional rather than required.
