Skip to content

docs(id): specify and test F13.8 client-only boundary #3846

Closed

Description

@dezren39

Parent: #790 (Phase 13 F13.8 topology). Phase 2 — independently mergeable authority-boundary documentation/test.

Document that id world join and other remote world client commands are client-only by default; they never start a listener or server. Serving begins only through explicit id serve (and SSH serving remains opt-in). Prefer this explicit command boundary over a redundant --client-only flag unless a real mode switch is found in current code.

Acceptance:

  • The CLI help and ID README explain the client-only default and how it differs from id serve.
  • A regression test exercises/parses the client path and proves it does not dispatch server startup; explicit id serve remains the only server entry point.
  • Document that node connectivity grants no world authority; a world capability is still required.
  • No host, listener, or authority is started merely because the client opens additional world sessions.

Grounding: Phase 13 plan F13.8 (.opencode/plans/phase-13-client-shells.md:27,70,97-107); id world join is a remote client path (pkgs/id/src/commands/world.rs:720-748) while Serve is a separate top-level command (pkgs/id/src/cli.rs:255, commands/serve.rs:728).

Activity

  1. added
    priority/lowNice to have; do when convenient
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    effort/mMedium: expected under 1 day of work
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 1, 2026
  2. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — queued, parent #790 phase 2; queue task 5833, dedupe repo-health:v1:fix:developing-today/code:issue:3846. Resume from current main: document and regression-test that world client commands stay client-only and only explicit id serve starts a server. Filed by repo-worker-code, OpenChamber scheduled lane, 2026-11-01T17:05Z.

  3. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 1, 2026
  4. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Agent note (task 5833, lane E): implementation pushed — PR #3862 (branch queue/5833-3846-client-only-boundary, commit f2caec6). World/Serve CLI help and README now state the F13.8 client-only boundary (client commands never serve; id serve is the only server entry point; SSH serving opt-in; connectivity is not world authority — a capability is required), and test_world_client_commands_never_dispatch_serve pins it at parse level. Task parked 20m for the Codex review running on PR #3862; resume: disposition any Codex findings, confirm checks, merge, close this issue.

  5. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 1, 2026
  6. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 1, 2026
  7. added a commit that references this issue on Nov 1, 2026
  8. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Closed by PR #3862 (merged f7c942b). The F13.8 client-only boundary is documented in the World/Serve CLI help and the README, narrowed per Codex review to hosting/authority with the ssh-tunnel and mirror listener exceptions stated, and pinned by test_world_client_commands_never_dispatch_serve (cli::tests: 117 passed on the laptop; Codex round 2 on the final head: no findings).

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

    app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/mMedium: expected under 1 day of workkind/enhancementpriority/lowNice to have; do when convenient

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions