[Epic] Agent-driven interaction (chat in PWA + MCP for external clients) #47
Labels
No labels
area:auth
area:ci
area:db
area:infra
area:native
area:pwa
area:service
epic
feature
foundation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
james/carol#47
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Make Carol agent-friendly. A user can hold a text conversation with an agent inside the PWA that reads and modifies their data on confirm, and external coding assistants (Claude Code, opencode, custom MCP clients) can connect to Carol with a per-user token to do the same.
Two surfaces, one shared underlying capability:
Both surfaces share the same tool definitions, the same per-user auth discipline (no agent can ever see another user's data — enforced at the repository layer, not at the tool layer), the same write-confirmation policy, and the same audit trail.
Decisions baked in
Linked tickets
/api/mcp, streamable HTTP, PAT-authed)Cross-epic dependencies
The domain tool surface needs the domain entities to exist. That depends on epics #4 (Career data: Profile, Skills, Education, Jobs, Contracts, Projects) and #5 (Network: Organizations, People, Notes). Tooling and infrastructure tickets (ADRs, PAT, MCP endpoint, chat UI scaffolding) can proceed in parallel with the feature epics; the tool registry fills in entity-by-entity as the repository layers land.
Exit criteria