Skip to content

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 05 Sep 21:40
· 1068 commits to main since this release

Morphz v0.1.2

Patch release for Objective scheduling, cancellation, and live model
configuration.

Fixes

  • Fix durable child threads remaining queued when spawned under an existing
    Objective whose revision has changed. Child threads and their groups now use
    the Objective's execution generation, independently of its state revision.
  • Fix promotion of an attached thread to an Objective so it adopts the target
    Objective's execution generation. SQLite and PostgreSQL validate ownership
    and generation within the scheduling transaction.
  • Reject stale Objective events before they can create new execution records,
    retain a durable rejection audit, and close pending delivery records.
  • Preserve an Objective interruption's exact wait dependency through tool
    results, recovered Action Groups, and nested Yao inference. Valid work keeps
    its lease; cancelled or superseded work cannot cross a new wait.
  • Add thread_control so the agent can pause, resume, or cancel actual work
    through the same control path as the Dashboard. Cancelling a thread also
    settles its pending schedules, group membership, and dependencies. Cancelling
    only a Schedule still stops only that wake source.
  • Let a committed replacement schedule produce its final explanation and
    release the current Evaluation while preserving the new Group wait. This
    reply-only phase cannot start further tools, including during model context
    overflow recovery.
  • Keep unfinished idle threads visible and controllable in the Dashboard,
    without counting them as currently running.
  • Permanently remove acknowledged Dashboard message placeholders, so an old
    message cannot reappear at the end after history pagination or switching
    sessions. Pending and failed deliveries remain visible; late delivery receipts
    do not resurrect messages already confirmed by their authoritative event.
  • Apply saved model routes to the live runtime even when those routes already
    exist in the configuration file. A runtime restart is no longer needed for
    that account-save case.
  • Keep website article bodies visible in Safari and embedded browsers, including
    when animation callbacks are unavailable, and align the Dashboard brand mark
    with the website.

Release verification

The v0.1.1 candidate was not published: its release gate exposed a race in a
heartbeat regression test. The test now waits for the completed lease write
instead of assuming a fixed number of virtual-clock polls allows SQLite I/O
to finish. The correction preserves the three-heartbeat and dependency-fence
assertions without changing production scheduling logic. The original failure
was reproduced locally, and the corrected test passed 100 fixed stress cases.
The failed v0.1.1 tag is retained rather than moved to different source.

Upgrading from v0.1.0

The existing installation commands select the latest published release. Stop
the running Morphz process and back up its configured data before replacing the
binary; then restart it and confirm morphz --version reports 0.1.2.

Upgrading prevents new incorrectly scheduled work; it does not automatically
repair child threads already stuck in v0.1.0.
The runtime deliberately does
not rewrite their execution generations or silently re-run old work.

For affected work, preserve its Objective/thread IDs and history and check
whether any execution or external side effect has already occurred. A
conservative recovery is to cancel the old Objective and explicitly cancel
each affected child thread through the normal controls, verify that the old
threads and schedules are closed, and then recreate the intended work with
new IDs. Cancelling only the Objective is not sufficient for a child whose
stored supervision generation is already incorrect. Retaining the original
task IDs requires a separately reviewed data repair.

If only a Schedule was cancelled previously, its thread may still be open.
Inspect and cancel the actual unwanted thread rather than assuming the work
ended when its wake source was removed. The corrected Dashboard exposes these
unfinished idle threads.

See the repair audit and recovery boundary
for the precise scope. Do not treat these steps as permission to repeat work
that may already have produced external effects.

The cancellation and interruption contract
describes the distinction between schedules, threads, and Objective waits.

Distribution

Morphz and morphz-edge remain available for macOS Apple Silicon and Intel,
Linux ARM64 and x86_64, and Windows x86_64. Platform archives include their
SHA-256 checksum files and required bundled components.