Skip to content

chore(release): v0.6.17 — detached run_workflow dispatch fix#283

Merged
Shooksie merged 2 commits into
mainfrom
release/v0.6.17
Jun 28, 2026
Merged

chore(release): v0.6.17 — detached run_workflow dispatch fix#283
Shooksie merged 2 commits into
mainfrom
release/v0.6.17

Conversation

@Shooksie

Copy link
Copy Markdown
Contributor

What

Fixes the kernel bug where detached `animus workflow run` / MCP `run_workflow` never dispatch a runner — the workflow sits `Running` then gets zombie-cancelled.

Root cause

The detached path bootstraps a `Running` record then re-attaches a workflow_runner via `workflow run --sync --workflow-id `. `workflow_execute_request_for_existing()` built that `workflow/execute` request with all subject fields `None` (only `workflow_id`), so the runner plugin could not resolve subject context and `workflow/execute` failed (exit 1).

Only this reattach path was affected:

  • the queue/trigger path carries the subject via `build_runner_command` (works),
  • the `--sync --task-id` path passes `task_id` directly (works).

Fix

Populate `task_id`/`requirement_id` from the persisted record's subject, mirroring the proven fresh-dispatch request. Adds a regression test.

Verification

  • New unit test `reattach_request_carries_task_subject_for_plugin_resolution` passes.
  • Full `ops_workflow` suite: 34 passed.
  • Reproduced live on the launchapp portal: `--sync --task-id` completes a research workflow end-to-end (subject `done`, findings written), while `--sync --workflow-id` failed with the exact "workflow/execute failed" error this fixes.

🤖 Generated with Claude Code

Shooksie added 2 commits June 28, 2026 15:18
…run_workflow dispatches

The detached 'workflow run' / run_workflow path bootstraps a Running record
then re-attaches a workflow_runner via 'workflow run --sync --workflow-id <id>'.
workflow_execute_request_for_existing() built that request with all subject
fields None (workflow_id only), so the runner plugin could not resolve subject
context and workflow/execute failed (exit 1) — every detached dispatch sat
Running then got zombie-cancelled. Only this reattach path was affected: the
queue/trigger path carries the subject via build_runner_command, and the
--sync --task-id path passes task_id directly (both work).

Populate task_id/requirement_id from the persisted record's subject, mirroring
the proven fresh-dispatch request. Adds a regression test.
Includes: detached run_workflow / 'animus workflow run' now dispatches —
the reattach execute request carries the subject so the runner plugin can
resolve subject context (was workflow_id-only → workflow/execute failed).
@vercel

vercel Bot commented Jun 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
animus-docs Ready Ready Preview, Comment Jun 28, 2026 9:20pm

Request Review

@Shooksie
Shooksie merged commit 6afd975 into main Jun 28, 2026
12 of 13 checks passed
@Shooksie
Shooksie deleted the release/v0.6.17 branch June 28, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant