Skip to content

ADR-0063 follow-up: collapse data-chat naming drift + skill→shell affinity + tier-aware routing #2165

Description

@xuyushun441-sys

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)

  • Rename packages/services/service-ai/src/agents/data-chat-agent.tsask-agent.ts; update agents/index.ts re-exports.
  • DEFAULT_DATA_AGENT_NAMEASK_AGENT_NAME (retain LEGACY_DATA_AGENT_NAME = 'data_chat' as the alias constant).
  • Sweep docs/prose: 'data agent' / 'Data Assistant' → 'ask agent' / the ask id. Keep data_chat / metadata_assistant only in the alias table, never as vocabulary.

Skill → shell affinity (the one new contract)

  • Add surface: 'ask' | 'build' | 'both' to the skill schema in @objectstack/spec.
  • Backfill built-ins: data_explorer/actions_executorask; metadata_authoring/solution_designbuild.
  • Routing loads only a shell's affine skills (build shell shouldn't drown in data skills, and vice versa).

Tier-aware routing

  • Per-turn intent routing must not assume both shells exist: on OSS/free (only ask present) a build-intent turn degrades gracefully ('authoring needs the cloud Build assistant') instead of dead-ending.
  • Document at the skill-authoring contract that surface:'build' skills are inert on OSS (intentional tiering, not a bug).

Withdraw the tenant-agent surface (ADR-0040 §3)

  • Remove any app.defaultAgent → tenant-authored-agent assumptions in ../objectui / Studio.
  • Close *.agent.ts as 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions