| 1 | # Plan 14 census ruling zddr4 (zero-downtime deploys rev 19 amendment, Gate F, amadan #272): generation sockets keep the flag-off file name in a directory of their own. The changed and new activator units are accepted legacy because they stay agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. |
| 2 | # An over-long flat host counted as foreign for generation decisions is an agent-side deny and fits that boundary. If any of these units ever runs as root or reads outside that boundary it stops being legacy and needs the Plan 14 owner's ruling. Earlier overlays are immutable. |
| 3 | @legacy dc698b892747c4be0ec17b83d180edf2da154c92fc224abc3ab391666db7ef9f internal/activator/backend_exec.go ExecBackend.startGenFrom legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the generation socket path is chosen through genLayout on the same row's Host, an over-long flat host is logged and keeps its canonical socket as a foreign row does, and the leftover canonical link is cleared for any spawn on the canonical socket. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@1084,registry:Host@1709,registry:Host@1871,registry:Host@380,registry:Host@436,registry:Host@685,registry:Socket@1126,registry:Socket@1615,registry:Socket@1745,registry:Socket@328,whole:Route@1933,whole:Route@315,whole:Route@960 9d1788ec9700865c6046e1c466b1e06e654d00e605d2b35297cc192bc731861c |
| 4 | internal/activator/backend_exec.go ExecBackend.startGenFrom legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the generation socket path is chosen through genLayout on the same row's Host, an over-long flat host is logged and keeps its canonical socket as a foreign row does, and the leftover canonical link is cleared for any spawn on the canonical socket. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@1084,registry:Host@1709,registry:Host@1871,registry:Host@380,registry:Host@436,registry:Host@685,registry:Socket@1126,registry:Socket@1615,registry:Socket@1745,registry:Socket@328,whole:Route@1933,whole:Route@315,whole:Route@960 9d1788ec9700865c6046e1c466b1e06e654d00e605d2b35297cc192bc731861c |
| 5 | @legacy 795ff1d9aa340c52bd2b08601cb090c9e318c93eee0b7eaa70d0996f1541ed51 internal/activator/genbackend.go ExecBackend.GenPaths legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the same Classify layout is passed through genLayout on the same row's Host, so an over-long flat host has no generation path, as a foreign row has none. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@140,registry:Host@194,whole:Route@91 34d63dd48fd86a2e3d4ea4bf7d7022bb5e39eab9e820b8a1df12887fd0ccc2f4 |
| 6 | internal/activator/genbackend.go ExecBackend.GenPaths legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the same Classify layout is passed through genLayout on the same row's Host, so an over-long flat host has no generation path, as a foreign row has none. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@140,registry:Host@194,whole:Route@91 34d63dd48fd86a2e3d4ea4bf7d7022bb5e39eab9e820b8a1df12887fd0ccc2f4 |
| 7 | @legacy 36678d5f13f63fa11f515dd04da937963c16f589701aee2829ac1e1aa39dc722 internal/activator/genbackend.go ExecBackend.StartStaged legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the same layout switch goes through genLayout on the same row's Host, so an over-long flat host takes the existing foreign arm on its canonical socket. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@1701,registry:Host@221,registry:Host@276,registry:Host@398,registry:Host@898,registry:Socket@1067,registry:Socket@1078,registry:Socket@809,registry:Socket@960,whole:Route@1467,whole:Route@156,whole:Route@189,whole:Route@456,whole:Route@956 2561db67e458818736964d27fe18b2b16027f6b4ed523bc23f9bf99c2700ad18 |
| 8 | internal/activator/genbackend.go ExecBackend.StartStaged legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the same layout switch goes through genLayout on the same row's Host, so an over-long flat host takes the existing foreign arm on its canonical socket. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@1701,registry:Host@221,registry:Host@276,registry:Host@398,registry:Host@898,registry:Socket@1067,registry:Socket@1078,registry:Socket@809,registry:Socket@960,whole:Route@1467,whole:Route@156,whole:Route@189,whole:Route@456,whole:Route@956 2561db67e458818736964d27fe18b2b16027f6b4ed523bc23f9bf99c2700ad18 |
| 9 | @legacy 03bddaccf2f9196bf5f3d9ebeb9f2c1ae27721d52ed43cadf7754ec0247e82f4 internal/activator/opset.go Service.genTerminated legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; after the unchanged termination proof holds, removeGenDir removes the generation's own empty socket directory. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. whole:Route@266,whole:Route@368,whole:Route@435 ce408258825ac8650517a004d9d1868912c0b3ab9920f04c132060a5564bd496 |
| 10 | internal/activator/opset.go Service.genTerminated legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; after the unchanged termination proof holds, removeGenDir removes the generation's own empty socket directory. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. whole:Route@266,whole:Route@368,whole:Route@435 ce408258825ac8650517a004d9d1868912c0b3ab9920f04c132060a5564bd496 |
| 11 | @legacy df0ed90064b7ae08e98bf26cae8752828d8cf2525b1d5acf9ffb99fd89bbbe5f internal/activator/opset.go Service.handlelessGenEmpty legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; after the unchanged KillGen proof holds, removeGenDir removes the generation's own empty socket directory. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. whole:Route@123,whole:Route@181 9ab9046c4eaa787968a51629564812a11f9b16f79d6b2ed48e1b6259127d0f82 |
| 12 | internal/activator/opset.go Service.handlelessGenEmpty legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; after the unchanged KillGen proof holds, removeGenDir removes the generation's own empty socket directory. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. whole:Route@123,whole:Route@181 9ab9046c4eaa787968a51629564812a11f9b16f79d6b2ed48e1b6259127d0f82 |
| 13 | @legacy 3f25557f06cf9a8d84cb79f405766afdb355108faeca9337ae953563d43368b3 internal/activator/opset.go Service.failedWakeStopped legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; after the unchanged proof holds, the host-cgroup proof included where it is needed, removeGenDir removes the generation's own empty socket directory. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@266,whole:Route@514,whole:Route@622,whole:Route@959 ce0575660e2528b04edb7d69de3fb8cda9761182431629b6a591e63d153ee433 |
| 14 | internal/activator/opset.go Service.failedWakeStopped legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; after the unchanged proof holds, the host-cgroup proof included where it is needed, removeGenDir removes the generation's own empty socket directory. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@266,whole:Route@514,whole:Route@622,whole:Route@959 ce0575660e2528b04edb7d69de3fb8cda9761182431629b6a591e63d153ee433 |
| 15 | @legacy 364c06e030c985f9071eb6240813c5a26915e83e2fbf3154a49a92cb7299df0c internal/activator/prepare.go ExecBackend.prepareAt legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; a generation socket's own g<n> directory inside the instance run dir is made, 0750 setgid, before the unchanged stale-file removal. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. file:ReadDir@1842,registry:Host@1035,registry:Host@1280,registry:Host@4027,registry:Host@4188,registry:Host@443,registry:Host@940,whole:Route@1113,whole:Route@1356,whole:Route@197,whole:Route@3532,whole:Route@3871,whole:Route@4061 87013e6a3295e78f1ca06f34698dedf87a548ac211d5d9099e1f876e9df5bfb4 |
| 16 | internal/activator/prepare.go ExecBackend.prepareAt legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; a generation socket's own g<n> directory inside the instance run dir is made, 0750 setgid, before the unchanged stale-file removal. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. file:ReadDir@1842,registry:Host@1035,registry:Host@1280,registry:Host@4027,registry:Host@4188,registry:Host@443,registry:Host@940,whole:Route@1113,whole:Route@1356,whole:Route@197,whole:Route@3532,whole:Route@3871,whole:Route@4061 87013e6a3295e78f1ca06f34698dedf87a548ac211d5d9099e1f876e9df5bfb4 |
| 17 | @legacy 4bd1a38bcae29e6b5861d4ce33e54cf8b00f7ab94383f84f293d104117f72293 internal/activator/swap.go Service.swapOverlap legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the overlap admission's layout check reads the same entry route through swapLayout instead of Classifier.Layout, so an over-long flat host is refused as a foreign row is (an agent-side deny). Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Kind@1902,whole:Route@1904,whole:Route@2228,whole:Route@2631,whole:Route@2649,whole:Route@3244,whole:Route@3292,whole:Route@3807,whole:Route@5291,whole:Route@7681,whole:Route@9215,whole:Route@9222,whole:Route@9262 b4f0c2b27d9b66bd4ce34f0bb36d41ab663be4b3bf0818eecdb9f4b9705a8c42 |
| 18 | internal/activator/swap.go Service.swapOverlap legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the overlap admission's layout check reads the same entry route through swapLayout instead of Classifier.Layout, so an over-long flat host is refused as a foreign row is (an agent-side deny). Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Kind@1902,whole:Route@1904,whole:Route@2228,whole:Route@2631,whole:Route@2649,whole:Route@3244,whole:Route@3292,whole:Route@3807,whole:Route@5291,whole:Route@7681,whole:Route@9215,whole:Route@9222,whole:Route@9262 b4f0c2b27d9b66bd4ce34f0bb36d41ab663be4b3bf0818eecdb9f4b9705a8c42 |
| 19 | @legacy 034d3f17d51fdc2f6eba5388983c25029ec69362530807afb04183298bc7ebbe internal/activator/swaphold.go Service.foreignRow legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the same entry route is read through swapLayout instead of Classifier.Layout, so an over-long flat host counts as foreign and its overlap runs as a hold (an agent-side deny). Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. whole:Route@124,whole:Route@131,whole:Route@211 202e99f9b25f5d72b055610ce6c5702115a192bc5e3eb8dccf2ae13ec2ec6782 |
| 20 | internal/activator/swaphold.go Service.foreignRow legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the same entry route is read through swapLayout instead of Classifier.Layout, so an over-long flat host counts as foreign and its overlap runs as a hold (an agent-side deny). Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. whole:Route@124,whole:Route@131,whole:Route@211 202e99f9b25f5d72b055610ce6c5702115a192bc5e3eb8dccf2ae13ec2ec6782 |
| 21 | @legacy 74cc7260b1589d9ce1008dff776047452059a23b491d59b78b8085a939f7d529 internal/activator/swaphold.go Service.holdAdmitLocked legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the same entry route's layout is read through swapLayout instead of Classifier.Layout; the accepted layouts are unchanged. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Backing@216,registry:Kind@186,whole:Route@188,whole:Route@218,whole:Route@454 d799942b4dd82aff68e3cd893a5454b4064cccabc8c223cd00b01cce8c94c27f |
| 22 | internal/activator/swaphold.go Service.holdAdmitLocked legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: changed legacy row; the same entry route's layout is read through swapLayout instead of Classifier.Layout; the accepted layouts are unchanged. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Backing@216,registry:Kind@186,whole:Route@188,whole:Route@218,whole:Route@454 d799942b4dd82aff68e3cd893a5454b4064cccabc8c223cd00b01cce8c94c27f |
| 23 | @legacy 0ad95a7feaff196ab33517d84c7093216e99a50cd8949139784c733bf063a1b7 internal/activator/genbackend.go ExecBackend.GenLayout legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: new unit; ExecBackend.Layout of the row passed through genLayout on its Host, a pure length check on a path under /run/carlos. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@103,whole:Route@78 006f4773612ecc5331b82dcb68d2d7ccae12ef1ebf112c4969bacab1286b64ae |
| 24 | internal/activator/genbackend.go ExecBackend.GenLayout legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: new unit; ExecBackend.Layout of the row passed through genLayout on its Host, a pure length check on a path under /run/carlos. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. registry:Host@103,whole:Route@78 006f4773612ecc5331b82dcb68d2d7ccae12ef1ebf112c4969bacab1286b64ae |
| 25 | @legacy e13b5ef5bb44d76fc8461aa39deb429642ebd786b0a59201f0525f3e22472a88 internal/activator/genbackend.go SplitBackend.GenLayout legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: new unit; forwards an exec row to the exec half's GenLayout and reads a unit row's Backing as SplitBackend.Layout already does. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. file:Exec@116,registry:Backing@65,whole:Route@165,whole:Route@194 446df7024a611a62293f8a296b51631ab90251874b7e475daf0c3912b21dc624 |
| 26 | internal/activator/genbackend.go SplitBackend.GenLayout legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: new unit; forwards an exec row to the exec half's GenLayout and reads a unit row's Backing as SplitBackend.Layout already does. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. file:Exec@116,registry:Backing@65,whole:Route@165,whole:Route@194 446df7024a611a62293f8a296b51631ab90251874b7e475daf0c3912b21dc624 |
| 27 | @legacy 5ecb1a3f92c17838124aa0f6e4e33e63d02c07e0e875ad23c4d786b75e014411 internal/activator/generations.go removeGenDir legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: new unit; reads the agent's own generation socket directory (ReadDir) to remove it only when empty, and the row's Host only for a log line; only a directory named for the generation's number that holds its socket is a candidate. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. file:ReadDir@254,registry:Host@470,whole:Route@78 f61d1d2caab7cf3b16428a7f052b1b8266135532569a8a239415e66f75f1a459 |
| 28 | internal/activator/generations.go removeGenDir legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: new unit; reads the agent's own generation socket directory (ReadDir) to remove it only when empty, and the row's Host only for a log line; only a directory named for the generation's number that holds its socket is a candidate. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. file:ReadDir@254,registry:Host@470,whole:Route@78 f61d1d2caab7cf3b16428a7f052b1b8266135532569a8a239415e66f75f1a459 |
| 29 | @legacy f4db0317506a91218701894b9343de98ba491519066006172485f45cd6fff4ba internal/activator/swaphold.go Service.swapLayout legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: new unit; passes an entry route to the backend's GenLayout, else to its Classifier.Layout, as the callers did before. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. whole:Route@129,whole:Route@203 a18de2da8d0bfa931af0ff6d65f1095abadf5271ef753eba385aba3aab2d3c46 |
| 30 | internal/activator/swaphold.go Service.swapLayout legacy accepted-legacy accepted-legacy;rev3=census-ruling-zddr4;basis=Census ruling zddr4: new unit; passes an entry route to the backend's GenLayout, else to its Classifier.Layout, as the callers did before. Boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree; no root decision; no registry, /data, release or claim read beyond what the unit read before. whole:Route@129,whole:Route@203 a18de2da8d0bfa931af0ff6d65f1095abadf5271ef753eba385aba3aab2d3c46 |
| 31 | # Envelopes, census ruling zddr4: each changed root source envelope below is accepted only because the units inside it are the ones listed above; boundary: agent-side, running as carlos; generation socket directories under the agent's own /run/carlos tree. |
| 32 | @coverage cmd/zddprobe 7caf15d5b0663091108482a70ed71d1970eff947b0fe1860e560dd3822f0e675 |
| 33 | @coverage internal/activator 000f17d496e5791e7404952f0f4236a7cb3b02306042e3dc03149369a2878cf7 |
| 34 | |