FIT VERDICTfootprint = watched files, height = command sloc — 234 of 310 tasks are one-line pads; the tallest is the 302-sloc @tools/dts-backtest#test tower
the WATCHED CITY
ALTITUDE 3 · ALTERNATE PLATE B — the PR ci graph as a city: 310 real tasks in 35 massed structures · footprint = watched files (18,068 task-file hashes) · height = command sloc (5,630) · 844 phantom plots · every number imported from www/atlas.lit-ui-router.dev/data/census-mass3b.json, surveyed at origin/main @ eb1162da (2026-10-18)
GENERAL NOTES
Method — the graph, imported. Every mass and footprint on this plate is read from www/, the checked-in snapshot census-mass3b.mjs writes from a bare turbo run ci --dry=json on an installed archive of the ref — surveyed at origin/main @ eb1162da (2026-10-18), turbo 2.11.8: 1154 nodes, 310 real, 4,706 edges, 187 real→real. Nothing below is hand-pasted; a structure whose tasks have left the plate throws at build time rather than drawing a stale number, and the schedule totals are the plate's own sums. Footprint is the per-task inputs map — the files whose hashes decide that task's cache key — at 1.2·√files per side. Height is command mass: the package.json script line plus the repo script or bin file it executes, sloc-counted by census-mass3b.mjs on scc 4.0.0's Code basis (guards, emitters and mise task files each cited in the schedule; external binaries like tsc and oxlint contribute only their one line, because that is all this repo wrote). Wall-clock and cache-hit rates are excluded as geometry by design: they are properties of runs, not of the graph.
The city is flat, and that is the finding. 234 of 310 real tasks have command mass 1 — one script line handing the work to a pinned binary. The whole city executes 5,630 sloc of repo-written command while watching 18,068 task-file hashes. The skyline is inverted from intuition: @tools/, the tallest command in the city, is a 301-line run.ts on a 50-file lot — sheet 3 calls it "one 301-line run.ts holds the TS 5.0 floor", and the graph survey agrees to the line — while the largest footprint, the examples plain, watches 555 files (format:check:oxfmt 88 + lint:oxlint 94 alone) under 20 lines of command. The eslint-plugin quarter is nearly flat: eslint-plugin-lit-ui-router brings 10 tasks and 192 sloc, and all but build:js (78), build:types (37) and test:peer-floor (70) are one line apiece.
The root yard repays the walk. All 14 / plots are drawn individually, and seven of them — format:check:root, lint:elements, lint:package-json, lint:root, lint:templates, typecheck:root and lint:complexity — are equal slabs watching one identical root surface of 1,157 files. Seven tasks, one surface, one number: it is the plate's cleanest finding. The guards that patrol that surface are not root tasks: @tools/ is a package, drawn whole as the guard house (1) standing apart, south-west of the yard, and seven of its 12 tasks — check:task-inputs, check:graph-edges, check:patches, check:single-version, check:package-coverage, check:knip and check:dedupe — are named in the dependsOn list of the lint umbrella, so a lint run takes them along wherever it starts. Five of the seven are the city's tall one-file guards, 122, 117, 75, 99 and 114 lines of TypeScript apiece; the other two are one script line each — knip hashing 896 files, the widest lot in the block, and pnpm dedupe --check hashing 90. The taplo pad (11) is where plate 3A's six-hop chain touches ground: hops ①–② arrive from mise run ci, hop ③ is this block, and ④–⑥ leave immediately to run back inside mise through the cache gasket. And one lot in the yard is vacant on purpose — /, an umbrella with no script of its own, has no command even here.
One tier, uniformly red. Sheet 3's severity vocabulary survives, but at this altitude it degenerates truthfully: every real node in the ci graph stops the PR when it fails, so every massed block wears the same red hatch, and the drawing spends its information elsewhere. The 5 ci:main-only tasks (test:engines ×3, check:pack, test:matrix) sit outside this survey on an unmassed accent annex — 1204/315 nodes when they are included; the 844 phantom plots — 73.1% of the graph, transit and ^build hash carriers and the script-less lint, typecheck and format:check umbrellas — are the vacant field behind the city, inventoried hole-by-hole on sheet 12.
Roads and reach. Five arteries are drawn, one per district pair, and the plate labels them with degree rather than with an edge tally it cannot cite: @www/ waits on 23 nodes (ten quarters ship docs:api there, plus worker types and app fixtures — it is the city's sink), @tools/ unblocks 72, @tools/ 48 (pack:all and check:exports read every published quarter), and the widest fan-out in the graph is lit-ui-router#build:types at 72. Of the graph's 4,706 edges only 187 join two real tasks; the rest hang off phantom transit nodes, which is why the roads are drawn as districts and not as a wire count.
KEY
| massed task block — stops the PR (all of them do) | |
| height = command sloc — script line + the file behind it | |
| footprint = watched files — the task’s hashed inputs | |
| ci:main annex — gates main, not the PR; unmassed | |
| vacant plot — phantom node, runs nothing | |
| the phantom flats — 844 plots (see sheet 12) | |
| artery — real dependsOn edges, count labelled | |
| the deepest chain passing through (plate 3A, hops ②③) |