Parent
#579
What to build
Every core contract procedure carries agent metadata that classifies it for the agent catalog, and the generic invoke-any-tool procedure is gone. Outcome: the whole contract classifies cleanly in a test (each procedure resolves to free/ask/deny per the spec table, or is explicitly excluded), and the widget calls procedures directly instead of through the generic dispatcher.
Spec: docs/superpowers/specs/2026-08-22-agent-api-surface-design.md (meta type, classification table). Plan tasks 1 and 4 in docs/superpowers/plans/2026-08-22-agent-api-surface-platform.md.
Acceptance criteria
Blocked by
None — can start immediately.
Parent
#579
What to build
Every core contract procedure carries agent metadata that classifies it for the agent catalog, and the generic invoke-any-tool procedure is gone. Outcome: the whole contract classifies cleanly in a test (each procedure resolves to free/ask/deny per the spec table, or is explicitly excluded), and the widget calls procedures directly instead of through the generic dispatcher.
Spec: docs/superpowers/specs/2026-08-22-agent-api-surface-design.md (meta type, classification table). Plan tasks 1 and 4 in docs/superpowers/plans/2026-08-22-agent-api-surface-platform.md.
Acceptance criteria
Blocked by
None — can start immediately.