5.6 KiB
5.6 KiB
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
- Entry: owner opens Settings and sees the current setup state.
- Primary action: discover bounded candidates or enter an explicit endpoint.
- Proof: probe shows endpoint, transport trust, version, protocol, and capability status without changing OpenClaw.
- Commit: attach requests read-only pairing; adopt stores only the connection profile and inventory fingerprint.
- Recovery: failed probe, pairing-required, incompatible client identity, version mismatch, and disconnect each keep a local recovery action.
- Privilege change: management scope elevation is a separate owner action.
Agent configuration
- Entry: select a live file returned by OpenClaw.
- Primary action: edit an allowed bootstrap file.
- Proof: visible saved hash and current file metadata.
- Conflict: a stale expected hash blocks the write and offers reload.
- Success: Nexus reports only verified read-back, not unproven hot reload.
- Custom workspace documents remain visibly read-only.
Cron management
- Entry: inspect a real OpenClaw job and its current resource hash.
- Primary action: create, edit, enable/disable, run, or delete.
- Proof: mutations show queued/committed state and refreshed Gateway data.
- Recovery: hash conflict reloads the current job; failed or uncertain operations never claim success.
- 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=statusoraria-live; failures userole=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.