← Ledger


Date: 2026-07-08 Status: Accepted

Context

A frontend/UX audit of the Rocky console (rocky.erid.tech) surfaced four operator-facing complaints:

  1. The left-nav taxonomy is confusing (13 items grouped Instrument / Observe / Configure with subsystem codes SS-04, SS-07, HATCH, AGENT, etc. rendered as mono chips next to each label).
  2. Repo Sniffer occupies a top-level nav slot, though it is a single-purpose utility.
  3. The /ralph page renders NO DATA on a workspace with zero submitted runs, with no visible call to action.
  4. The /agents page is a projection-only surface that empty-states with "Go to workspace →", giving the operator no direct action.

Four parallel analysis streams (primary IA proposal, adversarial alternative, framing critic, factual grounder) converged on a subtler diagnosis than "the sidebar is cluttered":

Before any IA edit, the persona conflation must be resolved. Design work downstream of this ADR (nav labels, empty-state CTAs, chip visibility, workspace-vs-fleet framing) all depend on the answer.

Decision

Rocky's operator is a single persona: the workspace operator — a developer or small team running one or more project workspaces of their own.

The console is designed for this persona and only this persona. Every UI edit, empty-state, and nav decision optimizes for the operator's task loop:

submit a workspace-scoped RALPH run → observe outcome on a CAIRNET-backed dashboard → provision knowledge infrastructure — without leaving the workspace context.

(Verbatim from docs/north-star/intent.md:23.)

What this means concretely

  1. Subsystem codes (SS-04, SS-07, HATCH, AGENT, REQ, INTEL) are engineering topology and MUST NOT appear on operator-facing chrome. They stay in:
    • URLs where useful for debuggability
    • decision docs, CLAUDE.md files, and AGENTS.xml
    • a keyboard-triggered dev overlay (?debug=1 or a shortcut) for internal work
    • never in nav labels, page headers, or breadcrumbs seen by a non-devarno operator
  2. The workspace is the primary object. Cross-workspace views are secondary. Any surface without a workspace context is either (a) an admin surface (bound to role, not nav), (b) a global settings surface, or (c) a bug.
  3. Fleet-scale ambition is capped. The apparent pipeline of "many more integrations" (KAHN Scope, Polar, KILN, LORE, CAIRNET, HATCH federation) is not new operator-facing nav slots. It is either:
    • a producer contract (Rocky emits; other product owns the surface — e.g. KAHN Scope lives at kahn-hq)
    • a consumer contract (Rocky reads; the surface stays workspace-scoped — e.g. KILN per ADR 0011)
    • a driver / backend concern (no UI, e.g. HEARTH DevarnoCloud driver Phase 6b) Rocky's operator sidebar SHOULD NOT grow past its current cardinality; new subsystems must find a home inside an existing surface or land as a workspace-tab.
  4. The "operator" is neither the devarno-internal engineer nor the multi-tenant SaaS customer. Both those personas are served elsewhere: devarno-internal uses the raw repo + decision ledger; multi-tenant billing/entitlement lives in Polar's own surface + Rocky's admin routes (role-gated, not persona-first).

What this ADR explicitly rejects

Consequences

Immediate (Phase 8-adjacent, no route changes):

Long-term (post-Phase 8):

References