The bed publishes the SDK before the base build

genesis passes --sdk-source so the installer raises the registry and publishes
the SDK ahead of the base, which now resolves it by version.

Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
This commit is contained in:
2026-09-16 10:27:37 +02:00
parent 61abeb7f6b
commit eff91742e8
2 changed files with 7 additions and 0 deletions
+5
View File
@@ -64,6 +64,9 @@ export interface GenesisOptions {
*/
toolsSource: string;
catalogSource: string;
/** Where the shared library is built from — published before the base resolves it (ADR 0076). */
sdkSource: string;
sdkRef?: string;
/** What of the catalogue to build. A branch under test is the usual reason this is not main. */
catalogRef?: string;
log?: (m: string) => void;
@@ -148,6 +151,8 @@ export async function genesis(o: GenesisOptions): Promise<GenesisResult> {
`--tools-source ${o.toolsSource}`,
`--catalog-source ${o.catalogSource}`,
`--catalog-ref ${o.catalogRef ?? "main"}`,
`--sdk-source ${o.sdkSource}`,
`--sdk-ref ${o.sdkRef ?? "main"}`,
// The choices, answered the unattended way. Both have one option today, so these are
// redundant on purpose: the day a second filter exists, this bed keeps working instead of
// refusing, and choosing becomes a thing it visibly does.
+2
View File
@@ -470,6 +470,8 @@ before(async () => {
toolsSource: forgeUrl(BASE.repo),
catalogSource: forgeUrl(MODULE.repo),
catalogRef: refFor(MODULE.repo),
sdkSource: forgeUrl("mesh-sdk"),
sdkRef: refFor("mesh-sdk"),
log: (m) => console.log(m),
});
} catch (err) {