Allow explicitly exported read-only edge dependency ports

This commit is contained in:
Timothy J. Aveni
2026-10-07 06:30:33 -07:00
parent 192a22c936
commit 9248332da6
2 changed files with 63 additions and 1 deletions
+6 -1
View File
@@ -1526,7 +1526,6 @@ const validateBoundDependencies = (
);
break;
}
validateAttachmentAccess(issues, attachment, params.conformance, `${path}.binding.edgeTypeId`);
const projection = edgeProjection(attachment.attachment, edgeBinding.projectionId);
if (!projection) {
issue(
@@ -1537,6 +1536,12 @@ const validateBoundDependencies = (
);
break;
}
// Exporting traversal never exports writes or subscription ownership.
const publicRead =
projection.endpoint.publicTraversal &&
requirement.primitives.length > 0 &&
requirement.primitives.every((primitive) => primitive === "resolve");
if (!publicRead) validateAttachmentAccess(issues, attachment, params.conformance, `${path}.binding.edgeTypeId`);
if (projection.target.keyType && requirement.primitives.includes("connect"))
issue(
issues,