census: design-fleet-internal-engines ruled (census-ruling-design-fleet-internal-engines, #280)
Paul, as census owner, ruled on #280 (2026-10-21): accepted as proposed. The overlay rows now carry rev3=census-ruling-design-fleet-internal-engines in place of the PROPOSED token; the frozen fingerprint for internal/sim/engines/mutate.sh is recomputed (4f5ed448), and the seal moves from 33a8ff46 to ca73eb76 (was d8290d2c under the proposal). The loader comment, the overlay header and the proposal note record the ruling.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 files changed,
+11
−10
docs/superpowers/notes/census-proposal-design-fleet-internal-engines.md+3 −3internal/provision/plan14_root_reads_test.go+5 −4internal/provision/testdata/plan14-root-reads-design-fleet-internal-engines.tsv+3 −3
CI failed — run details
CI log
=== gate === .amadan/test-gate.sh === launchctx (1 s) ok amadan.net/carlos/platform.git/launchctx 0.015s ? amadan.net/carlos/platform.git/launchctx/controlname [no test files] ? amadan.net/carlos/platform.git/launchctx/wireid [no test files] === vet (2 s) === gofmt (1 s) gofmt needed: internal/provision/plan14_root_reads_test.go === rest (142 s) ? github.com/carlosframework/platform/cmd/changelog [no test files] ok github.com/carlosframework/platform/cmd/console 3.890s ok github.com/carlosframework/platform/cmd/moveprobe 11.912s ok github.com/carlosframework/platform/cmd/zddprobe 0.729s ok github.com/carlosframework/platform/internal/activator 60.376s ok github.com/carlosframework/platform/internal/agentsock 0.029s ok github.com/carlosframework/platform/internal/alerting 0.007s ok github.com/carlosframework/platform/internal/analytics 0.036s ok github.com/carlosframework/platform/internal/appconfig 2.992s ok github.com/carlosframework/platform/internal/apperr 0.163s ok github.com/carlosframework/platform/internal/applog 0.192s ok github.com/carlosframework/platform/internal/awsinv 0.011s ok github.com/carlosframework/platform/internal/boxchoice 0.004s ok github.com/carlosframework/platform/internal/boxid 0.679s ? github.com/carlosframework/platform/internal/boxid/boxidtest [no test files] ? github.com/carlosframework/platform/internal/boxid/internal/signtest [no test files] ok github.com/carlosframework/platform/internal/boxvolumes 0.011s ok github.com/carlosframework/platform/internal/caps 0.016s ok github.com/carlosframework/platform/internal/certwarm 0.005s ok github.com/carlosframework/platform/internal/cgroup 0.811s ok github.com/carlosframework/platform/internal/changelog 0.564s ok github.com/carlosframework/platform/internal/claimactivation 1.423s ok github.com/carlosframework/platform/internal/clamd 0.055s ? github.com/carlosframework/platform/internal/cliflag [no test files] ? github.com/carlosframework/platform/internal/controlname [no test files] ? github.com/carlosframework/platform/internal/controlsock [no test files] ok github.com/carlosframework/platform/internal/dbdoor 5.759s ok github.com/carlosframework/platform/internal/dbdoor/dbdoortest 0.012s ok github.com/carlosframework/platform/internal/dbverify 0.007s ok github.com/carlosframework/platform/internal/dnsrec 0.003s ok github.com/carlosframework/platform/internal/docsite 0.016s ok github.com/carlosframework/platform/internal/domains 2.989s ok github.com/carlosframework/platform/internal/doorkey 0.012s ok github.com/carlosframework/platform/internal/economics 0.005s ok github.com/carlosframework/platform/internal/edge 45.418s ? github.com/carlosframework/platform/internal/edgeproof [no test files] ok github.com/carlosframework/platform/internal/edgesfile 0.015s ok github.com/carlosframework/platform/internal/fleetapi 0.194s ok github.com/carlosframework/platform/internal/gate 1.804s ok github.com/carlosframework/platform/internal/genselect 0.041s ok github.com/carlosframework/platform/internal/geo 0.025s ok github.com/carlosframework/platform/internal/geoip 0.059s ok github.com/carlosframework/platform/internal/historyreadback 0.275s ok github.com/carlosframework/platform/internal/host 138.867s ok github.com/carlosframework/platform/internal/hostactors 6.375s ok github.com/carlosframework/platform/internal/hostactors/awsmembership 0.008s ok github.com/carlosframework/platform/internal/hostbox 3.326s ok github.com/carlosframework/platform/internal/hostclaim 0.889s ok github.com/carlosframework/platform/internal/hostenv 0.011s ok github.com/carlosframework/platform/internal/hostevidence 0.015s ok github.com/carlosframework/platform/internal/hostexec 5.780s ok github.com/carlosframework/platform/internal/hostfence 0.053s ok github.com/carlosframework/platform/internal/hostfiles 10.343s ok github.com/carlosframework/platform/internal/hostfloor 0.034s ok github.com/carlosframework/platform/internal/hostguard 1.097s ok github.com/carlosframework/platform/internal/hostops 2.288s ? github.com/carlosframework/platform/internal/hostops/fencerelease [no test files] ok github.com/carlosframework/platform/internal/hostops/internal/fencerelease 0.006s ok github.com/carlosframework/platform/internal/hostquarantine 0.005s ok github.com/carlosframework/platform/internal/hostrelocate 0.770s ok github.com/carlosframework/platform/internal/hostresolve 0.274s ok github.com/carlosframework/platform/internal/hostwrite 0.012s ok github.com/carlosframework/platform/internal/infraview 0.009s ok github.com/carlosframework/platform/internal/instancectl 5.262s ok github.com/carlosframework/platform/internal/instanceexec 2.924s ok github.com/carlosframework/platform/internal/instancefs 0.021s ok github.com/carlosframework/platform/internal/instancekey 0.006s ok github.com/carlosframework/platform/internal/instanceupdates 0.015s ok github.com/carlosframework/platform/internal/layout 1.877s ok github.com/carlosframework/platform/internal/lbhealth 0.004s ok github.com/carlosframework/platform/internal/lease 10.132s ok github.com/carlosframework/platform/internal/lease/leasetest 0.717s ok github.com/carlosframework/platform/internal/ledger 0.030s ok github.com/carlosframework/platform/internal/mail 0.369s ok github.com/carlosframework/platform/internal/maintenance 0.094s ok github.com/carlosframework/platform/internal/maintenanceexec 5.597s ok github.com/carlosframework/platform/internal/maintenanceguard 0.153s ok github.com/carlosframework/platform/internal/metrics 0.005s ok github.com/carlosframework/platform/internal/moves 21.635s ok github.com/carlosframework/platform/internal/moves/archive 1.126s ok github.com/carlosframework/platform/internal/objstore 0.358s ok github.com/carlosframework/platform/internal/ops 0.212s ok github.com/carlosframework/platform/internal/park 0.347s ok github.com/carlosframework/platform/internal/plans 0.005s ok github.com/carlosframework/platform/internal/privatefile 0.006s ok github.com/carlosframework/platform/internal/provision 13.387s ok github.com/carlosframework/platform/internal/publicrelease 0.013s ? github.com/carlosframework/platform/internal/regionname [no test files] ok github.com/carlosframework/platform/internal/registry 5.603s ok github.com/carlosframework/platform/internal/relay 7.240s ok github.com/carlosframework/platform/internal/release 25.203s ok github.com/carlosframework/platform/internal/rollout 3.777s ok github.com/carlosframework/platform/internal/rolloutwords 0.007s ok github.com/carlosframework/platform/internal/rootaws 0.008s ok github.com/carlosframework/platform/internal/rootparticipation 0.061s ok github.com/carlosframework/platform/internal/rootstate 0.029s ok github.com/carlosframework/platform/internal/runs 0.551s ok github.com/carlosframework/platform/internal/s3compat 0.007s ok github.com/carlosframework/platform/internal/safefile 0.007s ok github.com/carlosframework/platform/internal/schedule 2.659s ok github.com/carlosframework/platform/internal/seeds 0.015s ok github.com/carlosframework/platform/internal/sim/engines 2.555s ok github.com/carlosframework/platform/internal/sim/hostlife 10.916s ok github.com/carlosframework/platform/internal/sim/litestreamfacts 3.856s ok github.com/carlosframework/platform/internal/status 0.076s ok github.com/carlosframework/platform/internal/steering 0.007s ok github.com/carlosframework/platform/internal/stopevidence 0.170s ok github.com/carlosframework/platform/internal/svcrole 0.002s ok github.com/carlosframework/platform/internal/telemetry 0.005s ok github.com/carlosframework/platform/internal/termfence 0.005s ok github.com/carlosframework/platform/internal/tunnelclient 0.012s ok github.com/carlosframework/platform/internal/unixdial 0.004s ok github.com/carlosframework/platform/internal/updatewords 0.004s ok github.com/carlosframework/platform/internal/usage 0.006s ok github.com/carlosframework/platform/internal/version 0.002s ok github.com/carlosframework/platform/internal/vet 1.679s === internal_console@0 (80 s) ok github.com/carlosframework/platform/internal/console 77.448s === internal_console@1 (37 s) ok github.com/carlosframework/platform/internal/console 35.450s === internal_console@2 (43 s) ok github.com/carlosframework/platform/internal/console 40.629s === internal_console@3 (38 s) ok github.com/carlosframework/platform/internal/console 35.319s === internal_console@4 (37 s) ok github.com/carlosframework/platform/internal/console 35.317s === internal_console@5 (35 s) ok github.com/carlosframework/platform/internal/console 33.152s === internal_console@6 (37 s) ok github.com/carlosframework/platform/internal/console 35.120s === internal_console@7 (44 s) ok github.com/carlosframework/platform/internal/console 42.042s === root@0 (33 s) ok github.com/carlosframework/platform 30.789s === root@1 (44 s) ok github.com/carlosframework/platform 42.331s === root@2 (41 s) ok github.com/carlosframework/platform 39.103s FAILED: gofmt make: *** [Makefile:19: test] Error 1 amadan: step gate failed: exit status 2 amadan: job failed at step gate — its output is above, not at the tail of this log
diff --git a/docs/superpowers/notes/census-proposal-design-fleet-internal-engines.md b/docs/superpowers/notes/census-proposal-design-fleet-internal-engines.md| index 42fdae3a5..39d27e0b7 100644 |
| --- a/docs/superpowers/notes/census-proposal-design-fleet-internal-engines.md |
| +++ b/docs/superpowers/notes/census-proposal-design-fleet-internal-engines.md |
| @@ -1,6 +1,6 @@ |
| # Fleet-internal engines model: census proposal |
| -Status: PROPOSED-design-fleet-internal-engines, to be asked of the census owner on #280. This is a proposal for review, not an owner ruling. |
| +Status: RULED as census-ruling-design-fleet-internal-engines (Paul, as census owner, 2026-10-21), accepted as proposed on #280. The overlay rows carry `rev3=census-ruling-design-fleet-internal-engines`. |
| Branch: `design-fleet-internal-engines`, pinned at `bb1bf408` (main merged in). CI's only failure was `TestPlan14RootReadCensus` in `internal/provision`, with two discrepancies: the new `internal/sim/engines` source envelope and the unclassified `internal/sim/engines/mutate.sh:external` read. |
| @@ -8,7 +8,7 @@ No production code changes on this branch. `internal/sim/engines` (amadan #335 p |
| ## Root-read entry |
| -- `internal/sim/engines/mutate.sh:external`. Executing identity: none at runtime. A developer or CI runs `go test` or the harness by hand, as their own user. No root, no production binary. The harness runs a prebuilt engines test binary once per rule with `ENGINESIM_MUTATE` set and writes logs only under `$TMPDIR/enginesim`. It never copies or edits source. Basis: classified as `internal/sim/hostlife/mutate.sh` is (`plan14-root-reads.tsv`, re-pinned in `plan14-root-reads-merge.tsv` under merge-ruling-2): a test harness pinned by the conservative external envelope, not production root authority. Proposed class: `legacy`, task: `accepted-legacy`. Sites: `file:external@0`. Digest: `e13dc977dabeaefddbdb3dfca68c04d531b282f6ea1b256d72c13a1caa365c46`. Frozen fingerprint: `f450a046d364d2d11eb9f81b709f597ff4cf8a2b48b2f4473cdee204ab5608d8`. |
| +- `internal/sim/engines/mutate.sh:external`. Executing identity: none at runtime. A developer or CI runs `go test` or the harness by hand, as their own user. No root, no production binary. The harness runs a prebuilt engines test binary once per rule with `ENGINESIM_MUTATE` set and writes logs only under `$TMPDIR/enginesim`. It never copies or edits source. Basis: classified as `internal/sim/hostlife/mutate.sh` is (`plan14-root-reads.tsv`, re-pinned in `plan14-root-reads-merge.tsv` under merge-ruling-2): a test harness pinned by the conservative external envelope, not production root authority. Class: `legacy`, task: `accepted-legacy`. Sites: `file:external@0`. Digest: `e13dc977dabeaefddbdb3dfca68c04d531b282f6ea1b256d72c13a1caa365c46`. Frozen fingerprint: `4f5ed448b20df36eb514bcf2ddfbd74dc0c516b327f5f4c5e7dabed700b98df4`. |
| ## Source envelope |
| @@ -16,4 +16,4 @@ No production code changes on this branch. `internal/sim/engines` (amadan #335 p |
| ## Seal |
| -The overlay `internal/provision/testdata/plan14-root-reads-design-fleet-internal-engines.tsv` is loaded last, after claim-merge-main-4. It adds one frozen declaration, so the seal moves. The preceding seal, securelisten-337's, which every later overlay left standing, is checked first: `33a8ff46dd9fcf85664c42c42eaf01585af6c92806cb7830fa8f30fd0950c430`. The resulting seal is `d8290d2c4829bf4ac2e64c993b797e9e5d2db6435eff0869f1119094dc2a3c1e`. |
| +The overlay `internal/provision/testdata/plan14-root-reads-design-fleet-internal-engines.tsv` is loaded last, after claim-merge-main-4. It adds one frozen declaration, so the seal moves. The preceding seal, securelisten-337's, which every later overlay left standing, is checked first: `33a8ff46dd9fcf85664c42c42eaf01585af6c92806cb7830fa8f30fd0950c430`. The resulting seal is `ca73eb766db03c4820076a28e84bbf15b61135a284294feaea78ae14b9b55071`. |
diff --git a/internal/provision/plan14_root_reads_test.go b/internal/provision/plan14_root_reads_test.go| index 2c8ee7311..7d4fe641e 100644 |
| --- a/internal/provision/plan14_root_reads_test.go |
| +++ b/internal/provision/plan14_root_reads_test.go |
| @@ -1256,9 +1256,10 @@ func TestPlan14RootReadCensus(t *testing.T) { |
| t.Fatal(err) |
| } |
| // Census overlay design-fleet-internal-engines (amadan #335 plan 1: the |
| - // test-only internal/sim/engines simulation package), loaded last. |
| - // PROPOSED-design-fleet-internal-engines, to be asked of the census owner |
| - // on #280 (docs/superpowers/notes/census-proposal-design-fleet-internal-engines.md). |
| + // test-only internal/sim/engines simulation package), loaded last, after |
| + // claim-merge-main-4. RULED as census-ruling-design-fleet-internal-engines |
| + // (Paul, as census owner, 2026-10-21), accepted as proposed |
| + // (docs/superpowers/notes/census-proposal-design-fleet-internal-engines.md). |
| // No production code changes. Its mutation harness mutate.sh is |
| // classified as internal/sim/hostlife/mutate.sh is: accepted legacy, a |
| // test harness pinned by the conservative external envelope, run by a |
| @@ -1272,7 +1273,7 @@ func TestPlan14RootReadCensus(t *testing.T) { |
| if err = loadRootReadInventory(filepath.Join(root, "internal/provision/testdata/plan14-root-reads-design-fleet-internal-engines.tsv"), &inv, true); err != nil { |
| t.Fatal(err) |
| } |
| - seal = "d8290d2c4829bf4ac2e64c993b797e9e5d2db6435eff0869f1119094dc2a3c1e" |
| + seal = "ca73eb766db03c4820076a28e84bbf15b61135a284294feaea78ae14b9b55071" |
| errs :=append(compareRootReads(got, inv), checkRootReadLegacy(inv, seal)...) |
| errs = append(errs, checkRootReadDeclarations(got, inv)...) |
| if len(errs) > 0 { |
diff --git a/internal/provision/testdata/plan14-root-reads-design-fleet-internal-engines.tsv b/internal/provision/testdata/plan14-root-reads-design-fleet-internal-engines.tsv| index d726d0357..7b7c4534c 100644 |
| --- a/internal/provision/testdata/plan14-root-reads-design-fleet-internal-engines.tsv |
| +++ b/internal/provision/testdata/plan14-root-reads-design-fleet-internal-engines.tsv |
| @@ -1,6 +1,6 @@ |
| -# Census overlay design-fleet-internal-engines (amadan #335 plan 1: the fleet-internal engines model, a test-only simulation package), loaded LAST, after claim-merge-main-4. PROPOSED-design-fleet-internal-engines, to be asked of the census owner on #280 (docs/superpowers/notes/census-proposal-design-fleet-internal-engines.md). |
| +# Census overlay design-fleet-internal-engines (amadan #335 plan 1: the fleet-internal engines model, a test-only simulation package), loaded LAST, after claim-merge-main-4. RULED as census-ruling-design-fleet-internal-engines (Paul, as census owner, 2026-10-21), accepted as proposed (docs/superpowers/notes/census-proposal-design-fleet-internal-engines.md). |
| # No production code changes. internal/sim/engines is new and every Go file in it is a _test.go file, which the census does not scan; its one scanned file is the bash mutation harness mutate.sh, which the scanner pins whole as an external file:external@0 read. It is classified as internal/sim/hostlife/mutate.sh is (plan14-root-reads.tsv, re-pinned in plan14-root-reads-merge.tsv under merge-ruling-2): legacy, accepted-legacy, a test harness pinned by the conservative external envelope, not production root authority. Executing identity: none at runtime; a developer or CI running go test or the harness, as their own user; no root and no production binary. |
| # Pinned at branch commit bb1bf408 (main merged in). One frozen declaration is added, so the seal moves; claim-merge-main-4 leaves the securelisten-337 seal standing, and that seal is checked first. The new internal/sim/engines envelope (mutate.sh alone) is pinned. |
| -@legacy f450a046d364d2d11eb9f81b709f597ff4cf8a2b48b2f4473cdee204ab5608d8 internal/sim/engines/mutate.sh external legacy accepted-legacy accepted-legacy;rev3=PROPOSED-design-fleet-internal-engines;identity=none at runtime: a developer or CI running go test or this harness by hand, as their own user; no root, no production binary;basis=engines mutation harness (test-only, internal/sim/engines; amadan #335 plan 1), adapted from internal/sim/hostlife/mutate.sh: it runs a prebuilt engines test binary once per rule with ENGINESIM_MUTATE set and writes logs only under $TMPDIR/enginesim; it never copies or edits source; pinned by the conservative external envelope, not production root authority file:external@0 e13dc977dabeaefddbdb3dfca68c04d531b282f6ea1b256d72c13a1caa365c46 |
| -internal/sim/engines/mutate.sh external legacy accepted-legacy accepted-legacy;rev3=PROPOSED-design-fleet-internal-engines;identity=none at runtime: a developer or CI running go test or this harness by hand, as their own user; no root, no production binary;basis=engines mutation harness (test-only, internal/sim/engines; amadan #335 plan 1), adapted from internal/sim/hostlife/mutate.sh: it runs a prebuilt engines test binary once per rule with ENGINESIM_MUTATE set and writes logs only under $TMPDIR/enginesim; it never copies or edits source; pinned by the conservative external envelope, not production root authority file:external@0 e13dc977dabeaefddbdb3dfca68c04d531b282f6ea1b256d72c13a1caa365c46 |
| +@legacy 4f5ed448b20df36eb514bcf2ddfbd74dc0c516b327f5f4c5e7dabed700b98df4 internal/sim/engines/mutate.sh external legacy accepted-legacy accepted-legacy;rev3=census-ruling-design-fleet-internal-engines;identity=none at runtime: a developer or CI running go test or this harness by hand, as their own user; no root, no production binary;basis=engines mutation harness (test-only, internal/sim/engines; amadan #335 plan 1), adapted from internal/sim/hostlife/mutate.sh: it runs a prebuilt engines test binary once per rule with ENGINESIM_MUTATE set and writes logs only under $TMPDIR/enginesim; it never copies or edits source; pinned by the conservative external envelope, not production root authority file:external@0 e13dc977dabeaefddbdb3dfca68c04d531b282f6ea1b256d72c13a1caa365c46 |
| +internal/sim/engines/mutate.sh external legacy accepted-legacy accepted-legacy;rev3=census-ruling-design-fleet-internal-engines;identity=none at runtime: a developer or CI running go test or this harness by hand, as their own user; no root, no production binary;basis=engines mutation harness (test-only, internal/sim/engines; amadan #335 plan 1), adapted from internal/sim/hostlife/mutate.sh: it runs a prebuilt engines test binary once per rule with ENGINESIM_MUTATE set and writes logs only under $TMPDIR/enginesim; it never copies or edits source; pinned by the conservative external envelope, not production root authority file:external@0 e13dc977dabeaefddbdb3dfca68c04d531b282f6ea1b256d72c13a1caa365c46 |
| @coverage internal/sim/engines 41ab761e50cf9d98d1f2c51b472cf453085a80c506ab382914fe01ce930ae2fe |