Skip to content

feat(runs): resume approval runs and expire parked rows - #23

Merged
senamakel merged 69 commits into
epic/8055-flows-busfrom
epic-8055-tf7-resume
Oct 17, 2026
Merged

senamakel merged 69 commits into
epic/8055-flows-busfrom
epic-8055-tf7-resume

Conversation

@senamakel

Copy link
Copy Markdown
Owner

Summary

Serve Runs v4 ResumeRun, ExpireParked, and BootSweep through the compiled module. Resume validates flow ownership and pending decisions, pins the graph, atomically claims the parked row with its actor lease, and continues the stored checkpoint with cancellation and event history. Expiry and boot recovery settle only rows they win, preserve cleanup-before-terminal-event ordering, and keep expiry batches recoverable when an individual write fails.

API Or Behavior Changes

Runs contract version 4 adds the three members and their wire records. The module owns resume, parked expiry, and local orphan reconciliation; shared-backend boot sweep is a no-op. The engine gains a cancellable checkpointed journaled resume entry point. The bus design document records the served contract.

Tests

  • cargo fmt --all -- --check
  • cargo check -p tinyflows -p tinyflows-bus -p tinyflows-catalog -p tinyflows-drivers -p tinyflows-module --all-features
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test --workspace --all-features (2,658 passed; 16 artifact tests are exercised below)
  • bash scripts/verify-module-artifact.sh (16 passed)
  • bash scripts/check-published-crate.sh
  • cargo package -p tinyflows --no-verify
  • cargo tree -p tinyflows-bus -e normal --depth 1 (chrono, serde, serde_json)

Documentation

Updated docs/tinyflows-bus-design.md for Runs v4 and the resume, expiry, and boot-sweep behavior.

Refs #7
Part of tinyhumansai/openhuman#8055

…s-bus/src/runs_tests.rs,crates/

Auto-committed-on: macbook
…s-module/src/run_manager/actor.

Auto-committed-on: macbook
…s/tinyflows-module/src/run_mana

Auto-committed-on: macbook
…s,crates/tinyflows-module/src/r

Auto-committed-on: macbook
…nyflows-module/src/run_manager.

Auto-committed-on: macbook
…,crates/tinyflows-module/src/ru

Auto-committed-on: macbook
…sts.rs,crates/tinyflows-module/

Auto-committed-on: macbook
…,crates/tinyflows-module/src/ru

Auto-committed-on: macbook
…tinyflows/src/engine/resumable/

Auto-committed-on: macbook
…tes/tinyflows-module/src/run_ma

Auto-committed-on: macbook
…s,crates/tinyflows-module/tests

Auto-committed-on: macbook
…s,crates/tinyflows-module/src/r

Auto-committed-on: macbook
…s,crates/tinyflows-module/src/r

Auto-committed-on: macbook
…s,crates/tinyflows-module/tests

Auto-committed-on: macbook
…rs,crates/tinyflows-module/src/

Auto-committed-on: macbook
…es/tinyflows-drivers/src/catalo

Auto-committed-on: macbook
…rt.rs,crates/tinyflows-module/t

Auto-committed-on: macbook
…rt.rs,crates/tinyflows-module/t

Auto-committed-on: macbook
…rt.rs,crates/tinyflows-module/t

Auto-committed-on: macbook
…s,crates/tinyflows-module/tests

Auto-committed-on: macbook
…ent_callback.rs,crates/tinyflow

Auto-committed-on: macbook
…ent_callback.rs,crates/tinyflow

Auto-committed-on: macbook
@senamakel
senamakel merged commit 956acc7 into epic/8055-flows-bus Oct 17, 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.

1 participant