feat: unify installation model catalog

This commit is contained in:
Codex
2026-09-02 18:45:33 +02:00
parent ae053961a3
commit 7b7927bfe5
169 changed files with 3696 additions and 4572 deletions
@@ -75,10 +75,6 @@ function workspaceVariant(
return {
...workspace,
workspace: { ...workspace.workspace, ...changes, id },
semantic_index: {
...workspace.semantic_index,
vector_store: { ...workspace.semantic_index.vector_store, collection: id },
},
...(workspace.evidence?.source.type === "filesystem"
? {
evidence: {
@@ -182,7 +178,7 @@ test("shared deployment fixtures remain valid standalone descriptors with canoni
expect(smoke).toMatchObject({
workspace: {
schema_version: 3,
schema_version: 4,
id: "local",
name: "Local",
description: "Isolated workspace registry smoke fixture.",
@@ -193,14 +189,14 @@ test("shared deployment fixtures remain valid standalone descriptors with canoni
},
});
expect(task13).toMatchObject({
workspace: { schema_version: 3, id: "task13-smoke", name: "Task 13 Smoke" },
workspace: { schema_version: 4, id: "task13-smoke", name: "Task 13 Smoke" },
evidence: {
source: { type: "filesystem", uri: "task13-smoke/evidence", patterns: ["**/*.md"] },
policy: { max_chunk_chars: 4000, retain_published_generations: 3 },
},
});
expect(windows).toMatchObject({
workspace: { schema_version: 3, id: "task13-windows", name: "Task 13 Windows" },
workspace: { schema_version: 4, id: "task13-windows", name: "Task 13 Windows" },
evidence: {
source: { type: "filesystem", uri: "task13-windows/evidence", patterns: ["**/*.md"] },
policy: { max_chunk_chars: 4000, retain_published_generations: 3 },
@@ -282,7 +278,7 @@ test("registry rejects orphan descriptors, metadata mismatches, and the retired
});
});
test("Windows clone contract copies the shared complete schema v3 descriptor into the nested registry layout", () => {
test("Windows clone contract copies the shared complete schema v4 descriptor into the nested registry layout", () => {
const descriptor = parseWorkspaceYaml(readFixture("workspace-registry-windows.yaml"));
const windows = readFileSync(
new URL("../../scripts/test-windows-clone-contract.ps1", import.meta.url),
@@ -299,7 +295,7 @@ test("Windows clone contract copies the shared complete schema v3 descriptor int
expect(windows).not.toContain('schema_version: 3');
expect(descriptor).toMatchObject({
workspace: {
schema_version: 3,
schema_version: 4,
id: "task13-windows",
name: "Task 13 Windows",
language: "en",