feat: activate workspaces from the root catalog and bootstrap-only publication

This commit is contained in:
2026-08-11 14:49:46 +02:00
parent 86af45acb4
commit 25ec236f1f
10 changed files with 358 additions and 242 deletions
@@ -46,7 +46,7 @@ llm_policy:
const filesystemWorkspace = `${canonicalWorkspace}evidence:
source:
type: filesystem
uri: workspace-content/psd-clinical/evidence
uri: psd-clinical/evidence
`;
function evidenceWorkspace(source: string, policy = ""): string {
@@ -77,9 +77,10 @@ async function fixture(workspaceSource = filesystemWorkspace) {
await git(source, ["init", "--initial-branch=main"]);
await git(source, ["config", "user.name", "Runtime Handoff Test"]);
await git(source, ["config", "user.email", "runtime-handoff@example.invalid"]);
mkdirSync(join(source, "workspaces"));
writeFileSync(join(source, "workspaces", "psd-clinical.yaml"), workspaceSource);
const evidenceRoot = join(source, "workspace-content", "psd-clinical", "evidence");
writeFileSync(join(source, "thoth-workspaces.yaml"), "schema_version: 1\nworkspaces: [{id: psd-clinical, name: Runtime handoff}]\n");
mkdirSync(join(source, "psd-clinical"), { recursive: true });
writeFileSync(join(source, "psd-clinical", "workspace.yaml"), workspaceSource);
const evidenceRoot = join(source, "psd-clinical", "evidence");
mkdirSync(evidenceRoot, { recursive: true });
writeFileSync(join(evidenceRoot, "guide.md"), "# Immutable revision evidence\n");
await git(source, ["add", "."]);
@@ -174,7 +175,6 @@ test("separate runtime leases hand off byte-identical revision Evidence configs
f.registryConfig.root,
"snapshots",
f.revision.commit,
"workspace-content",
"psd-clinical",
"evidence",
);
@@ -228,10 +228,10 @@ test("real Evidence-content-only commit changes runtime identity and root with i
const first = runner.acquireWorkspaceRuntime(f.revision.snapshotPath);
const descriptorBefore = readFileSync(f.revision.snapshotPath, "utf8");
writeFileSync(
join(f.source, "workspace-content", "psd-clinical", "evidence", "guide.md"),
join(f.source, "psd-clinical", "evidence", "guide.md"),
"# Content-only revision two\n",
);
await git(f.source, ["add", "workspace-content/psd-clinical/evidence/guide.md"]);
await git(f.source, ["add", "psd-clinical/evidence/guide.md"]);
await git(f.source, ["commit", "-m", "Update Evidence content only"]);
await git(f.source, ["push", "origin", "main"]);
await f.registry.pull();
@@ -250,7 +250,6 @@ test("real Evidence-content-only commit changes runtime identity and root with i
f.registryConfig.root,
"snapshots",
current.commit,
"workspace-content",
"psd-clinical",
"evidence",
));