Symptom
Two observations from datasource-admin-lifecycle (the item otherwise passes — secret handling is exemplary, and refusals attribute to the right service so the #4249 mis-attribution is absent):
(a) A draft naming an unknown driver is accepted 201 with status:'error' rather than refused — health-reporting rather than validation.
(b) D6 confirmed — the admin CRUD routes actually mounted carry no route-ledger entry, and the ledgered spelling differs from the live one.
Root cause
(b) The live admin CRUD routes are mounted at /api/v1/datasources/:name/remote-tables (packages/services/service-datasource/src/admin-routes.ts, ~line 200), but the route ledger (packages/rest/src/rest-route-ledger.ts, ~lines 321-323) lists only the federation family under the different spelling /api/v1/datasources/:name/external/tables — so the mounted admin routes have no ledger entry and the ledgered path does not match the live one. Same tranche-3 route-ledger parity family as #7526 (and the datasource-admin error-attribution family #4225 / #4249).
(a) The datasource-admin draft-create path accepts an unknown-driver draft and records status:'error' on the row instead of validating the driver name at create time (packages/services/service-datasource).
Fix per site: the ledger entry belongs in packages/rest; the draft driver-name validation in packages/services/service-datasource.
Stale-premise check: present on origin/main (ledger still spells /external/tables; live mount still /remote-tables).
Reproduction
(b) Diff the mounted datasource-admin routes against packages/rest/src/rest-route-ledger.ts: the five datasource ledger entries are all federation (/external/tables) ones; the live /remote-tables CRUD routes appear nowhere.
(a) POST a datasource draft naming a driver that is not registered.
Expected: (b) every mounted route has a ledger entry at its live spelling; (a) the unknown-driver draft is refused. Actual: (b) no ledger entry, spelling mismatch; (a) 201 with status:'error'.
Source
Extracted from the QA run #7690 (framework 92f26f7, console 09987b680).
Symptom
Two observations from
datasource-admin-lifecycle(the item otherwise passes — secret handling is exemplary, and refusals attribute to the right service so the #4249 mis-attribution is absent):(a) A draft naming an unknown driver is accepted 201 with
status:'error'rather than refused — health-reporting rather than validation.(b) D6 confirmed — the admin CRUD routes actually mounted carry no route-ledger entry, and the ledgered spelling differs from the live one.
Root cause
(b) The live admin CRUD routes are mounted at
/api/v1/datasources/:name/remote-tables(packages/services/service-datasource/src/admin-routes.ts, ~line 200), but the route ledger (packages/rest/src/rest-route-ledger.ts, ~lines 321-323) lists only the federation family under the different spelling/api/v1/datasources/:name/external/tables— so the mounted admin routes have no ledger entry and the ledgered path does not match the live one. Same tranche-3 route-ledger parity family as #7526 (and the datasource-admin error-attribution family #4225 / #4249).(a) The datasource-admin draft-create path accepts an unknown-driver draft and records
status:'error'on the row instead of validating the driver name at create time (packages/services/service-datasource).Fix per site: the ledger entry belongs in
packages/rest; the draft driver-name validation inpackages/services/service-datasource.Stale-premise check: present on
origin/main(ledger still spells/external/tables; live mount still/remote-tables).Reproduction
(b) Diff the mounted datasource-admin routes against
packages/rest/src/rest-route-ledger.ts: the five datasource ledger entries are all federation (/external/tables) ones; the live/remote-tablesCRUD routes appear nowhere.(a)
POSTa datasource draft naming a driver that is not registered.Expected: (b) every mounted route has a ledger entry at its live spelling; (a) the unknown-driver draft is refused. Actual: (b) no ledger entry, spelling mismatch; (a) 201 with
status:'error'.Source
Extracted from the QA run #7690 (framework 92f26f7, console 09987b680).