GloriousFlywheel — Week of May 10–16
Status: closeout execution record, reconciled through 2026-05-17 after GloriousFlywheel PR #698 promoted the ActivityPub package proof, PR #699 promoted the MassageIthaca production-build proof, and GF REAPI Cell run 25984827370 proved the tinyland.dev package typecheck target class; the latest audited GF post-merge green run set is 25982142xxx plus RustFS canary 25982895217
Authors: Jess, Claude, Codex
Supersedes nothing. Sits alongside 2026-04-23-gloriousflywheel-pooled-substrate-dogfood-reset.md as the next operating week.
Vision restatement
A Bazel+Nix substrate where a small dev machine submits work into governed cache, runner, and REAPI capacity without learning the cluster — building/testing rust, c++, typescript, go (and later chapel, zig) hermetically against GloriousFlywheel infra.
Honest current line (reconciled 2026-05-10)
- RBE proof is target-class scoped, not broad/default RBE. The current proved set is
//app:build,//app:unit_tests,//:deployment_bundle,//docs-site:build, the WAS-110 public injected-repository handoff, the pure-Go, cgo-backed Go, Rust, and C++ unit-test classes at//examples/hello-go:hello_test,//examples/hello-go-cgo:cgo_test,//examples/hello-rust:hello_test, and//examples/hello-cc:hello_test, plus the target-scoped Playwright/Puppeteer/SvelteKit/Vitest/svelte-check web proofs and public omux standalone//:buildproof recorded inconfig/rbe-target-eligibility.json. Default developer and CI posture remains cache-forward local/runner execution unless explicitly opted into the proved executor-backed path. - May 16-17 closeout added two private tinyland.dev app classes and capacity diagnostics. Run
25970619559provedtinyland-inc/tinyland.dev //:app_typecheckwith GitHub App checkout authority, verified privatetummycrypt_tinyland_schemas:0.2.4distdir staging, forced execution,56 remoteprocesses, remote TypeScripttsc, remote Svelte build tool, remote Vite build tool, and remoteapp_typecheck_toolevidence. Run25978934708then provedtinyland-inc/tinyland.dev //:app_buildwith the same checkout and distdir authority, forced execution,62 remoteprocesses, remote TypeScript package fanout, and remoteJsRunBinary app_build.logevidence. PR #690 made the enlargedgf-reapi-cellscale to zero between proof runs. PR #695 then addedShared Label Queue Pressuretojust arc-burst-capacity-auditafter the PR #694 heavy-lane contention window. These are runner capacity and queue-visibility improvements, not target-class proofs. - May 17 added a private MassageIthaca production-build class. Run
25983800544provedJesssullivan/MassageIthaca //:sveltekit_node_buildwith repo-scoped deploy-key checkout authority, consumer commite06a70d12417f04568092a62e225b6c6595c3b39, forced execution, proof nonce20260517T064447Z-25983800544-1,3193 remoteprocesses, remote lifecycle-hook execution foresbuild,msw, andsharp, remotesveltekit_sync_bin_/sveltekit_sync_bin, remotevite_build_bin_/vite_build_bin, artifact verifier success, and Kubernetes restart evidence that stayed at0. This is one private SvelteKit/Vite production-build target class, not all MassageIthaca builds/tests, deployed booking E2E, image publication, durable private mirror/repository-cache authority, broad/default web RBE, or CAS/action-cache backend suitability. - May 17 also added a private tinyland.dev package typecheck class. Run
25984827370provedtinyland-inc/tinyland.dev //packages/tinyland-a11y-engine:typecheckwith GitHub App checkout authority,workspace_path=consumer-workspace, consumer checkout commit3730c6966d5e069cff92abc7c606fca9db5b54af, verified privatetummycrypt_tinyland_schemas:0.2.4distdir staging, forced execution, proof nonce20260517T073751Z-25984827370-1,2 remoteprocesses, remoteesbuildlifecycle-hook execution, remote TypeScripttscforpackages/tinyland-color-utils, artifact verifier success, and Kubernetes restart evidence that stayed at0. This is one private package TypeScript typecheck target class, not all tinyland.dev packages, all TypeScript, Vite/SvelteKit builds, durable private mirror/repository-cache authority, broad/default web RBE, or CAS/action-cache backend suitability. - Toolchain breadth improved, and Stage 1 test breadth is now explicit. Rust, C++, and Go have BCR-backed binary examples plus trivial cache-backed test targets. Rust and Go use prebuilt language toolchains; C++ currently uses the runner/Nix/system cc toolchain shape. The pure-Go, cgo-backed Go, Rust, and C++ tests each have narrow REAPI proofs; broader Go target classes, broader cgo-backed Go target classes, broader Rust target classes, and broader C++ target classes are not RBE-proved yet. These are not Nix-sourced language toolchains. Zig/Chapel are absent.
- The cgo-backed Go proof followed worker/toolchain hermeticity blocker evidence. PR #605 fixed the gf-reapi-cell output inlining bug from run
25631848864. Retry run25632300253reached real rules_go remote actions, thenGoStdlibfailed inruntime/cgowithcc: no such file or directory. PR #607 pinnedpure = "on"for the trivial test, and run25634296833proved the pure-Go class with11 remoteprocesses. After the worker image carried the C/C++ wrapper closure, run25649628233proved the separate cgo-backed//examples/hello-go-cgo:cgo_testclass with11 remoteprocesses and remoteruntime/cgo,GoCompilePkg,GoLink, andtest-setupevidence. Broader cgo-backed Go remains unproved. - The C++ proof followed a toolchain materialization blocker. Run
25638930305forced the//examples/hello-cc:hello_testtest proof through the GF REAPI Cell, reached the remote C++ compile action, then failed because the worker could not execute/nix/store/zx71vq7s1v840wqsrw2m2ckmxn413a2b-gcc-wrapper-13.3.0/bin/gcc. Bazel reported6 processes: 6 internal, so that remains blocker evidence for the worker C/C++ closure. After the worker image carried that closure, run25648975728proved the trivial C++ unit-test class with4 remoteprocesses. - No live durable repository-cache/distdir/mirror authority.
.bazelrcuses--disk_cacheonly. External fetches rely on--experimental_repository_downloader_retries=5plus the WAS-110--inject_repository=local override (examples/bazel/gloriousflywheel-bazel.sh:61–88).Source Bazel Proofnow has an ephemeral Node Linux x64 distdir materializer and coverage contract, anddocs/contracts/bazel-external-input-durable-authority.jsonrecords the product gate asno-live-durable-authority. - Dashboard Docker pnpm bootstrap is hardened, not mirrored. PR #609 made the dashboard image build explicitly prepare
pnpm@9.15.4with BuildKit cache mounts and bounded install concurrency. PR #610 added the missingcorepack enable pnpmshim step after the first post-merge image build exposed/bin/sh: pnpm: not found.Build Container Imagesrun25637280370is green onmain. This is one Node/pnpm bootstrap resilience fix, not durable mirror authority. - BCR/package authority advanced separately from RBE.
tinyland-inc/bazel-registry#42registeredtummycrypt_scheduling_bridge@0.5.11withtummycrypt_scheduling_kit@0.8.0and left historical0.4.10metadata unchanged after verifying the source release really depended on scheduling-kit^0.7.7. This closes TIN-1041 as package-authority hygiene, not RBE evidence. - RustFS is
interim_onlypertests/ha_state_candidate_inventory.sh; bucket-index failures need restart to repair. Attic writes are quarantined via.github/actions/nix-job/action.yml:10. - ARC live wrinkle: the
tinyland-nixPending state from sprint kickoff resolved. The later #595 and #602 Platform Proof delays were saturatedtinyland-dindcapacity with a healthy listener, not listener-continuity or RBE regressions. - Dev attachment still requires operator-provided
BAZEL_REMOTE_CACHEendpoint viascripts/bazel-cache-backed.sh.
End-of-week success
- Main stays green; no unclassified runner/cache/backend regression.
- ARC runner control plane is truthy: every product lane has a listener or an explicit debt ticket.
- RustFS remains quarantined from trusted writes and future RBE CAS/action-cache. Backend authority decision recorded.
- Bazel external input authority improves beyond “upstream with retries” for at least one real path (Codex stream).
- Three new Bazel-hermetic BCR toolchain wedges land for rust, c++, go, and the next test-proof gap is explicit.
- One next RBE target class is either proved through forced REAPI or blocked with exact hermetic/toolchain evidence (Codex stream).
- BCR/Bzlmod posture advanced separately from RBE.
- Docs and Linear reflect what is true, not what we want to be true.
May 11 Progress, Closables, And Goals
Progress
- Runner throughput is no longer capped at the older DinD envelope. Current
source and live shape is
tinyland-dind=20on honey plustinyland-dind-compute-expansion=16on sting. - Nix overflow exists but is deliberately bounded:
tinyland-nix=16on honey plustinyland-nix-compute-expansion=4on sting. That helps org-scoped Nix queue pressure; it does not solve personal-repo runner visibility. - The sting overflow lane uses
local-path-sting-fast-ephemeralgeneric ephemeral PVCs for/home/runner/_work(48Gi) and/var/lib/docker(96Gi), so large recoverable DinD churn uses sting fast-local SSD/NVMe scratch instead of kubelet root ephemeral storage or bumble OpenEBS. - The May 10 queue-drain incident is classified as ARC/admission/storage envelope policy under burst, not raw cluster exhaustion.
- TIN-1136 / the May 13 operator-clarity slice adds
just arc-burst-capacity-auditas the first read for shared-label burst incidents. It keeps Honey pod-slot pressure, shared-label owner fanout, namespace quota, kubelet root/imagefs headroom, and Sting fast-local DinD PVC evidence together before another IaC mutation is proposed. - Blahaj #491 / TIN-1078 has complete SSD/NVMe evidence for honey, sting, mbp-13, pzm, and bumble. The bumble gap was Lab-owned SOPS sudo-source drift, not observed ZFS/OpenEBS failure; lab#424 reconciled the repo per-host SOPS source and the bumble-only privileged audit succeeded.
- The active RBE frontier has moved from “can we prove any remote execution?” to target-class closure: pure-Go test is proved, C++ and cgo-backed Go have exact worker/toolchain blockers, and Rust runtime closure is now tracked by TIN-1115.
Closables
- Lab #424 is closed after
just host-sops-sudo-check bumble --strictreportedPASSwithout printing decrypted material and the bumble-only storage audit collected privileged LVM/ZFS/SMART evidence. - Blahaj #491 is closed and TIN-1078 is Done. Keep exporter coverage gaps in Blahaj #59 instead of reopening the finite media audit.
- Keep GloriousFlywheel #407 and #413 open until the Dell-7810 and XoxdWM
owner-boundary proofs show real shared
tinyland-nixreachability without repo-scoped runner sets or repo-specific labels. - Keep GloriousFlywheel #412 open until the personal package compatibility
lanes are retired, not merely quarantined in the Jess overlay. The package
repos already select
["tinyland-nix"]; retirement means removing the repo-registration compatibility lanes or selecting a broader owner boundary. - Use scoped scoreboard checks for these owner-boundary proofs:
just orgwide-enrollment-scoreboard --repo Jesssullivan/Dell-7810 --repo Jesssullivan/XoxdWM --repo Jesssullivan/scheduling-kit --repo Jesssullivan/scheduling-bridge. The full orgwide scan remains a broader reporting job and should not block this tranche when GitHub API traversal is slow. - Treat TIN-952, TIN-953, TIN-955, TIN-1080, and TIN-99 as closed context, not active implementation lanes.
Goals
- Do not live-patch active baseline ARC scale-set caps under load as the default queue response. Prefer source-owned capacity changes, additive overflow lanes, read-only storage/admission audits, planned deploys, and post-deploy runtime checks.
- Treat AX/DX/UX for this sprint as an operator product requirement: an agent, developer, or on-call human must be able to answer “why is this queued?” with one read-only GloriousFlywheel command before touching ARC/Terraform/OpenTofu state.
- Keep runner burst relief in GloriousFlywheel / TIN-1070. Keep SSD/NVMe health in Blahaj #491 / TIN-1078. Keep honey/sting NVMe balancing and cooling in TIN-618. Keep replicated storage HA and RKE2 quorum in TIN-617 / follow-on HA work.
- Keep TIN-615/TIN-617/TIN-618 out of runner burst relief: Bumble OpenEBS watch/tuned-class adoption, RKE2 quorum/fixed endpoint, and Sting fast-local workload expansion are separate topology lanes with different acceptance checks.
- Do not treat bumble OpenEBS/ZFS as hot DinD scratch. It remains the durable single-anchor PVC plane until a separate design accepts network-backed scratch semantics or lands replicated durable storage.
- Preserve the product line: cache-forward local/CI execution is the default; RBE is target-class scoped and must stay tied to explicit eligibility and proof evidence.
May 12 Owner-Boundary Sprint Addendum
PR #626 merged at 12340a42f1a0b95f034f67d23554c7d3f6d8b61f and made the
owner-boundary scoreboard part of the source-owned sprint record. The next
bounded sprint packet is
2026-05-12-owner-boundary-proof-and-retirement.md.
Current closure boundary:
- GF #407 / TIN-550 stays open until Dell-7810 has a real assigned-job proof on
a compliant shared
tinyland-nixrunner, or Dell is explicitly left blocked. - GF #413 / TIN-592 stays open until XoxdWM has a real opt-in assigned-job
proof on a compliant shared
tinyland-nixrunner. - GF #412 stays open until
personal-package-nix-a/bare retired or replaced by an accepted broader owner-boundary model and package CI is reproved. - TIN-615, TIN-617, and TIN-618 stay separate infrastructure lanes; they do not solve GitHub owner-boundary visibility.
May 14 Backend And RBE Tracker Checkpoint
- TIN-1147 is now the active RustFS/backend stop-go gate for trusted Attic
publication. TIN-1046 remains the publication ramp issue, but it is blocked
until TIN-1147 proves a non-restart RustFS repair/reindex path, a RustFS
upgrade/topology fix, or a replacement backend. Known
small-checkandmedium-checkprofiles are reproduction evidence, not safe ramp steps. - RustFS canaries and post-restart checks can prove current coherence for guarded reads/state checks. They do not promote RustFS to trusted Attic write fan-out, RBE CAS/action-cache, BCR publication, or HA state authority.
- Private consumer proof status is now promoted for two narrow Vitest target
classes. TIN-1160 has a positive MassageIthaca proof: run
25928429263checked outJesssullivan/MassageIthacawith the repo-scoped deploy key, forced execution, reported3319 remoteprocesses, and passed//:booking_operation_unit_tests. TIN-1125 now has a positive tinyland.dev proof after the exact blocker chain: run25933145419proved checkout, codeload distdir staging, remote-first execution, and4 remoteprocesses but failed on Grafana test Kubernetes semantics; tinyland.dev PR #401 fixed that test hermeticity issue; main proof25935041748then passed//packages/tinyland-grafana:testwith repo-scoped deploy-key checkout, verifiedtummycrypt_tinyland_schemas:0.2.4codeload distdir input, proof nonce20260515T184435Z-25935041748-1,1531 processes: 468 remote cache hit, 1059 internal, 4 remote, and remotetest-setup.sh packages/tinyland-grafana/test_/testevidence. That is still one private package Vitest target class, not all tinyland.dev tests or broad web RBE. - TIN-1181 adds the next private app target class. MassageIthaca run
25938855554proved//:svelte_check_testwith repo-scoped deploy-key checkout, forced execution, proof nonce20260515T200641Z-25938855554-1,3319 remoteprocesses, remote lifecycle-hook evidence foresbuild,sharp,@sparticuz/chromium,msw, and@vercel/speed-insights, remotesveltekit_sync_bin_/sveltekit_sync_bin, remotetest-setup.sh svelte_check_test_/svelte_check_test, and remotegenerate-xml.sh. This is one private SvelteKit/svelte-check target class, not broad MassageIthaca RBE, browser tests, or deployed flows. - Web/Vite/Svelte/Puppeteer RBE progress is real but target-class scoped:
public consumer proof classes are recorded in the eligibility manifest and
docs. Run
25742782051also proves the public omuxtinyland-inc/omux.xoxd.ai //:unit_testsVitest target class with4 remoteprocesses and remotetest-setupevidence. Run25891956165proves the public omux//:buildSvelteKit/Vite standalone build target class with4 remoteprocesses, remote lifecycle-hook evidence, remotesveltekit_sync, and remotevite_build. Run25892939448proves the publicJesssullivan/jesssullivan.github.io //:types_unit_testsSvelteKit/Vite/Vitest target class with forced execution, proof nonce20260515T001050Z-25892939448-1,855 remoteprocesses, remote lifecycle-hook evidence foresbuild,sharp, andpuppeteer, and remotetest-setup.sh types_unit_tests_/types_unit_testswithexit_code=0. Run25894297074proves the publicJesssullivan/jesssullivan.github.io //:playwright_chromium_smokePlaywright Chromium runtime-smoke target class with forced execution, proof nonce20260515T005745Z-25894297074-1,855 remoteprocesses, remote lifecycle-hook evidence without browser downloads, and remotetest-setup.sh playwright_chromium_smoke_/playwright_chromium_smokewithexit_code=0. Run25897326537proves the public omuxtinyland-inc/omux.xoxd.ai //:playwright_chromium_smokePlaywright static-output target class with forced execution, proof nonce20260515T024138Z-25897326537-1,6 remoteprocesses, remote@tailwindcss/oxideandesbuildlifecycle hooks, remotesveltekit_sync, remotevite_build, remotetest-setup.sh playwright_chromium_smoke_/playwright_chromium_smoke, remotegenerate-xml.sh, and a passing Chromium smoke. Broad/default web RBE, broader private consumer target classes and builds, hosted E2E, and repo-wide migration remain unproved. - TIN-1199 adds the next private browser target class. MassageIthaca run
25953478878proves//:playwright_tmd_smokewith repo-scoped deploy-key checkout, consumer commit08555e16b9ee0504b1b23e6373b5b6bbfb799f5f, forced execution, proof nonce20260516T050753Z-25953478878-1,3318 remoteprocesses, remotesveltekit_sync_bin_/sveltekit_sync_bin, remotevite_build_bin_/vite_build_bin, remotetest-setup.sh playwright_tmd_smoke_/playwright_tmd_smoke, remotegenerate-xml.sh, and a4.5spassing Playwright TMD smoke. This is one private browser-smoke target class, not broad MassageIthaca or deployed E2E RBE. - TIN-1197 adds the next private tinyland.dev app target class. Run
25970619559provestinyland-inc/tinyland.dev //:app_typecheckwith GitHub App checkout authority, verifiedtummycrypt_tinyland_schemas:0.2.4distdir staging, forced execution, proof nonce20260516T191944Z-25970619559-1,5578 processes: 1 action cache hit, 2567 remote cache hit, 2955 internal, 56 remote, remote TypeScripttsc, remote Svelte build tool, remote Vite build tool, remoteapp_typecheck_tool, proof artifact verifier success, and Kubernetes restart evidence that stayed at0. This is one private root app typecheck target class, not all tinyland.dev builds/tests, browser E2E, Vite production build RBE, durable private mirror/repository-cache authority, broad/default web RBE, or CAS/action-cache backend suitability. - TIN-1251 adds the next private tinyland.dev production-build target class.
Run
25978934708provestinyland-inc/tinyland.dev //:app_buildwith GitHub App checkout authority, verifiedtummycrypt_tinyland_schemas:0.2.4distdir staging, forced execution, proof nonce20260517T021820Z-25978934708-1,6146 processes: 3125 remote cache hit, 2959 internal, 62 remote, remote TypeScript package fanout, remoteJsRunBinary app_build.log, proof artifact verifier success, and Kubernetes restart evidence that stayed at0. This is one private root Vite/SvelteKit production-build target class, not all tinyland.dev builds/tests, browser E2E, deployed app behavior, durable private mirror/repository-cache authority, broad/default web RBE, or CAS/action-cache backend suitability. - Current product order: keep the green cache-forward baseline green, expand REAPI proofs one target class at a time without depending on RustFS write authority, and treat TIN-1147 as the stop/go decision for trusted cache publication.
May 16-17 RBE And Capacity Closeout
- TIN-1197 is Done.
tinyland-inc/tinyland.dev //:app_typecheckis now a proved private root SvelteKit app typecheck target class via GF REAPI Cell proof run25970619559. The proof used GitHub App checkout authority, verifiedtummycrypt_tinyland_schemas:0.2.4private distdir staging, forced execution, proof nonce20260516T191944Z-25970619559-1,5578 processes: 1 action cache hit, 2567 remote cache hit, 2955 internal, 56 remote, remote TypeScripttsc, remote Svelte build tool, remote Vite build tool, remoteapp_typecheck_tool, proof artifact verifier success, and Kubernetes restart evidence that stayed at0. - TIN-1251 is Done. PR #693 merged as
21090d6c49f9e23d72a007b2ae2c34b1aed05d9band promotedtinyland-inc/tinyland.dev //:app_buildafter main-ref GF REAPI Cell proof run25978934708passed with forced execution,62 remoteprocesses, remoteJsRunBinary app_build.log, proof artifact verifier success, and Kubernetes restart evidence that stayed at0. Post-merge main is green for Secret Detection25979569330, Tranche Proof Status25979569346, Validate25979569340, Deploy Docs25979569334, Publish to FlakeHub25979569333, Source Bazel Proof25979569337, Build Container Images25979569345, and Platform Proof25979569332. - TIN-1270 is ready for docs/manifest promotion after GF REAPI Cell proof run
25981546207provedtinyland-inc/tinyland.dev //packages/tinyland-activitypub:testfrommainwith GitHub App checkout authority, verifiedtummycrypt_tinyland_schemas:0.2.4private distdir staging,workspace_path=consumer-workspace, forced execution, proof nonce20260517T044208Z-25981546207-1,728 processes: 1 action cache hit, 299 remote cache hit, 415 internal, 14 remote, remotetest-setup.sh packages/tinyland-activitypub/test_/test, proof artifact verifier success, and Kubernetes restart evidence that stayed at0. This remains one private ActivityPub package Vitest target class, not broad tinyland.dev package-test RBE. - TIN-1282 is ready for docs/manifest promotion after GF REAPI Cell proof run
25984827370provedtinyland-inc/tinyland.dev //packages/tinyland-a11y-engine:typecheckfrommainwith GitHub App checkout authority, verifiedtummycrypt_tinyland_schemas:0.2.4private distdir staging,workspace_path=consumer-workspace, forced execution, proof nonce20260517T073751Z-25984827370-1,553 processes: 223 remote cache hit, 328 internal, 2 remote, remoteesbuildlifecycle-hook execution, remote TypeScripttscforpackages/tinyland-color-utils, proof artifact verifier success, and Kubernetes restart evidence that stayed at0. This remains one private package TypeScript typecheck target class, not broad tinyland.dev package typecheck RBE. - TIN-1249 is Done. PR #690 merged as
38ce8921209e0bf2aa7e8d2bfc85e52dd17b7767and madegf-reapi-cellscale-to-zero the normal committed state between proof runs. Post-merge main is green for Secret Detection25972244766, Tranche Proof Status25972244775, Validate25972244728, RustFS State Authority Canary25972244727, Deploy Docs25972244743, Publish to FlakeHub25972244739, Source Bazel Proof25972244736, Publish GF REAPI Cell25972244725, and Platform Proof25972244753. - TIN-1257 is Done. PR #695 merged as
f0721b58ec4a2e25f525dd7655a77748ec4e3959and added the read-onlyShared Label Queue Pressuresection tojust arc-burst-capacity-audit. That diagnostic joins label capacity, active holder repositories, pending runner state, and not-ready pod scheduler messages such asInsufficient ephemeral-storage. Post-merge main is green for Secret Detection25980560631, Validate25980560638, Tranche Proof Status25980560632, Publish to FlakeHub25980560619, Deploy Docs25980560637, RustFS State Authority Canary25980560626, Platform Proof25980560634, and Source Bazel Proof25980560625. - Live runtime after #690 matched the policy:
gf-reapi-cellwas idle at0/0, andtinyland-nix-heavywas drained withCURRENT=0,PENDING=0. The capacity issue was not raw cluster exhaustion; it was residency policy for a 16Gi proof cell sharingstingwith the heavy runner lane. - Boundary: this sprint now has meaningful web/TypeScript RBE progress, but it is still target-class scoped. It does not prove all Vite/Svelte/Playwright, tinyland.dev tests, browser E2E, durable private mirror authority, broad/default RBE, or RustFS-backed CAS/action-cache authority.
Streams
Codex stream — committed, no further direction needed
Per Codex’s posted plan: runner-control-plane checks, RBE boundary/eligibility checks, Bazel external-input authority guards, developer cache attachment contract, picking one next RBE target class to prove or block.
Coordination contract with Codex: Jess + Claude do not touch config/rbe-target-eligibility.json, scripts/external-fetch-authority.sh, scripts/cache-attachment-contract.sh, or rbe-*-check just-targets this week. If Codex ships a new toolchain-class eligibility row, Claude reflects it in docs same-day.
Progress through 2026-05-10:
#593landed ephemeral Node distdir materialization for Source Bazel Proof.#594landed source-proof distdir coverage enforcement.#595landed the durable external-input authority promotion gate and kept the current state atno-live-durable-authority.#596guarded the remote-test roadmap truth around the single proved TypeScript remote-test class and the missing rust/c++/go test targets.#597through#601added the pilot repo guide, exported workflow template, pilot workflow contract, guide/template sync checks, and internal workflow-cache publication alignment.#602synced cache/state reality docs with the current publication split: pull requests stay read-only for Attic publication, trusted default-branch pilot/downstream cache publication is token-gated, and broad GloriousFlywheel proof workflows keeppush-cache: "false"while RustFS bucket-index debt remains unresolved.#607kept//examples/hello-go:hello_testexplicitly pure-Go withpure = "on"so the next proof tested one bounded target class instead of cgo-backed Go by accident.#608promoted the pure-Go//examples/hello-go:hello_testclass in the eligibility manifest and docs after forced GF REAPI Cell run25634296833proved20 processes: 9 internal, 11 remotewith remoteGoStdlib, compile, link, andtest-setupevidence.codex/prove-cgo-go-rbeproved the separate cgo-backed//examples/hello-go-cgo:cgo_testclass in forced GF REAPI Cell run25649628233. The proof reported18 processes: 7 internal, 11 remotewith remoteruntime/cgo,GoCompilePkg,GoLink, andtest-setupevidence. Broader cgo-backed Go remains unproved.#609hardened dashboard Docker pnpm/Corepack bootstrap after a transient post-merge image build failure against the npm tarball path. The first version missed the Corepack shim setup.#610addedcorepack enable pnpm, extended the workflow-cache proof guard, and restored a green default-branch image proof:Build Container Imagesrun25637280370built, scanned, and signed the dashboard image onmain.#611reconciled May 10 RBE truth after the pure-Go proof and dashboard bootstrap fixes. Post-merge main at2755bcfb267337bf1f83d9d3ec5ef51d8d3805ffwas green for Source Bazel Proof (25637575317), Deploy Docs (25637575308), Platform Proof (25637575321), Validate (25637575328), Publish to FlakeHub (25637575322), Secret Detection (25637575323), and Tranche Proof Status (25637575354).#624promoted the trivial C++ REAPI proof. Post-merge main at256433d9f0c4a605e2f743bd5883333260ad9361was green for Source Bazel Proof (25649354512), Deploy Docs (25649354515), Platform Proof (25649354561), Validate (25649354525), Publish to FlakeHub (25649354527), Secret Detection (25649354521), Tranche Proof Status (25649354518), and Build Container Images (25649354539).tinyland-inc/bazel-registry#42closed TIN-1041 by addingtummycrypt_scheduling_bridge@0.5.11withtummycrypt_scheduling_kit@0.8.0. The post-merge registry run25637800822passednpm run validate,npm run smoke:resolve, andnpm run smoke:stage1-consumer.- Current Codex gap: pure-Go, cgo-backed Go, Rust, and C++ trivial unit-test classes are now proved through forced REAPI runs; broader Go/cgo, Rust, C++, durable external-input authority, and broad/default RBE are still unproved.
Jess stream — ops, product authority, backend decisions
J1. ARC hygiene reconcile — Mon, 1–2h window
- Reconcile
tinyland-nixARS Pending: confirm whether the listener pod (tinyland-nix-kvm-ddd868ff-listener) is for an old config rev, then either delete the orphaned ephemeral runners + force ARS reconcile, or recreate the ARS viatofu/stacks/arc-runners. - Acceptance:
kubectl get autoscalingrunnerset,autoscalinglisteners -Ais consistent; no orphanedtinyland-nix-xc9zx-runner-*pods running against a Pending parent.
J2. Backend authority decision record — Tue
- Author
docs/decisions/backend-authority-2026-05.md. Statement: RustFS is acceptable for guarded interim reads + non-trusted state probes; never the trusted backend for Attic publication, strict HA state, or future RBE CAS/action-cache. Future CAS/action-cache backend = separate evaluation tracked under TIN-1016. - Acceptance: any doc or runbook implying “RustFS for trusted writes” is corrected; the decision is referenced from
docs/roadmap.mdand TIN-1043.
J3. Dev-machine attachment field test — Thu
- Drive a real attach session from one resource-constrained machine using the wrapper as it stands today. Capture friction in a checklist: port-forward steps, cert/auth surprises, error messages, time-to-first-cache-hit.
- Acceptance: friction log committed at
docs/runners/dev-attachment-field-notes-2026-05.md. Feeds Claude’s C4.
J4. Maintenance window arbiter — ongoing
- All disruptive ops (runner drain, bumble node lifecycle, backend restart, RustFS scratch repair) require Jess approval. Codex and Claude open
needs-windowissues; Jess batches them mid-week.
Claude stream — toolchain hermeticity wedge, docs, BCR posture
C1. Multi-language toolchain wedge — landed 2026-05-09, three sequential PRs
The user’s vision can’t be true without hermetic language coverage. The landed wedge uses canonical BCR toolchains where rules_nixpkgs_rust/cc/go were not available in BCR. The remaining gap is test coverage, not binary-compilation coverage:
| Lang | Action | Proof target | PR |
|---|---|---|---|
| Rust | rules_rust 0.70.0 BCR toolchain with //examples/hello-rust:hello rust_binary and //examples/hello-rust:hello_test rust_test. |
Stage 1 cache-backed proof target added; forced REAPI run 25648670844 proved the trivial Rust unit-test class with 5 remote processes. |
Landed |
| C++ | rules_cc 0.2.18 BCR rule surface with //examples/hello-cc:hello cc_binary and //examples/hello-cc:hello_test cc_test. |
Stage 1 cache-backed proof target added; forced REAPI run 25648975728 proved the trivial C++ unit-test class with 4 remote processes after run 25638930305 exposed the missing worker C/C++ closure. |
Landed |
| Go | rules_go 0.60.0 BCR toolchain with //examples/hello-go:hello go_binary, //examples/hello-go:hello_test pure-Go go_test, and //examples/hello-go-cgo:cgo_test cgo-backed go_test. |
Stage 1 cache-backed proof targets added; pure-Go and one cgo-backed test class proved by forced REAPI. | Landed |
Zig and Chapel: explicit backlog. Not yet on production critical path; rules_chapel doesn’t exist (will need a nixpkgs_package shim). Revisit next sprint after rust/cc/go land.
Acceptance for C1:
- Three new
examples/hello-{rust,cc,go}BUILD targets compile under cache-backed CI. docs/build-system/toolchain-coverage.mdtabulates language → hermeticity status → proof target → known gaps. Source of truth for “can we build X on GF” questions.- No claim of RBE eligibility for any of these — Codex’s eligibility JSON owns that. Only claim “Bazel-hermetic, cache-backed.”
C2. Roadmap & current-state truth pass — Mon, reconciled after Codex proof updates
docs/roadmap.mdanddocs/current-state.md: keep the proven-RBE-target list aligned with the eligibility manifest and GF REAPI evidence. Current narrow proof set is//app:build,//app:unit_tests,//:deployment_bundle,//docs-site:build, the WAS-110 public injected-repository handoff, the pure-Go, cgo-backed Go, Rust, and C++ unit-test classes at//examples/hello-go:hello_test,//examples/hello-go-cgo:cgo_test,//examples/hello-rust:hello_test, and//examples/hello-cc:hello_test, plus the target-scoped Playwright/Puppeteer/SvelteKit/Vitest web proofs, public omux standalone//:build, and public omux//:playwright_chromium_smokeproof recorded inconfig/rbe-target-eligibility.json. This still is not broad/default RBE.- Add a “Toolchain coverage” row table.
- Acceptance: a fresh reader cannot conclude we have broad RBE today.
C3. BCR / Bzlmod posture note — Wed, updated after TIN-1041 closeout
- Standalone from RBE:
docs/build-system/bcr-posture-2026-05.mdcovering: TIN-1041 scheduling-bridge pin resolution, internal-registry vs public-BCR decision criteria, module-name compatibility shape. - TIN-1041 is now closed by
tinyland-inc/bazel-registry#42: old0.4.10metadata stays historical; current0.5.11carries the scheduling-kit0.8.0dependency. - Acceptance: doc names the resolved decision and keeps package authority separate from execution authority.
C4. Self-service attachment scaffold — Fri
- Take Jess’s J3 friction log and draft a
just dev-attachrecipe wrappingbazel-cache-backed.sh+ Nix substituter setup behind one command, with explicit fallthrough error if cluster context isn’t reachable. - Scoped: first iteration, alpha. Not the productionized self-service path. Land behind a clear “operator help still expected” note.
- May 10 hardening:
just dev-attachnow derives status from the same strict cache attachment contract used by proof commands, refuses executor-backed env as local-cache proof, and hasjust dev-attach-contract-checkcoverage. - Acceptance:
just dev-attachexists; one fresh dev can run it and either get green-lit or get a clear, actionable error.
C5. Remote-test gap framing — landed, then reconciled after Codex proof updates
docs/build-system/remote-test-roadmap.mdnow starts from the real state: one proved TypeScript remote-test class (//app:unit_tests) and Stage 1 rust/c++/go cache-backed test targets. Next proof step is keeping those tests green in Source Bazel Proof, then one forced REAPI proof only after cache-backed test proof exists.
Daily cadence
| Day | Jess | Claude | Codex |
|---|---|---|---|
| Mon | J1 ARC hygiene window | C2 roadmap truth pass | runner-control-plane checks |
| Tue | J2 backend decision record | C1 PR#1 rust toolchain | RBE eligibility guards |
| Wed | (window arbiter as needed) | C1 PR#2 c++ toolchain + C3 BCR posture | external-input authority |
| Thu | J3 attachment field test | C1 PR#3 go toolchain | dev attachment contract |
| Fri | review + sign-off | C4 dev-attach scaffold + C5 remote-test framing | next RBE target class proof or block |
End-of-week joint review: Friday afternoon. Walk through docs/current-state.md, the new toolchain-coverage.md, Codex’s eligibility delta. Decide next sprint’s wedge (likely: zig OR a real RBE target class promotion, not both).
Validation gates (before any PR is considered complete)
Repo-local:
just checkjust rbe-boundary-checkjust rbe-target-eligibility-checkjust rbe-proof-contract-checkjust bazel-external-fetch-authority-self-testjust consumer-bazel-wrapper-contract-checkjust runner-scale-contract-checkjust runner-cache-contract-checkjust product-reality-review-checkgit diff --check
Live read-only when relevant:
kubectl get autoscalingrunnerset -Akubectl get autoscalinglisteners -Ajust arc-burst-capacity-audit --include-label tinyland-dind --include-label tinyland-nix- ARC listener/queue drift checks
- RustFS read/canary checks
- OpenTofu state readiness checks (interim/read-only)
Required post-merge signals:
- Secret Detection green
- Validate green
- Platform Proof green
- Source Bazel Proof green
- Deploy Docs green
- Publish to FlakeHub green or clearly unrelated/skipped
Guardrails (apply to all three of us)
- No new public interface unless required — extend
BAZEL_REPOSITORY_CACHE,BAZEL_DISTDIR,GF_BAZEL_INJECT_REPOSITORIES, existing wrapper envs. - No repo-specific runner labels; capability classes only.
- Attic trusted writes stay disabled.
- RustFS does not get promoted to any trusted role.
- No claim of RBE for a target unless it appears in Codex’s eligibility JSON with proof evidence.
- Docs say what’s true today, separately from what’s planned.
- All disruptive cluster ops route through Jess.
- No live destructive apply, runner drain, or backend restart without Jess approving a maintenance window.
Tracker mirror
This plan is mirrored into Linear as TIN-1070 (May 10-16 cache-forward toolchain wedge + RBE/ARC hygiene sprint control list). The repo plan is source of truth; TIN-1070 is the live pointer for cross-stream status updates. Pattern follows TIN-974.