CedarCopilot wants to merge 14 commits into staging from tool-surface/master-agent-families
Live on prod, no production signal yet
Strict CloudWatch fallback found 2 prod failure log lines for [run-chat-agent-sdk] query() failed (Claude Code process aborted by user) in the last 24h while checking /uiconfigtool.ts, uiconfigtool, chatatoms, reasoningeffortpicker, agentconnectionslice.
Strict CloudWatch fallback found 10 prod failure log lines for [backfillSlackChannelHistory] Backfill failed (Superglue workflow failed: fetch failed), but this domain-wide failure family is not tied to this intent.
Strict CloudWatch fallback found 1 recent prod failure log lines for [UpdateExternalCrmWorkflow] Driver update failed (No valid values in \), but the same failure had 1 log lines in the comparable pre-deploy baseline. Libra is not blaming this PR intent without a post-deploy.
Strict CloudWatch fallback saw 10,160 success-shaped log lines matching email, emails, gmail, mail, inbox, but no tied operation was present, so Libra is not calling this working.
Libra has verdicts on 0 of 4 tracked behaviors on prod; 4 are still being checked. Libra has 1 low-confidence degraded verdict it is still confirming. Libra checks hourly for 3 days after each deploy.
Give the Mastra chat agents (the flag-OFF "Master" path) the same consolidated Tool Families the external MCP server and the SDK harness already use , instead of the flat granular skill tools , behind an OFF-by-default feature flag (cedar-master-agent-families). Design doc: docs/design/master-agent-tool-families-migration.md (in this PR).
The families are thin facades over the exact same granular tools the agent already runs, so this is a re-addressing at the registration/prompt layer, not a re-implementation. getAllSkillTools() and every granular tool are untouched, so background automation and orchestrator/analyzer subagents keep running on the original surface until a full migration.
getAllSkillTools() calls / direct imports / getPipelineAgentTools()), and none reuse the chatAgent instance.delegateToTool):
chat-context (manage / resolve) , in-app onlydelegate (subagent / code) , in-app onlyui-config.configure-overview , generalizes the former configure-strategist onto ui-config (it's a view/layout catalog, not an agent tool)IN_APP_ORCHESTRATION_FAMILIES + buildMasterFamilyToolset(); load-skill stays a constructor tool; list-aops dropped (→ config-read read-playbook mode:"list", verified field-parity).mastra-families prompt surface + selectChatAgent(); family agent variants registered in the Mastra instance for telemetry + memory parity.toLegacyToolName shim at the two emit sites, so family tool-call cards render as the legacy flat names.scope-map: ui-config becomes an action-override family (configure-overview → playbook:write).pnpm --filter @zero/server run types → 0 errorspnpm deps:check → no violations (1518 modules)vitest: new master-surface.test.ts + updated scope-map.test.ts → 104 passed; external MCP schema tests (server + tool-inputschema-size + tool-description-length) → 65 passed/thermo-review on the diff , no blocking findings; one gap (family agents missing Mastra-instance registration) found and fixed in-branch.The mastra-families prompt references granular tool names that are family actions on this surface (same accepted pattern the shipped harness uses; the model bridges via tool descriptions). Keep the flag OFF for real traffic until playbook-instruction-eval confirms fire-rate parity (drafting, opp-creation, subagent spawn, field updates) and a Slack smoke test passes.
configure-overview rides the shared ui-config family, so it's also reachable on the external MCP surface, adding a nested discriminatedUnion (ops) to that schema. Conversion + size tests pass, but the claude.ai connector's runtime handling of the nested anyOf isn't verified here. If we'd rather not expand the external surface, configure-overview can move to the in-app-only set , flagged in the design doc.
🤖 Generated with Claude Code
This PR flag-gates a consolidated family-tool surface for Mastra chat agents and aligns chat entrypoints, prompts, telemetry registration, and legacy tool-card naming with that surface. The load-skill translation remains incomplete for several cedar-configuration capabilities.
Libra has not measured any production surfaces for this change yet.