@teamscala/service-boot 0.23.502 → 0.23.503

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1130,5 +1130,5 @@
1130
1130
  "repository": "https://github.com/teamgbg/service-boot",
1131
1131
  "sideEffects": false,
1132
1132
  "type": "module",
1133
- "version": "0.23.502"
1133
+ "version": "0.23.503"
1134
1134
  }
@@ -23,6 +23,7 @@
23
23
 
24
24
  import { join } from "node:path";
25
25
  import { getAppLogger } from "@teamscala/logger/app-loggers";
26
+ import { toCapabilitySlug } from "./capability-slug.ts";
26
27
 
27
28
  export async function registerPageServerClient(
28
29
  serviceSlug: string,
@@ -71,9 +72,20 @@ export async function registerPageServerClient(
71
72
  );
72
73
  // serviceSlug is runtime-dynamic (the service being booted), so it
73
74
  // cannot satisfy the generated ServiceSchemaKey union statically.
75
+ //
76
+ // LOOK IT UP BY CAPABILITY, NOT BY DEPLOYABLE NAME. A service_schema
77
+ // row describes the APPLICATION's data surface, so there is ONE row
78
+ // for both lanes; the dev lane arrives here as
79
+ // `scala-projects-bun-dev` and matched nothing. The catch below then
80
+ // read "declares nothing" and the refusal fifteen lines down never
81
+ // fired — so a router-less client registered as healthy and every
82
+ // data-backed page 500ed with MissingLoaderModelCapabilityError,
83
+ // which is precisely the outage this refusal exists to prevent
84
+ // (measured 2026-09-11 on scala-projects-bun-dev: "0 declared
85
+ // model(s)" against a row declaring 31). See ./capability-slug.ts.
74
86
  const row = (await loadCfg(
75
87
  "service_schema",
76
- serviceSlug as never,
88
+ toCapabilitySlug(serviceSlug) as never,
77
89
  undefined as never,
78
90
  )) as
79
91
  | { models?: string[] }