Skip to content

[flows-tinyflows] Catalog surface: serve workflow definitions, revisions and the CatalogStorage port (slice 2) #1

Closed

Description

@senamakel

Moved from tinyhumansai#145, which is closed in favour of this issue. Part of tinyhumansai/openhuman#8055.

Serve the Catalog surface (crates/tinyflows-bus/src/catalog.rs, skeleton v1) from tinyflows-module, over the host's document port (CatalogStorage: DocGet/DocPut/DocDelete/DocQuery), backed by tinyflows-drivers::catalog::FlowCatalogDocuments.

Gaps found in the OpenHuman audit (host flows/store.rs, ops/definitions.rs, ops/updates.rs):

  • PutWorkflow must distinguish create / update / duplicate, take expected_version, and return the FlowUpdateError conflict shape; report born-disabled / forced-approval flags.
  • SetEnabled; revisions ListRevisions/GetRevision (history + rollback).
  • WorkflowSummary adds enabled, require_approval, last_status, trigger kind, node count, updated_at; list reports skipped rows.
  • Scope is the agent id bound by the host on the callback object.

Bump the Catalog contract version; wire tests for every type. Follow migrate-to-submodule (OpenHuman .claude/skills/): upstream PR → patch release → OpenHuman gitlink bump + registry digest re-pin. Design reference: docs/tinyflows-bus-design.md.

Done when: merged in tinyhumansai/tinyflows with wire tests for every new or changed contract type, released (patch), and the contract version bumped where a served shape changed. Gates: cargo fmt --all -- --check, cargo clippy --all-targets --all-features -- -D warnings, cargo test --all-features in tinyhumansai/tinyflows. OpenHuman adoption is a separate leaf of the epic.

Agent brief

  • Files to consider (paths in tinyhumansai/tinyflows): crates/tinyflows-bus/src/catalog.rs, crates/tinyflows-module/src/, crates/tinyflows-drivers/src/catalog/
  • Research: Host callers listed above; module-boundaries.json.
  • Workflow: an implementing-an-epic step; follow migrate-to-submodule (upstream PR → patch release → OpenHuman gitlink bump + digest re-pin).
  • Subagent: tdd-implementer.
  • Dependencies: none.

Parent: tinyhumansai/openhuman#8055

Activity

  1. added
    enhancementNew feature or request
    priority: p3Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.
    rustPull requests that update rust code
    on Oct 16, 2026
  2. senamakel commented on Oct 16, 2026

    @senamakel
    OwnerAuthor

    Merged into epic/8055-flows-bus in #17 (e2d8e28). Catalog v2 serves workflow definitions, optimistic updates, revisions and monotonic revision numbers through the scoped document callback. Full local all-features suite passed (2609 tests), strict Clippy/check/format passed, and both hosted Rust SDK checks passed on the pinned head a542626. Final canonical upstream PR and release integration remain part of epic #8055.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority: p3Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.rustPull requests that update rust code

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions