Repository navigation
Conversation
Add a fixture that hides the conditional stream append capability on the document port and a test asserting that append still succeeds when the stream port advertises it, so capability checks are verified to consult the stream port rather than the document port. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
The append preflight validated both ValidatedBatch and ConditionalStreamAppend against the document store, so a backend whose stream store supports conditional appends could be rejected. Each capability is now checked against the store that provides it, with a separate error message for each. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Tiny Sweeper reviewReviewed head: Verdict: Ready for maintainer review · Priority: none Diagnostics and supporting detailsFull summaryPull request purpose (title): fix(session): check conditional append capability on streams. The pull request fixes a capability-routing bug in conversation append: the `ValidatedBatch` check stays on the document port while `ConditionalStreamAppend` is now read from the stream port, which is the port that actually owns and implements that capability. This matters because SQLite advertises conditional append on its stream store, so the previous document-port check incorrectly rejected real host conversations. Review snapshot
Completeness: Complete What changedAppend admission in `crates/tinyagents-session/src/threads/driver/append.rs` no longer iterates a combined capability list against the document port. It validates `ValidatedBatch` via `self.docs.capabilities()` and separately validates `ConditionalStreamAppend` via `self.streams.capabilities()`, each with its own scoped error message. Test fixtures in `crates/tinyagents-session/src/threads/driver_append_fixtures.rs` gain a `hide_conditional_stream_append` flag on the `Documents` wrapper so that the capability can be masked on the document port only, plus a new `hide_document_conditional_stream_append` helper that builds a store whose docs wrapper hides the bit and whose streams are unchanged. A new regression test in `crates/tinyagents-session/src/threads/driver_append_tests.rs` asserts that append still succeeds when the document port lacks the capability but the stream port advertises it. Features
TestsNo supported feature-to-test mapping was produced. Test execution is not inferred. FindingsNo active actionable findings. Before mergeNone. Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
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. |
What
Conversation append validates two capabilities from their owning storage ports:
ValidatedBatchon documents andConditionalStreamAppendon streams. SQLiteadvertises conditional append on its stream store, so checking it on documents
incorrectly rejects real host conversations.
The regression test masks
ConditionalStreamAppendonly on the document portwhile leaving it available on streams, matching the production port split.
Refs tinyhumansai/openhuman#7964.
Validation
cargo test -p tinyagents-session: 507 passed, 0 failed; doctest passedcargo test -p tinyagents-session threads::driver::append_tests: 19 passedcargo clippy -p tinyagents-session --all-targets -- -D warningscargo fmt --all -- --checkSummary by CodeRabbit