the HANDOFF WORKS
ALTITUDE 3 · ALTERNATE PLATE — the sheet-3 task-manager inset at full size: 9 of 14 workflows · 61 mise tasks in 4 homes · turbo ci 1154 nodes, 310 real · 4 seam types · 3 service doors · every frame sized to the widest DIN line it holds, so the spine is computed rather than hand-set · every count imported from www/atlas.lit-ui-router.dev/data/census-handoff.json + census-plate.json · counted at origin/main @ eb1162da (2026-10-18)
GENERAL NOTES
Method — one census, cited throughout. Every count on this plate is imported: www/ for the workflows, the mise tasks and the turbo definitions, census-plate.json for the graph. Both are written by probes that read a materialized archive of the ref — the 14 workflow files, the 28 turbo.json files, .config/ and both member mise.toml files — with the graph figures from a bare turbo run ci --dry=json on an installed archive. No mise or turbo runs on this machine to draw it, and nothing numeric here is hand-pasted: the task-name lists, the cited file:lines and this prose are the editorial part. Basis: counted at origin/main @ eb1162da (2026-10-18); graph surveyed at origin/main @ eb1162da (2026-10-18) · turbo 2.11.8.
The star fitting: turbo caches mise. Six root / scripts in the ci graph have mise run … as their literal command, and their turbo inputs explicitly hash .config/ and .config/ (turbo.json:296-300, 314-320, 325-331); a seventh port, @tools/, re-enters from a member script and hashes config.toml the same way (tools/release/turbo.json:39-51). That is the whole trade drawn as one gasket on the return duct: mise owns the tool versions (taplo, rumdl, shellcheck, actionlint, zizmor — none installable by node), turbo owns the cache, and the gasket hashes one machine against the other, so a taplo pin bump invalidates exactly the taplo lane and nothing else.
A DAG in a loop costume. The circuit workflow → mise → turbo → mise looks re-entrant, but the 61 tasks partition cleanly: the seven that shell turbo (★ — ci, ci_main, build, codecov_bundle, dts_backtest_matrix, check_pack, published_diff) are reachable only from workflows and humans, while the eight turbo re-enters (↩ — the lint and format tasks, and check_release_closure) only exec pinned binaries, file tasks or a manifest reader. No edge leads from the second set back to the first. The deepest chain is six hops and runs on every PR, four tool lanes in parallel: workflow YAML → mise run ci → turbo run ci → / → mise run lint_toml → the taplo file task → the pinned binary.
Three service doors, all deliberate. deflake-e2e.yml:75 runs bare turbo run build --filter=… — over the umbrella, though mise still supplies the PATH; deflake-e2e.yml:89 runs the flake attempts through pnpm outside turbo, because a cached test task would replay attempt 1’s logs; and the production docs deploy never sees mise at all — Cloudflare Workers Builds clears corepack’s shims and installs the packageManager pin of pnpm globally through npm before npx turbo @www/ (tools/workers-builds/cloudflare-build.ts:71-76), because the hosted image’s corepack shim cannot materialize pnpm 12. The doors are drawn red and hatched because each one gives up something the machines provide — and each was opened on purpose.
Two curiosities the census surfaced. One task in the whole machine is dead: / (mise.toml:93-97) has no caller anywhere, superseded by playwright_deps_engines. And one umbrella exists twice: mise lint_workflows (a 4-leg depends, config.toml:154-158) and turbo / (an umbrella whose dependsOn fans out to the four, turbo.json:285-293) are the same shape maintained by hand in both schedulers — the one place the two machines duplicate rather than delegate. The phantom shroud around turbo’s core — 844 of 1154 nodes that exist only to carry hashes — is drawn as wall thickness here; sheet 12 punches it hole by hole.
KEY
| trunk — the handoff, in flow direction | |
| coupling gasket — a seam between the machines | |
| the cache gasket — turbo hashes mise-owned files | |
| the deepest chain — 6 hops, circled digits | |
| service door — a deliberate bypass | |
| shells turbo / re-entered by turbo — disjoint sets | |
| phantom shroud — 844 nodes that run nothing (sheet 12) | |
| dead task — no caller anywhere |