Implementation tracking for ADR-0063 (two agents bound by surface) and ADR-0064 (tool scoping). Decision PR: #2167. Landscape: docs/audits/2026-06-ask-build-agent-development-assessment.md.
Split the personas (reverse ADR-0040 unified assistant)
Naming (finish both sides of the rename)
Skill ↔ agent affinity (ADR-0063 §3)
Tool scoping (ADR-0064)
Withdraw tenant custom agents (ADR-0063 §2)
Deferred
- D4 deployment guardrail-floor schema — defer (no tenant agent to floor once the above lands).
Implementation tracking for ADR-0063 (two agents bound by surface) and ADR-0064 (tool scoping). Decision PR: #2167. Landscape:
docs/audits/2026-06-ask-build-agent-development-assessment.md.Split the personas (reverse ADR-0040 unified assistant)
ask-carries-all-skills definition + per-turn intent preamble (service-ai/src/agents/data-chat-agent.ts);askcarries onlysurface:'ask'skills.buildRegisterActivedegradation shim (service-ai/src/agent-runtime.ts:179) — no longer needed once surfaces are separate.../objectui(data console →ask, Studio →build); keep the picker hidden/builder-only.Naming (finish both sides of the rename)
service-ai/src/agents/data-chat-agent.ts→ask-agent.ts;DEFAULT_DATA_AGENT_NAME→ASK_AGENT_NAME(keepLEGACY_DATA_AGENT_NAME='data_chat').../cloud/service-ai-studio: makebuildthe canonical id (currently stillmetadata_assistant); registermetadata_assistantas the permanent alias.ask/build; aliases live only in the alias table.Skill ↔ agent affinity (ADR-0063 §3)
surface: 'ask' | 'build' | 'both'toSkillSchema(spec/src/ai/skill.zod.ts); backfill the four built-in skills.Tool scoping (ADR-0064)
actions_executorempty-array + fall-through hack).surface:'both'schema_readerskill owningdescribe_object/list_objects/query_data; stop dual-listing by comment.resolveActiveSkills.tools(ask)contains nocreate_*/*_metadata/blueprint tools (cloud + OSS); authoring tools present only underbuild.Withdraw tenant custom agents (ADR-0063 §2)
spec/src/kernel/metadata-plugin.zod.ts: setagenttypeallowRuntimeCreate:false, allowOrgOverride:false.app.defaultAgentcustom-agent guidance in the cloud plugin.Deferred