Skip to content

Slice 3b.1: ClawMemory operator UX (inspect CLI + Headlamp panel) - #268

Merged
Pal Lakatos-Toth (pallakatos) merged 1 commit into
devfrom
slice-3b-1-clawmemory-inspect-headlamp
May 13, 2026
Merged

Pal Lakatos-Toth (pallakatos) merged 1 commit into
devfrom
slice-3b-1-clawmemory-inspect-headlamp

Conversation

@pallakatos

Copy link
Copy Markdown
Collaborator

Summary

First operator-facing slice on top of the Slice 3a echo loop. Two thin surfaces, both pure consumers of fields the controller already writes:

  1. azureclaw inspect <sandbox> — POLICY_KIND_LABEL now maps the wire kind Memory (per Slice 3a PolicyKind::Memory::as_str()) to the user-facing display label ClawMemory. The pre-existing mapping used the stale planning name MemoryStore, which never matched anything the router actually emitted, so ClawMemory entries fell through to the raw wire kind in the tree. The test now asserts the post-Slice-3a wire kinds.

  2. Headlamp RouterPolicyStatusPanel — extends from toolpolicies + inferencepolicies to also include clawmemories. Reads the compiledDigest + loadedDigest fields stamped in Slice 3a + the Ready condition's reason. Zero new API traffic.

Verification

  • cli/: 14 inspect tests pass, tsc --noEmit clean, oxlint clean (warnings pre-existing).
  • tools/headlamp-plugin/: headlamp-plugin build clean (19 kB main.js).

Out of scope (still deferred to Slice 3b/3c)

Foundry Memory Store auto-provision, AuthMisconfigured 403, no-inherit on sub-agent spawn, signed bundleRef, MCP foundry.memory.* rewire.

Co-authored-by: Copilot

Operator-facing surface for the §3 echo loop closed in Slice 3a.

* `azureclaw inspect <sandbox>`: `POLICY_KIND_LABEL` now maps the
  wire kind `Memory` (emitted by inference-router's
  `PolicyKind::Memory::as_str()`) to the user-facing display label
  `ClawMemory`. The previous mapping used the stale planning name
  `MemoryStore`, which never matched anything the router actually
  emits — ClawMemory entries fell through to the raw wire kind. Test
  in `inspect.test.ts` now asserts the post-Slice-3a wire kinds and
  the `Memory → ClawMemory` display.

* Headlamp `RouterPolicyStatusPanel` now renders for
  `clawmemories` (in addition to `toolpolicies` and
  `inferencepolicies`). Uses the same `compiledDigest` /
  `loadedDigest` fields the Slice 3a controller writes. No new API
  traffic, no admin-token plumbing — pure read of fields already
  served by the kube-apiserver.

Both producers (controller status + Headlamp + kubectl) and the
data-plane view (CLI inspect via router /internal/policy-status) now
agree on the user-facing CRD name.

cli typecheck + 14 inspect tests + lint clean (warnings pre-existing).
Headlamp `headlamp-plugin build` clean.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pallakatos
Pal Lakatos-Toth (pallakatos) deleted the slice-3b-1-clawmemory-inspect-headlamp branch May 13, 2026 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant