Follow-up to ADR-0063 (#2164) — the mechanical landing of the two-shell (ask/build) + skills-only model. The ask id is already canonical, but code/files still speak 'data-chat', which is the physical source of the id≠name ambiguity.
Naming cleanup (kills the id≠name drift)
Skill → shell affinity (the one new contract)
Tier-aware routing
Withdraw the tenant-agent surface (ADR-0040 §3)
All independently shippable; none changes a public id. See docs/adr/0063-two-kernel-agents-skills-are-the-extension-primitive.md.
Follow-up to ADR-0063 (#2164) — the mechanical landing of the two-shell (
ask/build) + skills-only model. Theaskid is already canonical, but code/files still speak 'data-chat', which is the physical source of the id≠name ambiguity.Naming cleanup (kills the id≠name drift)
packages/services/service-ai/src/agents/data-chat-agent.ts→ask-agent.ts; updateagents/index.tsre-exports.DEFAULT_DATA_AGENT_NAME→ASK_AGENT_NAME(retainLEGACY_DATA_AGENT_NAME = 'data_chat'as the alias constant).askid. Keepdata_chat/metadata_assistantonly in the alias table, never as vocabulary.Skill → shell affinity (the one new contract)
surface: 'ask' | 'build' | 'both'to the skill schema in@objectstack/spec.data_explorer/actions_executor→ask;metadata_authoring/solution_design→build.Tier-aware routing
askpresent) abuild-intent turn degrades gracefully ('authoring needs the cloud Build assistant') instead of dead-ending.surface:'build'skills are inert on OSS (intentional tiering, not a bug).Withdraw the tenant-agent surface (ADR-0040 §3)
app.defaultAgent→ tenant-authored-agent assumptions in../objectui/ Studio.*.agent.tsas a third-party authoring surface (keep it internal to platform-owned shells/subagents).All independently shippable; none changes a public id. See
docs/adr/0063-two-kernel-agents-skills-are-the-extension-primitive.md.