Prove cross-package application composition through public capabilities (WI-15)

This commit is contained in:
Timothy J. Aveni
2026-09-21 19:07:32 -07:00
parent d824634859
commit e5544dde21
6 changed files with 70 additions and 11 deletions
+3 -6
View File
@@ -68,14 +68,11 @@ export function validateExecutionContracts(workspace: WorkspaceRevision): Capabi
const selected = requirement.operations;
if (requirement.receiver === "input") {
if (!entry.execution || entry.execution.kind === "remote" || !selected?.length)
fail(
portPath,
"Reference-selected reads require a portable snapshot or transaction and an explicit selection",
);
fail(portPath, "Reference-selected calls require portable execution and an explicit selection");
for (const id of selected ?? []) {
const operation = contract && operations(id, contract);
if (operation?.execution?.kind !== "snapshot" || operation.scope === "class")
fail(portPath, "Reference-selected dependencies currently support object snapshot operations only");
if (!operation?.execution || operation.execution.kind === "remote" || operation.scope === "class")
fail(portPath, "Reference-selected dependencies require portable object operations");
}
}
if (selected && (!selected.length || new Set(selected).size !== selected.length))