Consolidate Reader source ownership and pinned application instances

Add exact recursive source checkout, independent Git/jj developer workbenches and source-only backup/recovery commands, with Workspace instance binding outside source. Qualify two empty Reader Graphs, packaged source commands, Agent VM compilation, exact Gitea read grants and reconciled Reader settings/annotation stability. Publish checked Reader Package/root revisions to canonical review branches and retention tags, retain all 57 repositories independently in private versioned storage, verify downloaded-backup recovery and advance the example pin.

Add bounded Central pin acquisition and selection-specific read-only identities, qualified against all 57 canonical repositories without write authority. Replace regex fork dependency discovery with compiler-parsed lock imports and rewrite proposals; preserve source identities and unrelated files, passing instance binding through packed and ordinary host checks.

Hosted run-pin versus authoring preparation and maintained duplicate removal remain pending. Live source selections, Template defaults and default source branches are unchanged.
This commit is contained in:
Timothy J. Aveni
2026-10-10 18:38:57 -07:00
parent c2c01a9878
commit ad2a851b94
15 changed files with 832 additions and 8 deletions
+22
View File
@@ -90,6 +90,28 @@ package Runtime id "package:runtime" revision "package:runtime@1" {
);
assert.equal(result.directResources.size, 1);
const resolveResource = async (source: { repository: string; commit: string }, kind: string) => ({
directory: directories.get(`${kind}\0${source.repository}\0${source.commit}`)!,
});
const bound = await Promise.all(
["workspace:first", "workspace:second"].map((workspaceId) =>
compileWorkspaceRepository({
rootDirectory: root,
resolveResource,
workspaceId,
sourceRootCommit: "5".repeat(40),
}),
),
);
assert.notEqual(bound[0]!.workspace.workspaceId, bound[1]!.workspace.workspaceId);
assert.notEqual(bound[0]!.workspace.id, bound[1]!.workspace.id);
for (const instance of bound) {
assert.equal(instance.workspace.sourceRootCommit, "5".repeat(40));
assert.deepEqual(instance.workspace.packageImports, result.workspace.packageImports);
assert.deepEqual(instance.workspace.interfaceImports, result.workspace.interfaceImports);
assert.deepEqual(instance.resources, result.resources, "binding does not fork resource identities");
}
const resource = await compileCapabilityResourceRepository({
rootDirectory: runtime,
kind: "package",