Skip to content
Merged
Show file tree
Hide file tree
Changes from 241 commits
Commits
Show all changes
330 commits
Select commit Hold shift + click to select a range
3d61045
test(client): cover unacknowledged stop when peer reports cleanup pen…
senamakel Oct 18, 2026
7c403dd
test(client): cover channel object registration and status calls
senamakel Oct 18, 2026
e33e867
test(tinychannels-client): remove runtime lease integration tests
senamakel Oct 18, 2026
007f48c
chore: bump tinybus to 0.3.2 and workspace version to 0.1.37
senamakel Oct 18, 2026
319e548
chore(deps): bump workspace crate versions in lockfiles
senamakel Oct 18, 2026
181f8b4
feat(tinychannels-client): add typed runtime driver and object client
senamakel Oct 18, 2026
7dfcbe0
chore: files changed crates/tinychannels-client/test-fixture/src/lib.…
senamakel Oct 18, 2026
6ed4986
test(native_e2e): assert ordinary calls are refused on attested operands
senamakel Oct 18, 2026
7496c63
chore: files changed crates/tinychannels-client/src/lib_runtime_tests…
senamakel Oct 18, 2026
0cb46fc
chore: files changed crates/tinychannels-client/tests/native_e2e.rs,c…
senamakel Oct 18, 2026
73f5c0f
chore: files changed crates/tinychannels-client/src/lib.rs,crates/tin…
senamakel Oct 18, 2026
9674ec9
test(fixture): generate unique runtime handles per reservation
senamakel Oct 18, 2026
e57e067
test(native-e2e): remove superseded native end-to-end tests
senamakel Oct 18, 2026
eb90c13
test(client): split native e2e coverage into runtime and module suites
senamakel Oct 18, 2026
50beba6
ci(client): run native e2e cargo commands through cancel-aware wrapper
senamakel Oct 18, 2026
22a18dd
chore: files changed crates/tinychannels-client/test-fixture/src/lib.rs
senamakel Oct 18, 2026
214f492
test(runtime): cover malformed reservation and status replies
senamakel Oct 18, 2026
eb094f4
test(tinychannels-client): allow release url override in cached relea…
senamakel Oct 18, 2026
4e50081
test(fixture): add reservation gating controls to the test fixture
senamakel Oct 18, 2026
39689e0
test(runtime_native_e2e): pause reservation to cover alias release mi…
senamakel Oct 18, 2026
d9e3a31
test(tinychannels-client): record delivery flags in fixture
senamakel Oct 18, 2026
1e1bc0f
test(fixture): record delivery flags for audited members
senamakel Oct 18, 2026
50a2f52
test(runtime_native_e2e): assert broker-authenticated call classifica…
senamakel Oct 18, 2026
2a49201
chore: files changed crates/tinychannels-client/tests/runtime_native_…
senamakel Oct 18, 2026
03d7052
test(client): include call log in readiness failure message
senamakel Oct 18, 2026
5d98b39
test(client): route fixture readiness through a control proxy
senamakel Oct 18, 2026
8280030
test(client): keep service connection alive in test fixture
senamakel Oct 18, 2026
4066f15
chore(tinychannels-client): add tokio to test fixture lockfile
senamakel Oct 18, 2026
81a5970
test(runtime_native_e2e): update imports for reorganized module paths
senamakel Oct 18, 2026
bd9c597
test(runtime_native_e2e): drop redundant contract error mapping
senamakel Oct 18, 2026
ae6bd3d
test(runtime_native_e2e): propagate proxy creation error
senamakel Oct 18, 2026
fb9363b
test: remove unused runtime callback fixture helpers
senamakel Oct 18, 2026
695075a
test(runtime_native_e2e): bind uncertain-start object before asserting
senamakel Oct 18, 2026
1a820fb
test(support): add two-second client timeout to fixtures
senamakel Oct 18, 2026
650b338
test(tinychannels-client): drop redundant timeout from native module …
senamakel Oct 18, 2026
f126798
feat(scripts): add standalone client e2e test script
senamakel Oct 18, 2026
67a4360
refactor(scripts): run client e2e cargo commands directly
senamakel Oct 18, 2026
f036ea3
test: update pinned reviewed epic release workflow revision
senamakel Oct 18, 2026
19c5ac4
ci(release): bump reviewed epic release workflow pin
senamakel Oct 18, 2026
8566461
chore: files changed CONTRIBUTING.md,Cargo.toml,crates/tinychannels-c…
senamakel Oct 18, 2026
d6e7462
test(release): cover gitlink lookup for exact, stale and missing revi…
senamakel Oct 18, 2026
2d095f2
test: use non-zero gitlink revision for stale fixture
senamakel Oct 18, 2026
da8bd9c
test: add gitlink revision helper to reviewed epic release tests
senamakel Oct 18, 2026
32ed8b1
chore(deps): bump tinybus crates to 0.3.3
senamakel Oct 18, 2026
aa25eb3
chore(deps): bump tinybus crates to 0.3.3
senamakel Oct 18, 2026
c71d7ba
chore: files changed scripts/test-client-native-topology.py
senamakel Oct 18, 2026
b5f4eb3
chore: files changed scripts/test-client-native-topology.py
senamakel Oct 18, 2026
f9c8faa
chore: files changed scripts/check-coverage.sh,scripts/test-client-e2…
senamakel Oct 18, 2026
13085ce
chore: files changed scripts/test-client-e2e-standalone.py
senamakel Oct 18, 2026
9d5994c
chore: files changed scripts/test-client-native-topology.py
senamakel Oct 18, 2026
db38888
chore: files changed scripts/test-client-native-topology.py
senamakel Oct 18, 2026
412fcc7
chore: files changed scripts/test-feature-lanes.py,scripts/test-featu…
senamakel Oct 18, 2026
fbe3908
chore: files changed scripts/test-client-e2e-standalone.py
senamakel Oct 18, 2026
4c96506
chore: files changed scripts/test-client-native-topology.py
senamakel Oct 18, 2026
7c99067
chore: files changed scripts/test-client-e2e.ps1,scripts/test-feature…
senamakel Oct 18, 2026
776345a
chore: files changed scripts/test-client-e2e-standalone.py,scripts/te…
senamakel Oct 18, 2026
4cef8bf
chore: files changed scripts/test-client-e2e-standalone.py
senamakel Oct 18, 2026
ff1dc72
chore: files changed scripts/test-client-e2e-standalone.py
senamakel Oct 18, 2026
738e982
chore: files changed crates/tinychannels-client/tests/support/mod.rs
senamakel Oct 18, 2026
56726c4
chore: files changed crates/tinychannels-client/tests/runtime_native_…
senamakel Oct 18, 2026
ce7b1e9
chore: files changed crates/tinychannels-client/tests/runtime_native_…
senamakel Oct 18, 2026
e6bfeaf
chore: files changed scripts/test-client-native-topology.py
senamakel Oct 18, 2026
d2f11ea
chore: files changed crates/tinychannels-client/tests/support/mod.rs
senamakel Oct 18, 2026
ee115e5
chore: files changed proofs/storage-needs-consumer/Cargo.lock
senamakel Oct 18, 2026
72abe80
chore: files changed crates/tinychannels-client/tests/runtime_native_…
senamakel Oct 18, 2026
641afb0
chore: files changed crates/tinychannels-client/Cargo.toml,crates/tin…
senamakel Oct 18, 2026
1b80587
chore: files changed crates/tinychannels-client/tests/support/mod.rs
senamakel Oct 18, 2026
681e9e1
chore: files changed crates/tinychannels-client/tests/support/mod.rs
senamakel Oct 18, 2026
521d4f3
chore: files changed crates/tinychannels-client/test-fixture/src/lib.rs
senamakel Oct 18, 2026
bd30202
chore: files changed crates/tinychannels-client/tests/support/mod.rs
senamakel Oct 18, 2026
27895b3
chore: files changed crates/tinychannels-client/tests/support/mod.rs,…
senamakel Oct 18, 2026
163842d
chore: files changed crates/tinychannels-client/tests/runtime_readine…
senamakel Oct 18, 2026
2b49f76
chore: files changed crates/tinychannels-client/tests/runtime_readine…
senamakel Oct 18, 2026
c75fbb4
chore: files changed crates/tinychannels-client/tests/runtime_readine…
senamakel Oct 18, 2026
7e82fa6
chore: files changed crates/tinychannels-client/tests/runtime_native_…
senamakel Oct 18, 2026
8cdaddf
chore: files changed crates/tinychannels-client/tests/support/mod.rs
senamakel Oct 18, 2026
df67c53
chore: files changed crates/tinychannels-client/tests/runtime_native_…
senamakel Oct 18, 2026
fe97510
chore: files changed crates/tinychannels-client/tests/runtime_readine…
senamakel Oct 18, 2026
39c7b45
chore: files changed crates/tinychannels-client/tests/support/mod.rs
senamakel Oct 18, 2026
69405ec
chore: files changed crates/tinychannels-client/tests/runtime_native_…
senamakel Oct 18, 2026
7cc7f16
chore: files changed crates/tinychannels-client/tests/runtime_native_…
senamakel Oct 18, 2026
0ad5a99
chore: files changed scripts/test-client-native-topology.py
senamakel Oct 18, 2026
c2f32af
chore: files changed crates/tinychannels-client/tests/support/mod.rs,…
senamakel Oct 18, 2026
ad40da4
chore: files changed crates/tinychannels-client/src/lib.rs,crates/tin…
senamakel Oct 18, 2026
b05eea9
chore: files changed crates/tinychannels-bus/src/module_runtime.rs,cr…
senamakel Oct 18, 2026
5422edf
chore: files changed crates/tinychannels-client/src/client.rs,crates/…
senamakel Oct 18, 2026
151f3a9
chore: files changed .github/PULL_REQUEST_TEMPLATE.md,README.md,scrip…
senamakel Oct 18, 2026
fc73fd4
chore: files changed README.md,crates/tinychannels-client/tests/runti…
senamakel Oct 18, 2026
1b8e5fb
chore: files changed crates/tinychannels-bus/src/module_runtime_tests…
senamakel Oct 18, 2026
ae2affb
chore: files changed crates/tinychannels-client/src/client.rs,crates/…
senamakel Oct 18, 2026
d340073
chore(tinychannels-client): tidy imports and clarify test docs
senamakel Oct 18, 2026
87febe9
refactor(tinychannels-client): re-export dispatch policy from bus crate
senamakel Oct 18, 2026
1a538c1
test(types): move runtime error coverage into types tests
senamakel Oct 18, 2026
c3b1346
test(scripts): cover Windows shell delegation in standalone e2e
senamakel Oct 18, 2026
50d2321
test(scripts): make standalone e2e cargo call count platform independent
senamakel Oct 18, 2026
c4a39c1
test(scripts): cover Git Bash delegation when RUNNER_OS is unset
senamakel Oct 18, 2026
46ce8bc
Merge pull request #123 from senamakel/epic-8056-tinychannels-client-…
senamakel Oct 19, 2026
2122211
Merge main and keep the channels bus data-only
senamakel Oct 20, 2026
1869770
docs(storage-needs): update storage needs documentation
senamakel Oct 20, 2026
6b8e60e
Merge pull request #126 from senamakel/epic-8056-channels-main-union
senamakel Oct 20, 2026
2a6c953
chore(vendor): update tinybus subproject commit
senamakel Oct 20, 2026
87bb860
chore(vendor): update tinybus subproject commit
senamakel Oct 20, 2026
0cfbe3f
refactor(tinychannels-module): introduce migration support
senamakel Oct 20, 2026
ed3a905
chore: files changed Cargo.lock,Cargo.toml,crates/tinychannels-client…
senamakel Oct 20, 2026
6ee5681
chore(deps): update dependencies versions and commits
senamakel Oct 20, 2026
a806d70
chore(deps): update dependencies
senamakel Oct 20, 2026
6d2b7b2
chore(deps): update dependencies and lock file
senamakel Oct 20, 2026
cc8dbf8
chore(deps): update dependencies to latest versions
senamakel Oct 20, 2026
0cb5cca
test(runtime): update runtime artifact test with new module runtime API
senamakel Oct 20, 2026
1502d00
test(runtime): update runtime artifact test assertions
senamakel Oct 20, 2026
c0c603c
test(client): improve release loading logic
senamakel Oct 20, 2026
76c6e3a
chore(deps): update tinystoragedrivers-bus version
senamakel Oct 20, 2026
5a612e2
test(static-link): update linked module test setup
senamakel Oct 20, 2026
06e5fff
test(migration_tests): add tests for operation rejection and error ha…
senamakel Oct 21, 2026
36c5f4a
test(migration): update migration test imports
senamakel Oct 21, 2026
07fe33b
chore(config): update allowed git repositories
senamakel Oct 21, 2026
0e610c9
Merge pull request #103 from senamakel/epic-8056-tinychannels-schema-…
senamakel Oct 21, 2026
8e07c5f
chore(release): bump version to 0.1.39
senamakel Oct 21, 2026
f2bb3c1
chore(deps): update dependency versions
senamakel Oct 21, 2026
a7d2d24
chore(test-fixture): update dependencies
senamakel Oct 21, 2026
cab9ead
chore(deps): update lockfile dependencies
senamakel Oct 21, 2026
5ace7dc
Merge pull request #106 from senamakel/epic-8056-tinychannels-release…
senamakel Oct 21, 2026
e45ceb0
chore: add empty imessage feature for host compatibility
senamakel Oct 24, 2026
930e807
Merge pull request #127 from senamakel/epic-8369-imessage-compat
senamakel Oct 24, 2026
9147a43
Merge pull request #136 from senamakel/tinychannels-129-canonical-tsd
senamakel Oct 22, 2026
5f82dfd
chore(deps): move tinybus and tinystoragedrivers to senamakel forks
senamakel Oct 26, 2026
716c79a
refactor(storage): re-export bus schema declarations
senamakel Oct 26, 2026
cdb378c
refactor(tinychannels-module): drop the module migration handler
senamakel Oct 26, 2026
4450c8a
test(tinychannels-module): assert manifest provides instead of migrat…
senamakel Oct 26, 2026
b44d3ef
chore(deps): bump tinybus and tinystoragedrivers dependencies
senamakel Oct 26, 2026
5fd262b
refactor(bus): drop the storage_needs contract module
senamakel Oct 26, 2026
b71c2ed
test(tinychannels-module): read bus name from version.interface
senamakel Oct 26, 2026
db54a43
chore(vendor): bump tinybus submodule
senamakel Oct 26, 2026
6318f7b
refactor(storage): use record conversion helpers in migrations
senamakel Oct 26, 2026
1908431
refactor(host): remove typed event delivery path
senamakel Oct 26, 2026
787a698
refactor(storage): drop unused imports and stale match arm
senamakel Oct 26, 2026
f311c7d
test(module): remove v2 relay capability coverage
senamakel Oct 26, 2026
993f7aa
style: apply rustfmt formatting and gate test-only helper
senamakel Oct 26, 2026
e5452cb
refactor(storage): remove storage needs declaration
senamakel Oct 26, 2026
34c4fcd
docs: update bus README and storage needs spec
senamakel Oct 26, 2026
c33f982
refactor(storage-needs): migrate proof to TSD2 collection declarations
senamakel Oct 26, 2026
ff8e4b4
chore(storage-needs-consumer): update tinystoragedrivers dependency
senamakel Oct 26, 2026
4c83146
chore(storage-needs-consumer): enable storage feature and add types dep
senamakel Oct 26, 2026
bb72a50
chore(scripts): relax bus purity checks to a forbidden-package list
senamakel Oct 26, 2026
603da3e
docs(spec): update pure contract relocation ownership notes
senamakel Oct 26, 2026
b5affe4
chore(deny): allow fork git sources for security migration
senamakel Oct 26, 2026
8963dfc
chore(deps): update tokio and ctutils, pin windows-sys to 0.52
senamakel Oct 26, 2026
fb5a4e6
chore(deps): update windows-sys to 0.61.2 and pin tokio to 1.53.2
senamakel Oct 26, 2026
15c038c
chore(deps): pin tinystoragedrivers to a revision and bump zstd
senamakel Oct 26, 2026
4b34ae9
chore(deps): downgrade windows-sys and bump tokio
senamakel Oct 26, 2026
b7e9988
chore(storage-needs-consumer): pin tinystoragedrivers-types to a revi…
senamakel Oct 26, 2026
91be6ab
chore(deps): bump tinybus to 0.3.12
senamakel Oct 26, 2026
73e2779
chore(test-fixture): enable storage feature for tinychannels-bus
senamakel Oct 26, 2026
71f0b67
test: update reviewed epic release assertions for tinybus deps
senamakel Oct 26, 2026
01b30c8
build(workspace): add client crate and shared tinybus dependencies
senamakel Oct 26, 2026
ef0feda
chore(deps): add tinychannels-client to the lockfile
senamakel Oct 26, 2026
567fd20
test(host): cover bound storage callback scoping
senamakel Oct 26, 2026
62d792f
test(tinychannels-module): update migration collection assertion
senamakel Oct 26, 2026
ee6372e
test(host): replace storage callback test with debug view test
senamakel Oct 26, 2026
76603c4
build(deps): enable storage feature on tinychannels-bus
senamakel Oct 26, 2026
f83b2a8
Merge pull request #131 from senamakel/sec-654-tinychannels-v2-full
senamakel Oct 26, 2026
9193151
chore(vendor): bump tinybus submodule
senamakel Oct 30, 2026
0abd7fe
feat(channel): add typed content parts and richer message metadata
senamakel Oct 30, 2026
adeb943
feat(bus): expose approvals, voice, media, and web modules
senamakel Oct 30, 2026
8e1b2ac
feat(bus): add shared channel control and session types
senamakel Oct 30, 2026
4f3a3a2
feat(channel): add normalized outbound message and send outcome types
senamakel Oct 30, 2026
178cfb1
feat(bus): add media upload and read method names
senamakel Oct 30, 2026
d82e0c1
feat(bus): add portable progressive output and managed transport voca…
senamakel Oct 30, 2026
9bf1722
feat(bus): add progressive channel output and richer web responses
senamakel Oct 30, 2026
1d10a52
build(deps): update lockfile for tinybus git source and zip dependency
senamakel Oct 30, 2026
543202b
fix(bus): omit absent optional fields from serialized wire payloads
senamakel Oct 30, 2026
c587dd4
test(channel): import MediaKind in content tests
senamakel Oct 30, 2026
289bb22
fix(voice): use snake_case field names for transcription types
senamakel Oct 30, 2026
73298b0
fix(runtime): populate new envelope and intent fields in legacy conve…
senamakel Oct 30, 2026
e141135
refactor(providers): add topic_id and reply_to_id to inbound messages
senamakel Oct 30, 2026
0eb4e97
feat(delivery): carry channel, conversation, and turn refs on outboun…
senamakel Oct 30, 2026
8fc7501
feat(bus): add message edit and delete interactions
senamakel Oct 30, 2026
8b8bbd5
chore(vendor): bump tinybus submodule
senamakel Oct 30, 2026
8ae6c15
chore(deps): switch tinybus to the local path dependency
senamakel Oct 30, 2026
7f28c10
chore(providers): initialize new topic and reply fields on inbound me…
senamakel Oct 30, 2026
2c412a4
feat(tinychannels-module): reject unsupported message and output oper…
senamakel Oct 30, 2026
8f4d720
test(tinychannels-module): update fixtures for new struct fields
senamakel Oct 30, 2026
279118f
test(tinychannels-module): add new fields to runtime artifact fixture
senamakel Oct 30, 2026
4ab24ec
test(progressive): cover typed output open creating a scoped handle
senamakel Oct 30, 2026
394fed4
feat(progressive): carry channel scope and sequence on output events
senamakel Oct 30, 2026
9e943db
feat(progressive): support typed progressive output
senamakel Oct 30, 2026
929f4d2
feat(progressive): convert channel output events to outbound content …
senamakel Oct 30, 2026
26c9b32
fix(progressive): clear typed entries on shutdown and drop unused uns…
senamakel Oct 30, 2026
a3f45ad
test(progressive): handle accepted transport result in failure test
senamakel Oct 30, 2026
4b322a9
refactor(bus): move channel traits from bus crate to runtime
senamakel Oct 30, 2026
53fe0b4
refactor(storage): define collection specs locally instead of tinysto…
senamakel Oct 30, 2026
65296f0
style: reformat code to satisfy rustfmt line width limits
senamakel Oct 30, 2026
dac8b42
chore(deps): drop unused dependencies from tinychannels-bus
senamakel Oct 30, 2026
111df65
refactor(runtime): remove unused test module declaration from traits
senamakel Oct 30, 2026
874547a
test(runtime): add new envelope and intent fields to test fixtures
senamakel Oct 30, 2026
f20e9f3
docs(tinychannels-bus): clarify storage collection declarations
senamakel Oct 30, 2026
cf01d7a
feat(bus): add typed content parts and clarification events
senamakel Oct 30, 2026
3f39200
feat(bus): add voice media storage and v2 interaction capabilities
senamakel Oct 30, 2026
01a17f4
feat(web): add richer chat event variants and metadata fields
senamakel Oct 30, 2026
e185b4b
feat(bus): extend voice media, typing, and queue mode types
senamakel Oct 30, 2026
d78ff80
test(bus): cover web contract round-trip for request metadata and err…
senamakel Oct 30, 2026
af43233
test(web): assert snake_case error_source in contract round-trip
senamakel Oct 30, 2026
e8da951
fix(runtime): handle parts payloads in legacy and relay conversions
senamakel Oct 30, 2026
d50e3ba
fix(delivery): require payload capability for parts messages
senamakel Oct 30, 2026
2a890f1
fix(progressive): set channel_ref to none in typing request
senamakel Oct 30, 2026
e82f5d8
feat(bus): track first tool latency and round-one narration length
senamakel Oct 30, 2026
d3f1d50
refactor(bus): alias legacy capabilities to channel capabilities
senamakel Oct 30, 2026
532c07b
feat(bus): expose v2 channel interaction info in configured channels
senamakel Oct 30, 2026
070898c
feat(bus): add web channel events for tools, approvals, and queue
senamakel Oct 30, 2026
9b044fe
style: reformat long lines to satisfy rustfmt
senamakel Oct 30, 2026
6c6e4f5
fix(web): omit empty tool name and null args from projected tool calls
senamakel Oct 30, 2026
8bdb4a4
fix(web): omit absent tool call fields from serialized events
senamakel Oct 30, 2026
3eccbde
feat(bus): bump wire contract version to 22
senamakel Oct 30, 2026
ddf56df
test: cover parts payload serialization and capability mapping
senamakel Oct 30, 2026
135a9ab
feat(bus): add optional metadata fields to channel events
senamakel Oct 30, 2026
c7320bb
refactor(bus): move Default derive from ChannelEvent to ChannelEventKind
senamakel Oct 30, 2026
53c5e61
fix(channel): move default derive from event kind to reaction
senamakel Oct 30, 2026
1bdbba7
feat(bus): carry topic and reply-to ids through outbound sends
senamakel Oct 30, 2026
a6a5c33
fix(channel): propagate topic and reply ids through intent conversion
senamakel Oct 30, 2026
6801655
test(progressive): wire up unit test module for progressive transport
senamakel Oct 30, 2026
d9c4c1f
fix(telegram): prefer topic and reply ids over thread_ts
senamakel Oct 30, 2026
119e1de
test: cover legacy reaction decoding and outbound intent metadata rou…
senamakel Oct 30, 2026
65e71eb
test(channel): update assertions to snake_case json keys
senamakel Oct 30, 2026
d48551e
fix(module): claim bus identity before storage initialization
senamakel Oct 30, 2026
80764e5
fix(module): defer storage access until a host runtime exists
senamakel Oct 30, 2026
4f944af
fix(delivery): retain scoped intents on host-prepared storage
senamakel Oct 30, 2026
1a36e95
test(service): cover web projection confidentiality, sequencing and c…
senamakel Oct 30, 2026
b0e7a86
test(tinychannels-module): simplify web projection method coverage
senamakel Oct 30, 2026
0f68c6f
feat(web): add runtime web output bridge and expand subagent progress…
senamakel Oct 30, 2026
cfa4954
refactor(bus): box large enum variants to shrink message sizes
senamakel Oct 30, 2026
abb554e
feat(names): add web turn methods to the method table
senamakel Oct 30, 2026
6a142f2
test(bus): cover omission of absent web event fields
senamakel Oct 31, 2026
ab18dde
fix(web): omit absent optional fields from serialized events
senamakel Oct 31, 2026
11052ed
test(progressive): cover the one-hour bound on typed output lifetimes
senamakel Oct 31, 2026
10380d1
fix(progressive): shorten typed output lifetime to match host turn lease
senamakel Oct 31, 2026
6c7dbc3
test(channel): cover legacy text derivation from typed parts
senamakel Oct 31, 2026
739ca17
fix(channel): derive legacy text from typed parts when text is absent
senamakel Oct 31, 2026
f89bc82
test(tinychannels): cover typed intent conversion and storage tree se…
senamakel Oct 31, 2026
a5e5eed
chore: harden CI and extend storage engine checks
senamakel Oct 31, 2026
860621b
feat(tinychannels-module): enable imessage feature and allow its sqli…
senamakel Oct 31, 2026
05962f3
fix(tinychannels-module): send text-only parts intents as plain text
senamakel Oct 31, 2026
6b0197e
test(tinychannels-module): cover rich typed intent in legacy envelope
senamakel Oct 31, 2026
ec87f44
merge: integrate canonical channel contracts and provider structure
senamakel Oct 31, 2026
c2e6c46
test(storage-boundary): cover bus consumer contract and fail-closed g…
senamakel Oct 31, 2026
2333c8e
docs(storage): clarify bus collection declarations and boundary gate
senamakel Oct 31, 2026
f980cad
chore(deps): bump tinystoragedrivers to 2d23a6a
senamakel Oct 31, 2026
3cd0e75
chore(deps): bump tinystoragedrivers to 2.1.2 and zstd to 0.14
senamakel Oct 31, 2026
08b81d0
test(storage): cover schema conversion of indexes, ttl and search
senamakel Oct 31, 2026
8aca8d3
fix(storage): preserve unique index constraints during schema conversion
senamakel Oct 31, 2026
9ff6db6
fix(tinychannels-module): claim the bus name only after serving the o…
M3gA-Mind Nov 2, 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
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
- [ ] `cargo build --all-targets`
- [ ] `cargo build --all-targets --all-features`
- [ ] `cargo test`
- [ ] `cargo test --all-features`
- [ ] `scripts/test-features.sh` (stages pinned native artifacts and runs all feature lanes)

## Documentation

Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,40 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
storage-boundary:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
- uses: taiki-e/install-action@v2
with:
tool: cargo-deny
- name: Verify every native library depends on ports only
run: |
python3 scripts/check-webpki-roots.py --self-test
python3 scripts/check-webpki-roots.py
scripts/check-storage-engine-trees.sh --self-test
scripts/check-storage-engine-trees.sh
cargo deny check all
module-ci:
uses: tinyhumansai/.github/.github/workflows/module-ci.yml@3e87ade76b622844985d0c665a3b075313e4545c
with:
coverage-script: scripts/check-coverage.sh
module-e2e-script: scripts/test-e2e.sh
feature-test-script: scripts/test-features.sh
storage-needs-boundary:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
- uses: dtolnay/rust-toolchain@1.94.0
- name: Test the standalone storage-needs consumer
run: cargo run --locked --manifest-path proofs/storage-needs-consumer/Cargo.toml --target-dir target/storage-needs-consumer
- name: Check the storage-needs dependency boundary
run: python3 scripts/check-storage-needs-boundary.py
- name: Test dependency-boundary negative controls
run: python3 scripts/test-storage-needs-boundary.py
64 changes: 64 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,21 @@ name: Release
on:
workflow_dispatch:
inputs:
mode:
description: Select the ordinary tag release or the reviewed epic release path.
type: choice
options: [tag, reviewed]
default: tag
required: true
tag:
description: Existing version tag (vX.Y.Z) committed through a reviewed PR
type: string
required: true
reviewed_pr:
description: Positive canonical PR number for a reviewed epic release.
type: string
default: '0'
required: false
push:
tags: ['v*']
permissions: {}
Expand All @@ -31,12 +42,65 @@ jobs:
}
echo "tag=$TAG" >> "$GITHUB_OUTPUT"
echo "version=${TAG#v}" >> "$GITHUB_OUTPUT"
validate:
if: inputs.mode == 'reviewed'
runs-on: ubuntu-latest
permissions: {}
outputs:
reviewed_pr: ${{ steps.validate.outputs.reviewed_pr }}
steps:
- name: Validate reviewed epic dispatch inputs
id: validate
shell: bash
env:
EVENT_NAME: ${{ github.event_name }}
REPOSITORY: ${{ github.repository }}
REF: ${{ github.ref }}
RELEASE_MODE: ${{ inputs.mode }}
REVIEWED_PR: ${{ inputs.reviewed_pr || '0' }}
run: |
set -euo pipefail
[[ "$EVENT_NAME" == "workflow_dispatch" ]] || {
echo "reviewed release must be dispatched" >&2
exit 2
}
[[ "$REPOSITORY" == "tinyhumansai/tinychannels" ]] || {
echo "release caller is not the canonical TinyChannels repository" >&2
exit 2
}
[[ "$REF" == "refs/heads/epic/8056-modules-wiring" ]] || {
echo "release must run from epic/8056-modules-wiring" >&2
exit 2
}
[[ "$RELEASE_MODE" == "reviewed" ]] || {
echo "release mode must be reviewed" >&2
exit 2
}
[[ "$REVIEWED_PR" =~ ^[1-9][0-9]*$ ]] || {
echo "reviewed_pr must be a positive integer" >&2
exit 2
}
printf 'reviewed_pr=%s\n' "$REVIEWED_PR" >> "$GITHUB_OUTPUT"
module-release:
needs: resolve
if: github.event_name == 'push' || inputs.mode != 'reviewed'
permissions:
contents: write
uses: tinyhumansai/.github/.github/workflows/module-release.yml@3e87ade76b622844985d0c665a3b075313e4545c
with:
tag: ${{ needs.resolve.outputs.tag }}
version: ${{ needs.resolve.outputs.version }}
module-crate: tinychannels-module
module-reviewed-epic-release:
needs: [resolve, validate]
if: inputs.mode == 'reviewed'
permissions:
contents: write
pull-requests: read
checks: read
actions: read
uses: tinyhumansai/.github/.github/workflows/module-reviewed-epic-release.yml@6ed83b04aab2d8977ec62e966cb914531e534fa4
with:
tag: ${{ needs.resolve.outputs.tag }}
version: ${{ needs.resolve.outputs.version }}
reviewed-pr: ${{ fromJSON(needs.validate.outputs.reviewed_pr || '0') }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
# behind — which then gets committed as build output.
target/
**/*.rs.bk
__pycache__/
*.py[cod]

# Release staging built by the `native-bundles` job. Local runs of that
# packaging step leave a multi-megabyte `cdylib` and its archive here, and an
Expand Down
12 changes: 12 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,15 @@ Do not report vulnerabilities through public issues. Use the process in
## Releasing

Change the Cargo package versions through a reviewed PR. After it merges, tag that commit as vX.Y.Z and push the tag, or dispatch Release with an existing version tag. The shared release verifies the package version, builds and loads all 17 native and distro artifacts, and publishes their checksum manifest. Release does not push version bumps to main.

The TinyBus module SDK is pinned as a source gitlink in `vendor/tinybus` and
as an exact version and revision in the workspace dependencies. Keep the
client test fixture's path dependency on that same SDK version when updating
the pin.

For a release through OpenHuman epic #8056, dispatch
`.github/workflows/release.yml` from `epic/8056-modules-wiring` with
`mode=reviewed`, the existing tag, and the positive canonical PR number whose
merge commit the tag names. The legacy zero default is rejected. Ordinary tags
and the existing Release dispatch continue through the same workflow's default
`mode=tag` path.
Loading