Found during a full business/platform-capability review of the app (2026-08-02).
Problem
src/apps/crm.app.ts:19 declares:
defaultAgent: 'sales_copilot',
sales_copilot no longer exists — HotCRM's app-authored agents were retired in #512 (skills-only surface per ADR-0063 §2). Per app.zod.ts, defaultAgent must name a platform agent (ask / build); the runtime's loadAgent() refuses non-platform records, so this binding is dead metadata.
Neither os validate nor os lint catches it: the platform's agent-authoring lint only walks stack.agents, never app.defaultAgent (reference-integrity gap on the objectstack side — worth an upstream issue, but the app-side fix should not wait for it).
A second, harmless reference sits in a comment at src/pages/account_detail.page.ts:25.
Fix
- Point
defaultAgent at 'ask' (the six shipped skills already attach to the platform ask agent via surface affinity), or drop the key entirely.
- Clean up the stale comment in
account_detail.page.ts.
Acceptance
- No reference to
sales_copilot / service_copilot remains in src/.
test/metadata-references.test.ts extended to pin app.defaultAgent against the platform agent set, so this class of dangling binding fails locally next time.
Found during a full business/platform-capability review of the app (2026-08-02).
Problem
src/apps/crm.app.ts:19declares:sales_copilotno longer exists — HotCRM's app-authored agents were retired in #512 (skills-only surface per ADR-0063 §2). Perapp.zod.ts,defaultAgentmust name a platform agent (ask/build); the runtime'sloadAgent()refuses non-platform records, so this binding is dead metadata.Neither
os validatenoros lintcatches it: the platform's agent-authoring lint only walksstack.agents, neverapp.defaultAgent(reference-integrity gap on the objectstack side — worth an upstream issue, but the app-side fix should not wait for it).A second, harmless reference sits in a comment at
src/pages/account_detail.page.ts:25.Fix
defaultAgentat'ask'(the six shipped skills already attach to the platformaskagent viasurfaceaffinity), or drop the key entirely.account_detail.page.ts.Acceptance
sales_copilot/service_copilotremains insrc/.test/metadata-references.test.tsextended to pinapp.defaultAgentagainst the platform agent set, so this class of dangling binding fails locally next time.