From e4145affa2103673179f4e14f58a3887557e2da1 Mon Sep 17 00:00:00 2001 From: jochen Date: Fri, 13 Nov 2026 02:06:52 +0100 Subject: [PATCH] Answer A-333: package-only cycles and delivery edges into packages are not refused Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index dac18a9d..9bb9596b 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -631,3 +631,10 @@ the principle that settles it, cited as "design 47 G A-n". - **A-332** (withdraws A-326's last sentence; §47; principle 7) A manifest names no artifact for a provision (`answered-by` is `helper` or unsaid), and the delivery waits cut edges down to module names, so the artifact a kind-4 edge starts from changes no order: it stays the module's first process resource, as built, and G changes nothing there. +- **A-333** (sharpens §49 and A-326; §47; principles 3, 7) Two more cycles are not §49's. (1) A cycle of package edges + (kind 1) alone: a real import cycle is refused by the language's own build, and one found only because imports are + given to every artifact of a module is not a cycle of what is built. (2) No delivery edge (kinds 2, 4, 5, 6) ends at a + package artifact: a package is delivered only inside what uses it, which a kind-1 edge carries, so such an edge is not + made and cannot close a cycle. How it is checked: the indexer's cycle rule accepts today's trunk catalogue and G's own + (the dry run's entries, kept as test data), and refuses a cycle with a build edge among delivered artifacts, naming + them.