Separate graph execution identity from installation provenance

This commit is contained in:
Timothy J. Aveni
2026-09-22 18:27:59 -07:00
parent c5e79ae3c9
commit 1b296daf42
13 changed files with 243 additions and 20 deletions
+5 -1
View File
@@ -165,7 +165,7 @@ test("bounds require evidence and storable constraints inspect nested values", (
);
});
test("closed applications canonicalize records without erasing nominal identity or provenance", () => {
test("closed applications preserve nominal identity while separating source provenance", () => {
const a: ClosedTypeArgument = {
kind: "value",
type: { kind: "record", fields: { b: valueType.int64, a: valueType.string } },
@@ -183,6 +183,10 @@ test("closed applications canonicalize records without erasing nominal identity
assert.equal(appliedInterfaceId(application), appliedInterfaceId({ ...application, arguments: [b] }));
assert.notEqual(appliedInterfaceId(application), appliedInterfaceId({ ...application, self: note }));
assert.notEqual(
appliedInterfaceId(application),
appliedInterfaceId({ ...application, definitionId: capabilityId.interfaceRevision("other@1") }),
);
assert.equal(
appliedInterfaceId(application),
appliedInterfaceId({ ...application, source: { ...application.source, commit: "b".repeat(40) } }),
);