GloriousFlywheel Post 209 PR Slice Map 2026-04-16
Snapshot date: 2026-04-16
Purpose
Turn the large local post-#209 worktree into a small number of reviewable PR
lanes.
GitHub owner surfaces:
- follow-on slices after merged PR
#209 - adjacent planning issues
#210,#211,#212 - runner hygiene issue
#213 - runner memory-envelope issue
#214 - publication-boundary issue
#215
Use README.md in this directory for the broader note inventory.
Use gloriousflywheel-cleanup-structure-2026-04-17.md for the current
workstream-level cleanup structure after the large local slice wave landed.
Current Dirty-Worktree Shape
Local file counts from git status --short on 2026-04-16:
49changed or untrackedapp/paths34changed or untracked operator/runtime paths across.github,Justfile,config/,scripts/,tofu/,README.md, and.env.example46untrackeddocs/research/notes
This is too large to treat as one follow-on PR.
Proposed Reviewable Slices
Slice 1: Backend And Operator Path
Primary goal:
- package the real post-
#209backend-authority and local-operator path work
Primary files:
Justfile.env.exampleconfig/backend.http.example.hclconfig/organization.example.yamlconfig/backends/*scripts/tofu-preflight.shscripts/scaffold-backend-config.shscripts/lib/config.shscripts/validate-org-config.shtofu/stacks/*/backend.tftofu/stacks/*/terraform.tfvars.exampletofu/stacks/*/Justfiledocs/infrastructure/quick-start.mddocs/getting-started-guide.mddocs/infrastructure/cluster-access.mddocs/infrastructure/clusters-and-environments.mddocs/infrastructure/proxy-and-access.mddocs/reference/config-reference.mddocs/reference/justfile-commands.mddocs/infrastructure/customization-guide.md
Why it should go first:
- this is the remaining execution blocker for real local rollout convergence
- it is the cleanest follow-on to merged PR
#209
Slice 2: Dashboard Auth, Policy, And Audit
Primary goal:
- package the tailnet-first auth model, permission boundaries, and admin audit surface into one reviewable app slice
Primary files:
app/src/hooks.server.tsapp/src/lib/server/auth/*app/src/lib/server/control-audit.tsapp/src/lib/server/db/migrate.tsapp/src/routes/api/auth/*app/src/routes/api/control/*app/src/routes/api/gitops/*app/src/routes/api/runners/*app/src/routes/auth/*app/src/routes/gitops/*app/src/routes/runners/*app/src/routes/settings/*app/src/lib/components/auth/*docs/dashboard/overview.mddocs/infrastructure/gitlab-oauth.md
Why it should stay separate:
- it is a large app-and-policy change set
- it is conceptually independent from backend-init authority
Slice 3: Dogfood And Shared Runner Contract
Primary goal:
- package the explicit Nix-bootstrap and acceleration-vs-publication contract in composite actions, workflows, and public downstream docs
- package repo-owned dogfood beta validation so post-deploy checks stop depending on billing-sensitive GitHub-hosted jobs where the self-hosted lane is already healthy
- package any platform-owned runner hygiene or workspace-lifecycle fixes that affect downstream checkout reliability before repo code runs
Primary files:
.github/actions/nix-job/action.yml.github/actions/setup-flywheel/action.yml.github/actions/docker-job/action.yml.github/workflows/test-arc-runners.ymltofu/modules/arc-runner/locals.tfdocs/runners/github-actions.mddocs/runners/nix-builds.mddocs/runners/runner-selection.mddocs/runners/self-service-enrollment.mddocs/runners/downstream-migration-checklist.mddocs/guides/github-app-adoption.mddocs/guides/cross-forge-ci.mddocs/reference/environment-variables.md
Why it is its own slice:
- this is now a coherent public contract and dogfood lane
- it should not be buried inside the backend or dashboard PRs
- current downstream evidence now also shows platform-owned runner workspace hygiene belongs here because checkout can fail before downstream repo code runs
- current downstream evidence also shows runner memory-envelope and placement clarity belongs here because pod-level limits can contradict operator intuition from cluster-wide capacity
- current dogfood evidence now also shows a repo-owned lane can be healthy
while hosted
ubuntu-latestbeta jobs still create false blocker signals
Slice 4: PM And Research Surface
Primary goal:
- preserve the research trail while collapsing stale PM language and keeping only the notes that still help execute
Primary files:
docs/research/gloriousflywheel-program-surface-2026-04-15.mddocs/research/gloriousflywheel-milestone-execution-matrix-2026-04-15.mddocs/research/gloriousflywheel-convergence-slice-plan-2026-04-16.mddocs/research/gloriousflywheel-honey-onprem-rollout-2026-04-16.md- targeted supporting notes that are still actively referenced
Why it should be last:
- it is useful, but it does not unblock runtime behavior
- it becomes cleaner after the executable slices are separated
Recommended Order
- Slice 1: backend and operator path
- Slice 2: dashboard auth, policy, and audit
- Slice 3: dogfood and shared runner contract
- Slice 4: PM and research surface
Current Slice 1 Reality
Local Slice 1 checks on 2026-04-16 now have a real backend/state read instead of scaffold placeholders:
ENV=dev just tofu-state-auditconfirms archivedtinyland/gf-overlay(project_id 79706605) still ownsattic-devandarc-runners-dev- the same audit confirms
runner-dashboard-devandgitlab-runners-devdo not exist there ENV=dev just tofu-preflight arc-runnerspassesENV=dev just tofu-init arc-runnerspasses against the real legacy stateENV=dev just tofu-plan arc-runnersnow produces a truthful convergence plan rather than a bogus greenfield create
Current arc-runners plan truth:
- create
tinyland-nix-heavy - update the baseline runtime so
tinyland-nixandtinyland-dockercarry the normalized cache env from repo-owned policy - preserve live ARC
0.14.0instead of downgrading back to the old0.13.1pin - stop trying to recreate Longhorn from the runner stack on
honey - stop assuming a GHCR pull secret by default because the live
honeyARC lanes currently do not useimagePullSecrets - clean up stale
imagePullSecretsvalues still recorded in Helm release state for the controller and runner sets
Execution result from the real legacy-state plan:
- apply completed successfully on 2026-04-16
tinyland-nix-heavyis now live- baseline
tinyland-nixandtinyland-dockernow carry the normalized cache env - ARC remains on live
0.14.0 - stale
imagePullSecretsdrift is cleared from the repo-owned lanes
So Slice 1 is no longer blocked on repo-owned arc-runners runtime drift. It
is now blocked on narrower state convergence decisions:
- how to handle stacks that do not have surviving legacy GitLab state
- how to separate repo-owned ARC lanes from personal ARC lanes that coexist on
honeybut are not part of baseline GloriousFlywheel policy
Current arc-runners operator-path refinement:
- the local root recipes now include the committed
dev-policy.tfvarsanddev-extra-runner-sets.tfvarssurfaces forarc-runners, not justdev.tfvars - that means additive lanes like
tinyland-nix-heavyare now part of the real local operator path instead of only existing in docs and CI-oriented notes - the real legacy-state plan against
honeynow showstinyland-nix-heavyas a clean create delta on top of live ARC state - the remaining local rollout blockers are state drift choices, not missing bootstrap plumbing
Operator audit improvement now in-repo:
just tofu-backend-auditsummarizes backend mode, backend ref, and first blocker across all four active stacksjust tofu-state-auditnow checks the known legacy GitLab state paths directly instead of relying on a broken project-level list endpoint- this gives Slice 1 one stable command surface for local truthing instead of ad hoc single-stack checks
Acceptance Criteria
- no follow-on PR tries to carry all post-
#209work at once - backend/operator path gets a dedicated reviewable lane
- dashboard auth/policy work is not mixed with operator bootstrap refactors
- dogfood/public runner-contract work is readable as a standalone change
- PM docs reflect merged
#209reality and point at the new slices
Related Notes
gloriousflywheel-convergence-slice-plan-2026-04-16.mdgloriousflywheel-honey-onprem-rollout-2026-04-16.md- gloriousflywheel-program-surface-2026-04-15.md
- gloriousflywheel-milestone-execution-matrix-2026-04-15.md