# OpenClaw Attach & Adopt — structural proof preflight ## Product surface and direction - Surface: operational product UI. - Visual authority: the existing authenticated Nexus dashboard and `docs/NEXUS_DESIGN_SYSTEM.md`. - Concept sentence: Nexus exposes one calm, evidence-bound operator path from discovering an OpenClaw Gateway to inspecting it read-only and deliberately enabling management. - Entry mode: `task-first`. - Product-surface restraint: setup, conflict, failure, and destructive states use plain glass surfaces and semantic status color; the blue-violet gradient remains reserved for the active step and primary action. - Imagery: not applicable. Diagrams, photographs, or generated media would not improve this trust-sensitive operational task. ## Bounded first journeys ### Gateway setup 1. Entry: owner opens Settings and sees the current setup state. 2. Primary action: discover bounded candidates or enter an explicit endpoint. 3. Proof: probe shows endpoint, transport trust, version, protocol, and capability status without changing OpenClaw. 4. Commit: attach requests read-only pairing; adopt stores only the connection profile and inventory fingerprint. 5. Recovery: failed probe, pairing-required, incompatible client identity, version mismatch, and disconnect each keep a local recovery action. 6. Privilege change: management scope elevation is a separate owner action. ### Agent configuration 1. Entry: select a live file returned by OpenClaw. 2. Primary action: edit an allowed bootstrap file. 3. Proof: visible saved hash and current file metadata. 4. Conflict: a stale expected hash blocks the write and offers reload. 5. Success: Nexus reports only verified read-back, not unproven hot reload. 6. Custom workspace documents remain visibly read-only. ### Cron management 1. Entry: inspect a real OpenClaw job and its current resource hash. 2. Primary action: create, edit, enable/disable, run, or delete. 3. Proof: mutations show queued/committed state and refreshed Gateway data. 4. Recovery: hash conflict reloads the current job; failed or uncertain operations never claim success. 5. High-risk command/on-exit payloads stay unavailable unless local policy is explicitly enabled. ## Section grammar | Surface section | Role | Narrow transformation | State responsibility | | --- | --- | --- | --- | | Setup progress | Orient | Horizontal steps become a concise ordered list | Current step, completed steps, blocked reason | | Candidate/probe panel | Act | Controls stack in semantic order | Idle, loading, empty, invalid, probe failure | | Trust evidence | Prove | Definition list remains in source order | Endpoint, TLS pin, version, protocol, scopes | | Inventory | Prove | Counts become a two-column grid | Fresh, stale, partial, unavailable | | Management gate | Act | Confirmation follows consequences | Read-only, pairing, enabled, forbidden | | Agent file navigation | Orient/Act | Wrapping tabs with current-file context | Loading, missing, readonly, dirty | | Agent editor | Act/Recover | Header actions stack above editor | Saving, verified, conflict, error | | Cron job list/detail | Compare/Act | List precedes selected detail | Loading, empty, disabled, stale, error | | Mutation dialogs | Act/Recover | One-column consequence-first layout | Pending, failed, committed, focus return | ## State and copy truth table | State | Visible fact | Allowed action | Forbidden claim | Recovery/focus | | --- | --- | --- | --- | --- | | Unconfigured | No active OpenClaw profile | Discover, enter endpoint | Connected/imported | Candidate action | | Probing | Endpoint is being inspected read-only | Cancel/await | Paired/adopted | Probe status | | Client identity blocked | OpenClaw lacks an approved Nexus identity | Review requirement | Gateway failure or bad secret | Compatibility explanation | | Pairing required | Exact current request ID | Verify after external approval | Approved/connected | Verify button | | Inspectable | Read-only inventory is current | Adopt | Management enabled | Adopt button | | Adopted read-only | OpenClaw is authoritative; writes blocked | Request management | Editable | Management action | | Scope upgrade pending | Wider scopes require approval | Verify | Admin granted | Pairing request | | Management enabled | Local gate and Gateway scopes both allow mutation | Supported mutations | Universal admin capability | Relevant first action | | Stale agent file | Current Gateway hash differs | Reload | Saved/overwritten | Reload file | | Cron run queued | OpenClaw returned a run ID | Open Run Control | Executed successfully | Run detail | | Mutation uncertain | Terminal outcome is not known | Refresh/investigate | Retried or successful | Recovery action | ## Responsive and accessibility proof targets - Required widths: 375, 768, 1024, 1440, and 1920 CSS pixels. - First actions and dialog actions remain fully visible with the authenticated 62px topbar and overlay sidebar contract. - All dialogs use semantic controls, initial focus, Escape, focus containment, and focus restoration. - Status changes use `role=status` or `aria-live`; failures use `role=alert`. - No trust-bearing endpoint, fingerprint, job ID, run ID, or hash is truncated without a full accessible value. - Long Gateway errors, IDs, German labels, and delivery destinations wrap without document-level horizontal overflow. ## Proof boundary Automated tests and a controlled mock can establish contract and UI behavior. Only a separately authorized read-only live check against Bao's Gateway can establish inventory parity. Live mutation, pairing approval, OpenClaw patching, deployment, and any access to Maxi-owned resources are outside this implementation checkpoint.