Repository navigation
Orb bridges: PycoClaw adapter (tinyagentos/orb/bridges/pycoclaw.py, spec s5 row) - #3973
Conversation
### Added
- Orb bridge adapter for PycoClaw (tinyagentos/orb/bridges/pycoclaw.py): pure adapter that surfaces webrepl URLs (https://{host}/webrepl) for orbs whose app is pycoclaw, discovered via orbs_running/orb_host/target, with top-level instruction "No Orb running PycoClaw found on the LAN." when there are no targets
RED-PROOF:
```text
FAILED tests/orb/test_bridge_pycoclaw.py::test_pycoclaw_evaluate_one_orb_with_addresses
FAILED tests/orb/test_bridge_pycoclaw.py::test_pycoclaw_evaluate_orb_no_addresses_falls_back_to_name_local
FAILED tests/orb/test_bridge_pycoclaw.py::test_pycoclaw_evaluate_ignores_other_app_ids
FAILED tests/orb/test_bridge_pycoclaw.py::test_pycoclaw_evaluate_empty_input
FAILED tests/orb/test_bridge_pycoclaw.py::test_pycoclaw_installed_returns_none
FAILED tests/orb/test_bridge_pycoclaw.py::test_pycoclaw_constants - ImportError
FAILED tests/orb/test_bridge_pycoclaw.py::test_pycoclaw_in_adapters - AssertionError: assert 'pycoclaw' in ['mimiclaw']
FAILED tests/orb/test_bridge_pycoclaw.py::test_evaluate_all_includes_pycoclaw_without_error
8 failed, 15 passed in 0.52s
```
23 passed in 0.22s
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Bridge evaluation and validation tinyagentos/orb/bridges/pycoclaw.py, tests/orb/test_bridge_pycoclaw.py, changelog.d/tsk-kxm5xd-orb-bridge-pycoclaw.md |
The adapter selects PycoClaw Orbs and creates WebREPL targets when a host is available. Tests cover host selection, fallback addresses, filtering, empty results, constants, and adapter discovery. The changelog describes the bridge. |
Priority:
Estimated code review effort: 2 (Simple) | ~12 minutes
Change: Feature
Sequence Diagram(s)
sequenceDiagram
participant Bridge as PycoClaw bridge
participant Discovery as orbs_running()
participant Host as orb_host()
participant Target as target()
Bridge->>Discovery: Find running LAN Orbs
Discovery-->>Bridge: Return discovered Orbs
Bridge->>Host: Get host for each matching Orb
Host-->>Bridge: Return host
Bridge->>Target: Build WebREPL target
Target-->>Bridge: Return target
Bridge-->>Bridge: Return BridgeResult with targets and instruction
Possibly related PRs
- jaylfc/taOS#3966: Adds the bridge interfaces and discovery flow used by the PycoClaw adapter.
- jaylfc/taOS#3884: Adds LAN Orb records with the fields consumed by the PycoClaw bridge.
Merge Risk: 
Minimal · up to ddef5
-
The bridge provides the documented WebREPL URLs. No actionable merge-blocking issue remains; merge after normal checks.
Pre-merge checks: 
5
-
Full details: Docstring Coverage
-
Explanation
Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 10 functions across 2 files. (1 skipped: 1 unsupported.)
-
Finishing Touches: 💡 1
-
🛠️ Fix failing CI checks: 💡
-
- Commit to this branch
- Create a new PR
📝 Generate docstrings
-
- Commit to this branch
- Create a new PR
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
|
Lead review (taosc-dev, card tsk-kxm5xd, head fac4a54): PASS. Checked against the card line by line: constants, installed(), instruction strings verbatim, matching rule, pure (no network/subprocess/discovery), only the adapter + its test + the changelog fragment touched. Red-first fence is real and names tests that ship here. All five adapter PRs (#3972 #3973 #3976 #3977 #3978) applied together on origin/dev: The only red check is bot-review-gate (no CodeRabbit artifact on this head yet, CR rate-limited). Merge waits a CR artifact + Jay (tinyagentos/orb/ path). |
CARD TITLE (intent, not commit subject): Orb bridges: PycoClaw adapter (tinyagentos/orb/bridges/pycoclaw.py, spec s5 row)
Autonomous build of board card tsk-kxm5xd.
tsk-kxm5xd: Orb bridges: PycoClaw adapter
Added
RED-PROOF:
23 passed in 0.22s
Files:
changelog.d/tsk-kxm5xd-orb-bridge-pycoclaw.md | 3 +
tests/orb/test_bridge_pycoclaw.py | 111 ++++++++++++++++++++++++++
tinyagentos/orb/bridges/pycoclaw.py | 47 +++++++++++
3 files changed, 161 insertions(+)
In-house review (pre-PR)
in-house-review: PASS (kilo/nvidia/nemotron-3-ultra-550b-a55b:free)
reviewer output
VERDICT: PASS
test_pycoclaw_evaluate_orb_no_addresses_falls_back_to_name_localassertsorb_hostreturns"pyco.local"for an orb with empty addresses — this relies onorb_hostbehavior which is not shown in the diff but is assumed correct per the mimiclaw patternorbs_running/orb_host/target" but the card spec says "orbs_running(lan_orbs, APP_ID)" — minor wording difference onlyIn-house-Review: PASS model=kilo/nvidia/nemotron-3-ultra-550b-a55b:free head=fac4a5464 needs-lead=0
Summary by Gitar
pycoclawadapter surfacing WebREPL URLs for Orbs running PycoClaw on the LANThis will update automatically on new commits.
Summary by CodeRabbit