refactor(channels): consume tinychannels providers - #6339
Conversation
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Tiny Sweeper reviewTiny Sweeper reviewed this change across 6 lane(s) and found 4 active actionable finding(s). Detailed lane evidence and any incomplete work are listed below. State: Changes requested Review snapshot
Completeness: Complete What changedThe review could not produce a supported behavioral summary; inspect the cited changed surface and lane details below. FeaturesNone identified with supported citations. TestsNo supported feature-to-test mapping was produced. Test execution is not inferred. Findings
Resolved this pass
Pending checks: Rust E2E (mock backend), Build Playwright E2E Artifact, E2E (Playwright / web lane), Desktop E2E (full suite, 3 OS) Before merge
How this fits togetherflowchart LR
n0["TelegramApprovalSurfaceSubscriber<br/>changed"]:::changed
n1["build_new_session_response<br/>changed"]:::changed
n2["build_sessions_response<br/>changed"]:::changed
n3["build_status_response<br/>changed"]:::changed
n4["parse_runtime_command<br/>changed<br/>2 findings"]:::flagged
n5["join"]:::impacted
n6["build_remote_command_response"]:::impacted
n7["handle_runtime_command_if_needed"]:::impacted
n8["start_channels_inner"]:::impacted
n9["format"]:::impacted
n10["vec"]:::impacted
n1 -->|calls| n9
n1 -->|calls| n10
n2 -->|calls| n5
n2 -->|calls| n9
n2 -->|calls| n10
n3 -->|calls| n9
n4 -->|calls| n5
n5 -->|calls| n9
n6 -->|calls| n1
n6 -->|calls| n2
n6 -->|calls| n3
n7 -->|calls| n4
n7 -->|calls| n6
n7 -->|calls| n9
n8 -->|uses| n0
n8 -->|calls| n10
classDef changed fill:#0d4429,stroke:#238636,color:#e6edf3
classDef impacted fill:#161b22,stroke:#6e7681,color:#c9d1d9
classDef flagged fill:#5a1e02,stroke:#d93f0b,color:#ffffff
classDef blocking fill:#67060c,stroke:#f85149,color:#ffffff
Agent review detailscritique
security
tests
commits
description
e2e
Evidence and run details
|
|
You have reached your Codex usage limits for security reviews. Please try again later. |
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (26)
Comment |
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update various Rust crate dependencies to their latest compatible versions, including bitflags, clap, syn, and others. Add the new tinychannels-runtime crate as a dependency for openhuman-core, and introduce the synstructure crate as a transitive dependency. These changes ensure the project uses up-to-date library versions and supports the new runtime module. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
The lockfile was updated to match the current dependency tree after adding the `tinychannels-runtime` crate and adjusting several transitive dependency versions, including downgrades for `combine`, `hermit-abi`, `libredox`, `portable-atomic-util`, `proc-macro-crate`, `redox_users`, and `toml`-related crates to resolve version conflicts. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
|
You have reached your Codex usage limits for security reviews. Please try again later. |
There was a problem hiding this comment.
Requesting changes: 1 lane(s) blocking, worst finding is critical.
Fix or reply to the findings below and push. The next review clears this automatically once they are gone — you should not need to dismiss anything by hand.
$0.0277 · 534,314 in / 38,065 out · 14,796 cached (3%) · ladder/vectors, gpt-5.6-luna, deepseek-v4-flash · 1,279 embedded
critique: $0.0130 · 225,047 in / 8,871 out · 4,232 cached (2%) · gpt-5.6-luna, deepseek-v4-flash
security: $0.0121 · 212,455 in / 6,612 out · 7,492 cached (4%) · gpt-5.6-luna
tests: $0.0008 · 28,508 in / 9,449 out · 1,024 cached (4%) · deepseek-v4-flash
description: $0.0006 · 19,146 in / 6,598 out · 1,024 cached (5%) · deepseek-v4-flash
e2e: $0.0007 · 32,369 in / 3,258 out · 1,024 cached (3%) · deepseek-v4-flash
| } | ||
| _ => None, | ||
| } | ||
| parse_portable_runtime_command(channel_name, trimmed).map(ChannelRuntimeCommand::Portable) |
There was a problem hiding this comment.
Cover runtime command parsing changes with an end-to-end test
This now delegates runtime-command parsing unconditionally to the portable tinychannels parser. Previously, non-Telegram/non-Discord channels returned None before parsing, so channels such as Slack could silently ignore /models and /model; the response builders and provider descriptor path also changed. Add an end-to-end test that sends these commands through a real supported channel and verifies the replies, including the behavior for channels that do not support model switching.
Additional security observation
Cover portable runtime command changes with an end-to-end test
[RULE] e2e-uncovered
This removes the previous channel allowlist and delegates runtime-command parsing unconditionally, so channels that previously ignored /models and /model can now respond. The response generation also moved to the shared portable route implementation. Add an end-to-end channel test that sends these commands through a real channel path and asserts the intended replies and channel behavior.
[RULE] e2e-uncovered ·
Summary
Dependency
Validation
cargo +1.96.1 fmt --all -- --checkcargo +1.96.1 test providers::telegram::(152 passed)cargo +1.96.1 test -p tinychannels-runtimecargo +1.96.1 check -p tinychannels-buscargo +1.96.1 check -p tinychannelsKnown validation blocker
ConnectedServerOverview.instructionsAPI drift currently fails the core build.Summary by CodeRabbit
New Features
Reliability