QA-source: #21721 · cli.migrate-plan-apply-json · acceptance[0]
Clause A1 of cli.migrate-plan-apply-json (rev 2) fails in the 17.7 pre-release run #21721 (subject 251a7dd4); seen by lanes L11 and L12, and verifier V5 reproduced it twice in each of two setups: CONFIRMED, high — schema migration is unusable for every new blank app and for the showcase. Predates 17.6.0 (introduced by fc8a33935c, #12952, 2026-08-28).
Reproduction
- In
examples/app-showcase, or a fresh create-objectstack qa -t blank scaffold: os migrate plan --database-url file:/tmp/x.db.
- Expected: the plan. Actual: exit 1,
✗ [Kernel] Dependency 'com.objectstack.service-automation' not found for plugin 'com.objectstack.connector.openapi' (the scaffold names connector.rest). --json and os migrate apply --json --yes exit 1 with {"error":"[Kernel] Dependency …"}.
- Isolating control: adding
new AutomationServicePlugin({ armRuntime: false, suspendedRunStore: 'memory' }) to a scratch config's plugins makes the plan exit 0. os migrate recorded-by / resume work (the data-migration stack adds automation). os dev is unaffected.
Mechanism
- The configs request automation only through
requires: ['automation', …] (blank template line 52); serve resolves that token to AutomationServicePlugin (serve.ts:1868-1873).
packages/cli/src/utils/schema-migration-plugins.ts:1296 composes config.plugins but never reads requires.
- Each connector declares a hard
dependencies = ['com.objectstack.service-automation'] (connector-rest-plugin.ts:53, connector-openapi-plugin.ts:66); the kernel throws on the missing dependency (packages/core/src/plugin-order.ts:86-88).
data-migration-plugins.ts:69-84 adds automation only when opts.automation === true.
More generally, any host plugin with a hard dependency on a service that requires supplies hits this on the schema stack.
Generated by Claude Code
QA-source: #21721 · cli.migrate-plan-apply-json · acceptance[0]
Clause A1 of
cli.migrate-plan-apply-json(rev 2) fails in the 17.7 pre-release run #21721 (subject251a7dd4); seen by lanes L11 and L12, and verifier V5 reproduced it twice in each of two setups: CONFIRMED, high — schema migration is unusable for every new blank app and for the showcase. Predates 17.6.0 (introduced byfc8a33935c, #12952, 2026-08-28).Reproduction
examples/app-showcase, or a freshcreate-objectstack qa -t blankscaffold:os migrate plan --database-url file:/tmp/x.db.✗ [Kernel] Dependency 'com.objectstack.service-automation' not found for plugin 'com.objectstack.connector.openapi'(the scaffold namesconnector.rest).--jsonandos migrate apply --json --yesexit 1 with{"error":"[Kernel] Dependency …"}.new AutomationServicePlugin({ armRuntime: false, suspendedRunStore: 'memory' })to a scratch config'spluginsmakes the plan exit 0.os migrate recorded-by/resumework (the data-migration stack adds automation).os devis unaffected.Mechanism
requires: ['automation', …](blank template line 52);serveresolves that token toAutomationServicePlugin(serve.ts:1868-1873).packages/cli/src/utils/schema-migration-plugins.ts:1296composesconfig.pluginsbut never readsrequires.dependencies = ['com.objectstack.service-automation'](connector-rest-plugin.ts:53,connector-openapi-plugin.ts:66); the kernel throws on the missing dependency (packages/core/src/plugin-order.ts:86-88).data-migration-plugins.ts:69-84adds automation only whenopts.automation === true.More generally, any host plugin with a hard dependency on a service that
requiressupplies hits this on the schema stack.Generated by Claude Code