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.