Repository navigation
Integrate TOB mobile collaboration and two-Host Agent work - #2157
Conversation
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2101 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2120 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Preserve cloud and model settings translations. Issue: #2120 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2120 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2120 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Refs #2120 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Refs #2120 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Refs #2120 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Refs #2120 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2130 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2130 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2130 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2130 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2130 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Refs #2130; claim issuecomment-6241844036
Issue: #2137 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2137 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2155 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
|
Important Review skippedToo many files! This PR contains 124 files, which is 24 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configuration
⛔ Files ignored due to path filters: 184
📒 Files selected for processing: 124
You can disable this status message by setting the
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 |
Refs #2155. Work claim: #2155 (comment)
Refs #2155. Work claim: #2155 (comment)
Issue: #2155 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2155 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
Issue: #2155 Agent-Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
|
Connection gate verified by
Detailed proof and limits. Local HTML explanation was refreshed for this head but is not a reviewer-accessible hosted artifact. Next: bounded health work owner, shared model-tool/direct-CLI path, original-Human authorization and real A-to-B forwarding. This is not T4 completion. Host-only lane remains assigned for an explicit next-head refreeze. UAT only; Draft/unmerged; no Prod. |
|
Native two-Host UAT work checkpoint: runtime f02c242, evidence/checker head247a727b8ee832f1fd21318b2c0063a1b2f3c53b, unchanged TOB UAT3eeed5b.
Sanitized proof · evidence limits No fresh phone run or work-result screenshot/video is claimed. WebSocket, organization-wide Agent membership and the fresh phone→two-Host path remain open. UAT only, no Prod, no merge. |
Agent task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9; claim #2155 issuecomment-6244695525. Evidence only; no merge or production change.
|
Assigned UAT phone follow-up passed. Mobile JS English screenshots and two recordings are now in the PR Change outline. CI39095884899 passed at the tested source head; this commit changes evidence only. Synthetic staging authentication does not re-prove Hosted AuthKit/PKCE. Original failures and cleanup checks are retained. Shared Simulator lane released; default-deny policies restored, own driver/Metro stopped, secrets removed after verified revocation. Still Draft/unmerged, UAT only. Goal remains open for organization-wide Agent membership, WebSocket and wider live permission/revocation coverage; Android/physical-device/Human QA are separate. |
Issue #2155 | Work claim | TOB protocol #24
Why the change
Users can sign into TOB from mobile, create workspaces and channels, invite people or Agents, and send a bounded request through two local PersonaBots with durable authorization and retry checks.
Special things to note
f02c2423bpassed. Its CI passed 2,672 affected tests and failed one direct-tool inventory assertion; this head corrects that assumption and requires the dedicatedcloud-workrunner. The focused catalog/owner/checker set passed19; all applicable CI checks passed at 247a727 (run39095884899). This evidence-only head adds an assigned iOS Simulator run and recordings; Android and Human QA are not claimed. Earlier screenshots retain their runtime labels.Change outline
Integration scope and merge strategy
This PR now targets
mainand preserves the reviewed commits of #2103 → #2121 → #2131 → #2138 → #2146 → #2150 → #2152 → #2154 → #2157. Every earlier exact PR head is an ancestor of the unchanged tested headc183a2df0ed891c351da90a7937c81b38ee4597e; current main810ae5398is already integrated. This avoids reintroducing conflicts from the oldest individual branches. Use a merge commit, not squash/rebase. Historical bodies/comments retain the limits of each original run; this authorization does not turn pending platform or identity-event gates into passes.Service counterparts are TOB #17–24. No automatic production deployment: TOB deployment is manual and product publication is tag-triggered; this merge creates no release tag. Native callback/dependency changes from #2103 require a compatible development/release build; this PR does not install or distribute one. Broader T1–T5 and UX #2161 remain tracked separately. Each original PR contains its own UI evidence; below is the final Host/mobile path evidence.
Remote Agent authorship remains distinct from the original Human requester. A current cloud admission guard separates readable context from executable work. Even explicit ordinary-message immediate wake and local-group all-message wake cannot override the original Human allow-list. Source tests also fence another local Bot and policy revocation after admission; live UAT did not start a model turn for plain or unauthorized requests. Replay changes to requester/delegation are source conflicts. Removal disables traffic and aborts pending calls before native secret cleanup; failed cleanup is explicit and retryable. Plain import does not grant shell or work execution.
deepseekbot cloud list|import|policy|removehas authenticated Host parity; private input uses stdin, and removal needs the current revision and--confirm. Existingim-bind/im-statusand Apps UI remain the binding surface.deepseekbot cloud-work <bot> --input-stdininvokes the same native Tool implementation as the model. Its owner derives authority from the canonical Source Event, never caller-supplied Human identity or arbitrary commands.Native two-Host assertions: canonical sequences13–15 are Human parent, A child and B result; A executed0, B1. Both Host restarts retained the same child and zero extra executions/messages. First A attempt executed locally; a fresh request after explicit dispatcher instruction passed forwarding. Retained evidence distinguishes this model-choice result from the passing run. Evidence and limits.
Agent task:
codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9. Refs #2155; not a completion claim.Apps binding — 1440 × 900
Before shows the imported account before binding, not a base-revision comparison. After shows the same binding surviving a preserved-Profile restart on runtime
eee4047bf; evidence-only head 7c7f1e7. No video in this checkpoint. These older binding images remain labeled with their runtime; the permission follow-up is below.UAT evidence and limits: two distinct canonical Agent sends, both cursors through sequence 4, identical Outbox receipts after restart/resend. This proves transport and recovery, not the full A-to-B task.
Permission and interrupted checkpoint — 1440 × 900
Runtime
416ac3bec6f5ce095220feb84f09538ea7e748db, evidence head94b1749c60365a006ce8c8fbf31667c44314d802. The actual Messages panel shows ordinary text, an unauthorized health request and the replayed source once. Its empty task-session pane is corroborated by canonical source/admission counts and the unchanged model turn, not accepted as standalone execution proof. Initial sidebar-preview matches were rejected during visual inspection; the corrected journey explicitly opens Messages and waits for the group composer.Permission/removal/crash evidence: scoped fault injection retained 1 Source Event and 1 Inbox admission while cursor advanced 8 → 9 after restart; local removal deleted native credentials and stopped delivery, then reimport reset work policy and caught up. No bounded work was executed in this gate. Full evidence limits.
Phone → native Host A → native Host B — 402 × 874
Actual UAT Simulator UI at mobile JS
247a727b8, installed native inputs494a20f1e, Host runtimef02c2423b, unchanged cloud3eeed5b. Before is the same feature before this request, not a base-revision screenshot. After shows messages16–18: Human request, A forward, B completion. A executed0; B1. No CLI work-request injection.Post-submit recording · Result reload and scroll recording · Assertions · Retained failures and limits.
Independent synthetic staging authentication: UI refresh rotated credentials; cold restart retained identity/session; phone logout revoked exactly its session, rejected latest refresh, and left both CLI sessions valid. This is not a new Hosted AuthKit/PKCE qualification. Host policies restored, driver/own Metro stopped, QA lane released; no WorkOS setting, Prod or merge change.
Completed-request permission fences: actual Host Tool/CLI refused removed original-Human authority, removed forward target, a second hop, self-forward and execute-after-forward. Authorized B replay added0 executions; cloud stayed at18. Policies restored. This does not cover revocation racing a new effect or remote credential revocation.