Skip to content

feat(catalog): serve workflows and revisions over TinyBus - #17

Merged
senamakel merged 23 commits into
epic/8055-flows-busfrom
epic-8055-tf1-catalog-surface
Oct 16, 2026
Merged

senamakel merged 23 commits into
epic/8055-flows-busfrom
epic-8055-tf1-catalog-surface

Conversation

@senamakel

@senamakel senamakel commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Serve Catalog v2 from tinyflows-module over an agent-bound CatalogStorage document callback. The module runs workflow list/get, create/update/duplicate, delete, enablement and revision history through FlowCatalogDocuments. Stale updates return a structured conflict with the current workflow. Create results report automatic-trigger disablement and forced approval, while summaries include the latest committed graph revision, run status, trigger kind, node count, update time and skipped-row count.

The graph revision sequence is stored in the catalog definition: new and duplicated workflows start at 1, and only a successful graph update advances it. Failed or stale updates and metadata-only writes preserve the number. Legacy definitions without a sequence bootstrap from visible retained history; history imports remain unseeded until the first graph update persists the sequence, because prior snapshots do not change the current graph. History already pruned before bootstrap cannot be reconstructed.

The bus crate defines serde-only catalog and document callback types, including typed storage preconditions, filters, queries, collection declarations, cursors and result records. Its wire tests cover every type and pin literal request and response JSON. The callback exposes only ensure/get/put/delete/query/delete-where, which cover the current driver’s needs. Module integration tests exercise separate agent scopes, CRUD, stale conflicts, duplicate and enablement behavior, revision history, safety flags and corrupt-row reporting.

Validation:

  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo check -p tinyflows-module --all-features
  • cargo test --all-features (pass with Bash 5.3; the existing release-workflow test uses mapfile, unavailable in macOS system Bash 3.2)

Refs #1
Part of tinyhumansai/openhuman#8055

…lows-drivers/src/catalog/revisi

Auto-committed-on: macbook
…ates/tinyflows-module/src/catal

Auto-committed-on: macbook
…/tinyflows-drivers/src/catalog/

Auto-committed-on: macbook
…lows-bus/src/catalog_tests.rs,c

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

Auto-committed-on: macbook
…ts.rs,crates/tinyflows-drivers/

Auto-committed-on: macbook
…lows-bus/src/catalog/storage_ty

Auto-committed-on: macbook
…s.rs,crates/tinyflows-drivers/s

Auto-committed-on: macbook
…lows-bus/src/catalog/storage_ty

Auto-committed-on: macbook
…quence.rs,crates/tinyflows-driv

Auto-committed-on: macbook
…rates/tinyflows-drivers/src/cat

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

Auto-committed-on: macbook
…/tinyflows-bus/src/catalog_test

Auto-committed-on: macbook
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