Platform · Building
Shelf Agents (Corpus Agent M0 spine: shelf + partitioned agents + per-agent keys)
The Corpus Agent program's CA-A spine (#1 program): a per-tenant Shelf (free bookmarks stored; owned/subscription DERIVED fresh from platform entitlements at read so labels never go stale) and named Agents, each reading ONLY its own material allowlist (key → agent → allowlist; two agents with disjoint material are structurally incapable of cross-over). Per-agent sak_ keys (sha256-at-rest, plaintext shown once, revocation fails auth closed) resolve at the MCP gateway to a new shelf-agent principal {agentId, tenantId, materialIds, shelf.* + entitled tool scopes}. Composing an agent with a bookmarked-but-locked item is refused with a typed LockedMaterialError naming the item + its unlock route — the refusal IS the upsell.
- Cluster
- Platform
- Type
- service
- Status
- Building
- Used by
- human:buyer, agent:mcp, peopleanalyst-site, bicycle-guide
Maturity evidence
- Functioning
- 10/10 node:test (src/lib/shelf-agents/tests/shelf-agents.test.ts) incl. the load-bearing `partition` test (two agents, one tenant, disjoint materials → disjoint materialIds) and the fail-closed key lifecycle. Migration 0181_ca_a_shelf_agents generated but NOT yet applied; live gateway e2e is the CA integration step.
- Valuable
- Honest gate: no buyer can use this until CA-B retrieval + CA-C surfaces land and the guide SKU line declares platformServices ["guide:<slug>"]. Flips at launch, not before.
- Understood
- Program docs (docs/programs/CORPUS-AGENT-UX-AND-BUILD.md + PAID-CORPUS-AGENT-PLAN.md) + brandscript (docs/POSITIONING/CORPUS-AGENT-BRANDSCRIPT.md) + this Layer-1 entry.
- Integrated
- MCP gateway auth branch (resolveMcpPrincipal) + shelf.* tools registered + REST /api/shelf* wired. Pending: CA-B retrieval hard-filter consuming materialIds; CA-C UX; commerce guide SKUs; Clerk→tenant binding for the browser path.
How to use it
- REST
- /api/shelf
- MCP
- shelf.list
- Data
- src/lib/shelf-agents/
Other Platform capabilities
- Comp audit self-serve — CSV intake, free validate, commerce-gated watermarked run (HO-155)
- Gift pass — gifted ownership on the entitlement store (magic-link claim)
- JobFrame canonical Job Family × Focus × Level taxonomy + classifier
- SMB pay-system wizard — chocolate/vanilla over the pay-system catalog
- Support channel — portfolio-wide /support form → ticket store → operator email
- Ask-your-data — generalizable NL→rank→tier→cite spoke (HO-378)
- Diagnostic acquisition — next-best-ask over a live hypothesis set
- Executive-Priorities Elicitation Instruments (static catalog)
Capability detail sourced from the People Analytics Toolbox capability feed (source of truth), snapshot retrieved 2026-07-23.