Skip to content

Agent surface lane: principal + widget plane credential #581

Description

@omridevk

Parent

#579

What to build

Caller identity becomes a forgery-proof branded principal minted only by boundary adapters, and the human plane is granted by a credential, never by transport: the widget receives a boot-issued plane credential and presents it on every RPC call (per-frame on the websocket transport). A structurally identical plain object is not a principal; absent or wrong credential yields no principal.

Spec: docs/superpowers/specs/2026-08-22-agent-api-surface-design.md (Principal, not transport). Plan tasks 2 and 3.

Acceptance criteria

  • Branded principal: forged plane objects rejected, plane readable, constructors reachable only from boundary adapters
  • Plane credential issued at boot, injected into widget bootstrap config, sent per RPC call, verified constant-time
  • No credential or wrong credential = no human principal
  • Merge-coordinate with the session-scope-enforcement lane on boundary files

Blocked by

None — can start immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentTicket is fully specified and agent-grabbable

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions