Repository navigation
Description
Part of the explicitly authorized autonomous UAT collaboration goal and TOB T2, stacked after #2138. UAT only; no Prod or merge.
Observable slice: owner A sends a member invitation from the selected cloud workspace; verified B sees and accepts the invitation, selects that same organization, lists its channels and exchanges permitted messages. Formal TOB CLI exposes the same operations. No organization membership is implied by a later direct-channel guest feature.
Acceptance:
- Owner send/list/revoke and recipient inbox/accept through public routes; no server keys or invitation tokens in mobile storage/output.
- Stable persisted issuance operation survives uncertain responses/restart; retries cannot silently create another email or grant owner/admin.
- Current verified recipient and organization ownership are checked by the service, including wrong user, non-owner, expired/revoked and duplicate cases.
- B sees organization channels after acceptance, but cannot create channels, edit the organization or invite others as member; pre-join text remains hidden.
- Mobile uses existing trusted config/auth/client and native UI primitives, with loading/error/empty states, reachable keyboard actions and scalable text.
- Focused client/source checks, formal CLI and real UAT/native evidence distinguish passed gates from pending Android/Human checks. Keep broader T1/T2 open.
Direct-channel guests, Agent credentials, WebSocket and two-Host interaction follow as separate slices. The requested group-channel invitation meaning remains pending clarification.
Merge outcome — 2026-10-18
Human authorized merge and closure of completed slices. PR #2146 was integrated with its original commits through #2157 into main. This issue’s bounded implementation and recorded UAT path are complete. Source, Simulator, real UAT and historical Human-assisted browser evidence retain their published boundaries; no new physical-device/Android/Human acceptance is implied. Broader identity-event revocation, WebSocket, org-wide Agents and T1–T5 acceptance remain in BotHarness/tob#1 and its child tasks. No Prod deployment or release.
Agent task codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9: completed for this bounded slice.
Activity
DoodleBears commentedon Oct 17, 2026
Agent work claim
codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9(not a DSH Session)codex/2145-cloud-invitationsStack on unmerged #2138 and TOB organization-invitation slice. No Prod, merge, broader channel visibility or group-channel bridge semantics. Current goal authorizes implementation and UAT verification; T1/T2 remain open.
docs: resolve cloud-session ADR number collision (#2145)
test(mobile): record native UAT organization invitations (#2145)
docs: correct baseline screenshot provenance (#2145)
DoodleBears commentedon Oct 18, 2026
UAT invitation slice outcome
Task:
codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9— bounded slice handed off for review; larger goal remains active.b6b717d044ff4a787de287c31d2029025bbbb7f9, D1/Org/Channel 4/4/1; current docs head1f07075. Real API/CLI and shared iOS Simulator A→B invitation/acceptance passed.acfbc581b805a0a6b47687b7f5c23c2ca363cfcf; reviewer evidence93a332ab6. B sees the same four channels, cannot see seven pre-join messages, sends message 8 read by owner CLI. Member channel-create/invite/org-update refusals are real server checks. Native revoke leaves no membership; revoked recipient cannot accept.DoodleBears commentedon Oct 18, 2026
Agent work outcome: completed for this bounded UAT slice. Human authorized merge; original commits are integrated through #2157. See the updated issue for exact evidence and remaining parent-task/platform gates. No Prod deployment. Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9.
feat(mobile): invite and accept cloud workspace members