Skip to content

Mobile: TOB trusted configuration and WorkOS session slice (T1) #2101

Open

Description

@DoodleBears

Observable path

From DeepSeekBot on a phone with no paired Host, open Cloud services, scan a deployer-verified TOB public configuration, confirm its origin, sign in through WorkOS PKCE, see the initialized administrator, refresh, and sign out of only that cloud session. UAT only.

Parent: BotHarness/tob#2. This is one T1 increment, not closure of T1 or release of T2.

Boundaries

  • Separate cloud connection/session owner from existing Host pairing and credentials.
  • Pin the full imported connection, compare unauthenticated discovery, refuse changed targets before credential transmission; confirm replacement explicitly.
  • System browser, PKCE/state, exact registered development callback, expiring one-use transaction. SecureStore credentials, serialized rotation, failure/restart recovery, local cleanup even if remote logout is unconfirmed.
  • TOB owns discovery and auth API; no mobile server key or custom Human token issuer. API/CLI semantics remain aligned.
  • Phone builds and Human QR/OAuth actions require the shared device lane. Existing native SDK/build state, disk, CI, source tests and runtime evidence remain distinct.

Acceptance

  • Public configuration QR export and mobile import agree with the TOB contract.
  • Native login/callback, verified identity, token refresh, restart, own logout and post-logout refusal pass against UAT.
  • Unknown/changed origin, malformed config, wrong/replayed state, callback expiry, provider failure and concurrent refresh fail safely in focused tests.
  • Existing Host pairing remains usable; cloud operations do not require a Host.
  • Actual native screenshots/Human QA and exact build/commit evidence recorded; Android/phone gaps explicit.

Organization creation, owner/member permissions, identity events/revocation propagation and full cross-client T1 acceptance are subsequent work. No Production deployment.

Activity

  1. DoodleBears commented on Oct 17, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: Codex
    • Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9
    • Issue scope: UAT-only mobile trusted QR import and WorkOS PKCE login, serialized refresh, own-session logout; paired-Host independence. TOB discovery/QR and callback support as needed. Native build/Human QA gates explicit; no organizations, T2 or Prod.
    • Branch: codex/tob-t1-mobile-auth (DeepSeekBot); companion TOB branch to be recorded with its PR.
    • State: active

    Tracks #2101 and BotHarness/tob#2.

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

    @DoodleBears
    ContributorAuthor

    T1 real Hosted AuthKit / native PKCE acceptance — 2026-10-18 JST

    Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9; mobile Draft PR #2103.

    • Real Hosted AuthKit page sent the email OTP; Human entered the accepted retry in Device Hub. The normal native browser/PKCE/state path returned to the App and created a fresh real WorkOS session. No emulator or injected session on this successful path.
    • Native administrator state and real UAT /api/me matched the accepted bootstrap identity and trusted configuration.
    • Refresh rotation, cold restart saved/unverified → revalidation, App logout, exact remote session revocation/latest refresh rejection, independent formal CLI still admitted, second cold restart signed out.
    • Magic Auth restored disabled; registration remains closed. Private checkpoint credentials removed after confirmed revocation. Simulator driver closed/window released. No Prod/deployment/merge.
    • Fully unattended hosted OTP entry remains unqualified: the hidden-input attempt was rejected, and the Human supplied the successful retry directly. Existing emulator browser regression and real API-prepared session automation remain separate passing layers.

    Six inspected screenshots and bounded report; 92-second post-login recording. Credentials/browser callback URLs were not recorded. Evidence commit 459c07d7458f8075ceeec938ab1e28a3eeece44e; product runtime 216963322, retained native source a0b291907, UAT service 1ad3e6605 unchanged. No source retest claimed for this media/docs-only update; prior code/tooling CI39064596308 passed.

    This supersedes earlier “real hosted pending” notes for the successful email/native-PKCE path only. T1 remains open for physical QR and remaining platform/accessibility/native failure acceptance; mobile/CLI organization create/list/switch and owner/member/no-membership rules; retry/reconciliation/identity-event/revocation behavior; deployment/configuration interruption recovery; final review and Human acceptance. T2 and Prod are not released.

    Final exact-head CI: verify39068186933 passed at 459c07d7458f8075ceeec938ab1e28a3eeece44e: all three test shards, lint/format/typecheck/build, mobile iOS/Android exports, docs and isolated Host smoke. No deployment.

  4. DoodleBears commented on Oct 18, 2026

    @DoodleBears
    ContributorAuthor

    PR #2103 is now merged through integration #2157 after Human authorization. Keeping this issue open for the remaining real QR/camera import and explicit platform/Human acceptance boundary; Hosted AuthKit return and session lifecycle already have their recorded native UAT proof. No Prod deployment. Broader identity-event/recovery work remains TOB#2. Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9.

  5. added this to the v2.0 milestone on Oct 24, 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

    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDsfeature:connectTrusted Host connectivity, pairing, routes and revocation

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions