Skip to content

Cloud Groups: bind local PersonaBots and verify two-Host UAT collaboration #2155

Closed

Description

@DoodleBears

Parent: BotHarness/tob#5
Depends on the public cloud protocol in BotHarness/tob#24 and mobile #2154 (stacked, unmerged).

Observable behavior

The local Human imports one trusted channel Agent credential, explicitly binds it to a PersonaBot in the existing Apps surface, and sees cloud-origin messages and correlated replies through the existing Messaging owner. The same configuration and observations are available through deepseekbot CLI. Continue into the bounded health-check forwarding path on two isolated local Hosts using Cloudflare UAT.

Boundaries

  • Cloud service TOB is distinct from the protected local steward named Tob.
  • Native Credentials Provider stores secret values; BotHarness Operational Database stores public connection metadata, local policy and checkpoints. No second source-message or Session store.
  • Messaging owns external Source Events, placement, Admission and Outbox. Cloud Human is bridged, never authenticated local Human. External Agent is not a local PersonaBot.
  • Only explicit bindings and selected cloud channels are imported. No local private chats, Memory, Session or files automatically upload.
  • Trusted instance identity is checked before credential use. Configuration drift, revocation, inactive membership and unknown actors fail closed.
  • Checkpoints never advance before durable source admission; replay remains idempotent. Sends use the durable Outbox operation identity.
  • Only a bounded fixed check/forward operation is executable; preserve original Human/capability/deadline and one-hop protocol. Local operator allow-lists and target grants remain independent from cloud membership. No Workspace Grant, native approval or private-input bypass.
  • Actual DSH Tool and no-model CLI use the same owner. Agent result text does not recursively trigger another Agent.

Verification

  • CLI import/list/remove and explicit PersonaBot binding; existing/new desktop control through the same Host owner.
  • Focused provider/credential lifecycle, source provenance, replay and Outbox tests.
  • Two independently launched Profiles/Hosts with separate Bot identities, credentials, operational databases and Session logs; all inter-Host traffic through actual Cloudflare UAT.
  • Mobile-origin fixed request → real model A uses bounded forwarding → B checks original Human/local policy → same cloud channel result. Correlate public cloud sequence, local Source Event, Tool call and durable outcome.
  • Reconnect/replay does not execute completed work; denial and loop boundaries observed. Final c183a2d evidence adds live original-Human removal, target removal, second-hop/self-forward and execute-after-forward refusal; authorized completed replay adds no execution or messages.
  • Public-safe screenshots/recording, exact runtime heads, CI and remaining native/Human gates on Draft PR.

UAT only, no Prod, no merges. The Human has authorized autonomous implementation/testing and two isolated local Hosts. Shared native/Host resource coordination remains required; no resource is reserved by this issue alone.

Current UAT evidence — 2026-10-18

Draft #2157, evidence head d90f28b. Mobile JS247a727b8 / Host runtimef02c2423b / cloud3eeed5b. Actual mobile UI → native model A forward → B execute → mobile visible result (seq16/17/18, A0/B1). Earlier both-Host restart replay kept the same child and added no execution/messages. Source CI39095884899 passed. English screenshots and two recordings are published.

Independent synthetic staging session refresh/cold restart/logout and A/B CLI isolation passed. Hosted AuthKit/PKCE was not re-proved in this run. Local policies restored; own Metro/driver stopped; shared lane released. Retained first failures and cleanup evidence are in the PR.

The replay/denial checklist remains open for broader real-runtime revocation/loop verification; source/protocol assertions are not substituted for every Host runtime case. Android/physical-device/Human QA, WebSocket and organization-wide Agent membership remain separately tracked. No merge or Prod.

Merge outcome — 2026-10-18

Human authorized merge and closure of completed slices. PR #2157 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

  1. DoodleBears commented on Oct 18, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: Codex
    • Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9 (not a DSH Session)
    • Issue scope: trusted TOB channel credential → explicit local PersonaBot binding → existing Messaging source/admission/outbox; then bounded work forwarding on two independently owned Profiles. API/CLI and desktop verification stay together.
    • Branch: codex/2155-cloud-host-binding
    • Started: 2026-10-18 UTC
    • State: active

    No other claim or overlapping Host implementation found. Builds on the unmerged cloud/mobile stack. UAT only, no Prod or merge. No Simulator/Host window is reserved yet; native runtime evidence is pending.

  2. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 18, 2026
  3. DoodleBears commented on Oct 18, 2026

    @DoodleBears
    ContributorAuthor

    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.

  4. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:fullstackEnd-to-end Host and Client implementationscope:tracerHuman-testable implementation slice

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions