Repository navigation
refactor(storage): migrate TinyFlows stores to TinyStorageDrivers v2 - #171
Conversation
Move the key, schema, blocking, and primitive (kv, counters, leases, repo) helpers out of tinyflows-drivers into a new tinyflows-storage crate so the storage ports can be shared without linking engine crates. The retired tinyflows-import crate is folded into tinyflows-module, and CI now checks the workspace at its MSRV and enforces that storage port users stay engine-free. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Repoint the tinystoragedrivers dependencies at the tinyhumansai fork and upgrade them from the v2.0.1 tag to 2.1.0, pinned by revision. The previous senamakel source is no longer the canonical one. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Bump the tinystoragedrivers crates from 2.0.1 to 2.1.0 and move them to the tinyhumansai fork, and update tinybus to 0.1.6. The lockfile also picks up the new transitive dependencies these versions require, including nix, zstd, and updated getrandom and sha2 releases. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reverted the lockfile to the previously pinned versions, lowering syn, aws-lc-rs, cc, hyper, libc and others and dropping the futures-macro and nix entries. This restores the dependency set that was in place before the last update. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Regenerate Cargo.lock after replacing the tinystoragedrivers-core dependency with the split tinystoragedrivers-api, types, testkit and busproxy crates, and after dropping the tinyflows-import crate. The lockfile also picks up new tinybus revisions and the futures-macro, nix and zip 9.0.5 packages they pull in. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
The comment above the tinystoragedrivers-api dependency described the pin as a git tag, but the dependency is pinned by revision. Updated the wording so the comment matches how the crate is actually vendored and patched. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update the workspace patch entries and the storage dev-dependency to point at the same tinybus revision, so the unpublished module APIs come from one consistent commit. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Consolidates the tinybus dependency on the 0.1.6 revision, removing the duplicate 0.1.5 git checkouts that were still pinned in the lockfile. The now-unused zip 2.4.2, arbitrary, derive_arbitrary, crossbeam-utils and zopfli entries fall away as a result. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reached
This review includes 241 billable files and costs up to $60.25. View limit details
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0d1a349d3a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Tiny Sweeper reviewFindingsNo active actionable findings. Notes Unverified note — critique
Unverified note — critique
Verdict: Incomplete · Priority: medium Diagnostics and supporting detailsFull summaryPull request purpose (title): refactor(storage): migrate TinyFlows stores to TinyStorageDrivers v2. Tiny Sweeper completed its review; deterministic results follow. Unreviewed paths
Partial review reasons
Review snapshot
Completeness: Incomplete Features
Tests
Before merge
Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
Flatten the nested if blocks in commit and park_for_retry into chained let-expressions, which is the idiomatic form on the current Rust edition. The lockfile also pins uuid and getrandom back to versions compatible with the rest of the dependency graph. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
… submodules The acquire_with implementation and the schema migration machinery were extracted from leases.rs and schema.rs into dedicated submodules, leaving the parent files to re-export them. This keeps the large, self-contained routines in their own files without changing any behaviour. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Dropped imports that are no longer referenced in the schema module and its migrations, and corrected the import list to pull in the types actually used. Also removed a stray blank line in the lease acquisition code. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e5d517097f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Add a test asserting that updating a job which carries an imported created_ms timestamp preserves that creation identity, so a run recorded against the original timestamp is still accepted after the edit. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
The updated job document now carries over the created_ms field from the previous document, so the original creation timestamp is not lost when a cron job is updated. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 93162c1f89
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ed modules Move lineage, migrated job identity, and JSON extraction tests into their own files and register them as separate test modules, keeping the existing suites focused and making the new coverage easier to find. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update the vendored tinybus submodule to a newer commit. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update the tinybus and tinybus-module git revisions in the workspace patch section and the storage crate's dev-dependency to 2b2ac165, refreshing the lockfile accordingly. This picks up the newer upstream commit while keeping the unpublished module APIs pinned to a source available in non-recursive clones. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Move the tinybus and tinybus-module patch entries to revision 0de2d283, which collapses the duplicate tinybus entries in the lockfile and drops the windows-sys 0.61.2 and getrandom 0.4.3 dependencies in favour of older versions. The storage crate's dev-dependency is repinned to match. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
What changed
05eaada962decbab33bafa4763d2bd1a67f6b456. Keep Cargo's TinyBus source at0de2d283f35cbbff08efad6fbe05537ffb74611b, which matches TSD 2.1.0's TinyBus source and keeps its bus types unified. Update the vendored TinyBus release-tooling gitlink to current main2b2ac165505bdf3dc19c26e0b93c54fb4257bd3c(feat: host extractions (cron store, dedup settle, authoring report, agent prompt helpers, summary, referenced compat) #100).created_mswhen editing the job, so existing run identity remains stable.Validation
cargo +1.88.0 check --workspace --all-features --locked— passed with TSD's TinyBus source pin.cargo clippy --workspace --all-targets --all-features --locked -- -D warnings— passed.cargo +1.88.0 fmt --all -- --checkandgit diff --check— passed.cargo test -p tinyflows-storage --all-features --locked— passed (18 unit tests and 3 doctests).cargo test -p tinyflows-drivers --all-features --locked -- --test-threads=1— passed (418 tests). The added imported-job identity regression test failed before the fix and passes after it.cargo test -p tinyflows --all-features --locked nodes::integration::agent_prompt— passed (47 tests).cargo test -p tinyflows-module --all-features --locked -- --test-threads=1— passed (136 unit tests and 5 release workflow tests).cargo build --manifest-path vendor/tinybus/Cargo.toml -p tinybus --all-features --bin tinybus --locked— passed at the updated vendored TinyBus gitlink.scripts/verify-module-artifact.shwith the built module copied to a private artifact directory — 35/35 passed. The shared build directory is group-writable, so the module loader correctly refuses to load from it directly.cargo test --workspace --all-features --lockedrun had two actor-recovery test failures. Both passed individually; a serialized rerun of the actor-recovery tests also passed (3/3). The fulltinyflows-modulesuite passed with test threads set to one.Release note
Canonical TinyStorageDrivers
maincontains v2.1.0 at the pinned revision, but the canonical repository has not published a v2 release/tag yet. This PR pins the exact canonical commit; a tagged v2 release is still needed for consumers that require release pins.Closes senamakel#39
Part of tinyhumansai/openhuman#8131