Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7087295
chore(deps): bump tinystoragedrivers to v1.0.0
senamakel Oct 16, 2026
e9659f7
test(drivers): add record tests for driver output
senamakel Oct 16, 2026
5185c42
chore: files changed crates/tinybox-drivers/src/lib.rs,crates/tinybox…
senamakel Oct 16, 2026
b73f1f1
feat(drivers): add record and index body drivers
senamakel Oct 16, 2026
04600ee
feat(drivers): add schema validation for driver definitions
senamakel Oct 16, 2026
aad86e2
refactor(drivers): route box and index stores through typed repos
senamakel Oct 16, 2026
87ffce5
test(box_store): add coverage for box store operations
senamakel Oct 16, 2026
fed7888
feat(drivers): box.* storage schema v2 with v1 migration steps
senamakel Oct 16, 2026
5844fd8
test(tinybus-module): prepare storage schema in test rig
senamakel Oct 16, 2026
9a38efd
chore(tinybox-drivers): silence clippy and fix doc formatting
senamakel Oct 16, 2026
b2b3275
docs(tinybox-drivers): document the storage_schema module
senamakel Oct 16, 2026
fca9954
chore: files changed crates/tinybox-drivers/src/schema_tests.rs
senamakel Oct 16, 2026
8551972
Merge pull request #1 from senamakel/epic-7973-7987-box-schema-v2
senamakel Oct 16, 2026
270bfcb
feat(drivers): add index body and schema storage modules
senamakel Oct 17, 2026
bbd34dc
test(tinybox-drivers): assert v1 migration matches record encoding
senamakel Oct 17, 2026
55562d5
feat(bus): expose storage module
senamakel Oct 17, 2026
a32770d
chore(tinybox-bus): mark from_body as must_use
senamakel Oct 17, 2026
043ecc5
test(record): use array literal in egress allowlist fixture
senamakel Oct 17, 2026
689eee4
feat(tinybox-bus): gate storage schema behind a storage feature
senamakel Oct 17, 2026
7ab28b4
refactor(bus): put storage_schema behind an optional storage feature
senamakel Oct 17, 2026
d5be9cd
test(bus): cover every v1 box variant in the storage migration
senamakel Oct 17, 2026
c96aee4
chore(deny): ignore zip extract advisories on an unused code path
senamakel Oct 17, 2026
a87dbc9
Merge pull request #5 from senamakel/epic-7973-bus-schema
senamakel Oct 17, 2026
8cb2a90
docs(test): add module docs to storage and record test files
senamakel Oct 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
195 changes: 183 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,12 @@ tinybox-ssh = { path = "crates/tinybox-ssh", version = "0.1.25" }
tinybox-sync = { path = "crates/tinybox-sync", version = "0.1.25" }
# The storage ports only (no database client), by git tag so a host that vendors
# tinystoragedrivers once can `[patch]` it. Used by `tinybox-drivers`.
tinystoragedrivers-core = { version = ">=0.8.0, <1", git = "https://github.com/tinyhumansai/tinystoragedrivers", tag = "v0.11.0" }
tinystoragedrivers-core = { version = "1.0.0", git = "https://github.com/tinyhumansai/tinystoragedrivers", tag = "v1.0.0" }
# The module reaches the host's storage over the storage bus: the proxy yields
# the same port traits a linked library gets. The client crate serves them in
# tests.
tinystoragedrivers-busproxy = { version = ">=0.8.0, <1", git = "https://github.com/tinyhumansai/tinystoragedrivers", tag = "v0.11.0" }
tinystoragedrivers-client = { version = ">=0.8.0, <1", git = "https://github.com/tinyhumansai/tinystoragedrivers", tag = "v0.11.0" }
tinystoragedrivers-busproxy = { version = "1.0.0", git = "https://github.com/tinyhumansai/tinystoragedrivers", tag = "v1.0.0" }
tinystoragedrivers-client = { version = "1.0.0", git = "https://github.com/tinyhumansai/tinystoragedrivers", tag = "v1.0.0" }
tinybox-drivers = { path = "crates/tinybox-drivers", version = "0.1.32" }

# Lints apply to every crate in the workspace via `[lints] workspace = true`.
Expand Down
13 changes: 12 additions & 1 deletion crates/tinybox-bus/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,21 @@ repository.workspace = true
[dependencies]
# The bus boundary contains data only; serialization is its sole dependency.
serde.workspace = true
# Only the `storage` feature: the schema the host composes. Ports only (no
# backend, no I/O), pure JSON steps.
serde_json = { workspace = true, optional = true }
tinystoragedrivers-core = { workspace = true, optional = true }

[features]
default = []
# `storage_schema()` and its pure v1 to v2 steps. Off by default so the
# contract's default dependency closure stays serde only; a host enables it.
storage = ["dep:serde_json", "dep:tinystoragedrivers-core"]

[dev-dependencies]
# Round-trip tests pin the serialized public vocabulary.
serde_json.workspace = true
# Migration tests run the steps over `MemoryStorage`.
tokio = { workspace = true }

[lints]
workspace = true
Loading
Loading