Skip to content

feat: add workflow run await service#422

Merged
chubes4 merged 1 commit into
mainfrom
issue-421-workflow-run-awaiter
Jul 12, 2026
Merged

feat: add workflow run await service#422
chubes4 merged 1 commit into
mainfrom
issue-421-workflow-run-awaiter

Conversation

@chubes4

@chubes4 chubes4 commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Fixes #421

Summary

  • add WP_Agent_Workflow_Run_Awaiter with explicit, storage-agnostic WP_Agent_Workflow_Run_Recorder dependency injection
  • perform a fresh lookup, skip drain work for terminal runs, and compose suspended runs with WP_Agent_Workflow_Scoped_Drain
  • return normalized agents-api/workflow-run-await/v1 state with canonical terminal results and unchanged scoped-drain stats
  • keep budget/limit exhaustion and reentrant refusal successful and reconnectable while preserving failed terminal state

Consumer context

Consumers that own workflow-run persistence can now await their recorded runs through a shared generic PHP service without duplicating drain composition. The contract adds no storage implementation, ambient resolver, REST ability, global dependency, or consumer/product vocabulary.

Tests

  • php -l src/Workflows/class-wp-agent-workflow-run-awaiter.php
  • php -l tests/workflow-run-awaiter-smoke.php
  • php tests/workflow-scoped-drain-smoke.php
  • php tests/workflow-run-awaiter-smoke.php
  • php tests/bootstrap-smoke.php
  • composer smoke
  • composer phpstan (not run: phpstan binary is not installed in this isolated worktree)

AI assistance

  • AI assistance: Yes
  • Tool(s): OpenAI GPT-5.6 Sol via OpenCode; general coding subagent
  • Used for: Architecture analysis, implementation, and behavioral tests.

@chubes4 chubes4 merged commit 5addf59 into main Jul 12, 2026
2 checks passed
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.

Add storage-agnostic workflow run await service

1 participant