Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
d53f8fa
HOTSPOT-SPLIT 1/2: per-feature diagnostic codes, faults, property fam…
thejackshelton Oct 4, 2026
b775cf4
HOTSPOT-SPLIT 2/2: per-feature fixture-group and regen-step registrat…
thejackshelton Oct 4, 2026
e635a41
HOTSPOT-SPLIT 1/2: a code, fault, longhand or shorthand claimed by tw…
thejackshelton Oct 4, 2026
5f58eb2
HOTSPOT-SPLIT 1/2: ua.test catalogue boundary covers the catalogue's …
thejackshelton Oct 4, 2026
e23833b
land: hold the quiet request through the quiet test rerun
thejackshelton Oct 4, 2026
7130ace
Merge origin/master (#133 anim-vectors) into hotspot-split-parity; .g…
thejackshelton Oct 4, 2026
2157eeb
HOTSPOT-SPLIT 2/2 review: placeSteps refuses steps whose outputs over…
thejackshelton Oct 4, 2026
03ea6f3
Land: merge land-quiet-hold (#139)
thejackshelton Oct 5, 2026
b1ab865
Land: regenerate after merging land-quiet-hold (#139)
thejackshelton Oct 5, 2026
951fd0f
land: rerun each failing test file alone on a quiet machine instead o…
thejackshelton Oct 5, 2026
6d49850
regen: a snapshot never reads the outputs of a step still running bes…
thejackshelton Oct 5, 2026
32bec2b
Merge pull request #139 from compiled-run/land-quiet-hold
thejackshelton Oct 5, 2026
9259fee
Land: merge land-solo-rerun (#141)
thejackshelton Oct 5, 2026
2c41a53
Land: regenerate after merging land-solo-rerun (#141)
thejackshelton Oct 5, 2026
b12da40
Board: owner ruling - 'not applicable on native' verdict (NA-NATIVE) …
thejackshelton Oct 5, 2026
3257653
Board: prove once in the driver (lanes skip local full test); goal is…
thejackshelton Oct 5, 2026
65f37a5
Board: owner - all attention on pipeline speed; targets and lanes
thejackshelton Oct 5, 2026
1735bc1
land: batched landing - one proof per batch of positions, prefix bise…
thejackshelton Oct 5, 2026
a6ad40b
land: release the machine during admission; a stacked child builds on…
thejackshelton Oct 5, 2026
7add5e3
Board: COVERAGE-RANK - native coverage headline and lanes ranked by r…
thejackshelton Oct 5, 2026
8428aee
land: prove master before blaming position 1 and after a partial publ…
thejackshelton Oct 5, 2026
e3764e5
Board: COVERAGE-RANK - dialog probe in the fixture HTML subset (regen…
thejackshelton Oct 5, 2026
23e748d
Merge pull request #141 from compiled-run/land-solo-rerun
thejackshelton Oct 5, 2026
977c489
Land: merge regen-snapshot-race (#143)
thejackshelton Oct 5, 2026
251c2eb
Land: regenerate after merging regen-snapshot-race (#143)
thejackshelton Oct 5, 2026
5d4276d
Merge origin/master (#141 solo rerun) into land-batch; the proof step…
thejackshelton Oct 5, 2026
35e3f17
Merge pull request #143 from compiled-run/regen-snapshot-race
thejackshelton Oct 5, 2026
4578cef
Land: merge land-batch (#145)
thejackshelton Oct 5, 2026
1dcea57
Land: regenerate after merging land-batch (#145)
thejackshelton Oct 5, 2026
1d3a794
Merge pull request #145 from compiled-run/land-batch
thejackshelton Oct 5, 2026
11d6927
land: a graceful stop (STOP_FILE or SIGUSR1) after the current batch;…
thejackshelton Oct 5, 2026
664928b
land: interrupts wait for a publish in progress; the next run proves …
thejackshelton Oct 5, 2026
6f859f6
Board: speed research (measured baselines, ranked recommendations)
thejackshelton Oct 5, 2026
69c1609
land: no device teardown; a red unproved master is logged, never bloc…
thejackshelton Oct 5, 2026
cf33f64
land: supervise() takes over signals before the spawn and buffers an …
thejackshelton Oct 5, 2026
06ec54b
land.test: the fake driver and supervisor write their files atomicall…
thejackshelton Oct 5, 2026
4edc453
land: keep installs when cleaning ignored outputs before a proof
thejackshelton Oct 5, 2026
4886c0d
Land: merge land-clean-hotfix (#155)
thejackshelton Oct 5, 2026
6858567
Land: regenerate after merging land-clean-hotfix (#155)
thejackshelton Oct 5, 2026
41df018
Merge pull request #155 from compiled-run/land-clean-hotfix
thejackshelton Oct 5, 2026
4b1de98
Land: merge land-stop (#148)
thejackshelton Oct 5, 2026
555f392
Land: regenerate after merging land-stop (#148)
thejackshelton Oct 5, 2026
04246e5
Land: merge hotspot-split-dragon (#137)
thejackshelton Oct 5, 2026
c3857cd
Land: regenerate after merging hotspot-split-dragon (#137)
thejackshelton Oct 5, 2026
9763482
Land: merge hotspot-split-parity (#138)
thejackshelton Oct 5, 2026
b422ac4
Land: regenerate after merging hotspot-split-parity (#138)
thejackshelton Oct 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
# Generated outputs of `pnpm regen` (scripts/regen.ts): a merge keeps this side of each, and `pnpm regen` then rebuilds them
# from the merged sources. The driver needs `pnpm setup:git` once per clone; without it git merges these files as text.
# packages/parity/test/regen.test.ts keeps this list equal to the regen steps' outputs.
packages/dragon/src/css/grammar.generated.ts merge=dragon-generated
# packages/parity/test/regen.test.ts keeps this list equal to the regen steps' outputs, sorted, so features add lines in different places.
THIRD_PARTY_NOTICES.md merge=dragon-generated
packages/dragon/src/ua/*.generated.ts merge=dragon-generated
packages/parity/expected/darwin-arm64/** merge=dragon-generated
packages/parity/emitted/** merge=dragon-generated
packages/parity/expected-fonts/** merge=dragon-generated
packages/dragon/src/profiles/ios.ts merge=dragon-generated
examples/music-player/dragon/north-star-check.json merge=dragon-generated
packages/dragon/src/css/grammar.generated.ts merge=dragon-generated
packages/dragon/src/profiles/android.ts merge=dragon-generated
packages/dragon/src/profiles/web.ts merge=dragon-generated
packages/dragon/src/profiles/ios.ts merge=dragon-generated
packages/dragon/src/profiles/native-lanes.ts merge=dragon-generated
packages/parity/expected-dpr/** merge=dragon-generated
packages/parity/expected-hit/*.hit.json merge=dragon-generated
packages/dragon/src/profiles/web.ts merge=dragon-generated
packages/dragon/src/ua/*.generated.ts merge=dragon-generated
packages/layout/break-vectors/** merge=dragon-generated
packages/layout/generated/** merge=dragon-generated
packages/layout/paint-vectors/*/vectors.json merge=dragon-generated
packages/layout/rt-vectors/animator/** merge=dragon-generated
packages/layout/rt-vectors/hit/** merge=dragon-generated
packages/layout/vectors/*.json merge=dragon-generated
packages/layout/vectors/dpr-*/** merge=dragon-generated
packages/layout/rt-vectors/hit/** merge=dragon-generated
packages/layout/break-vectors/** merge=dragon-generated
packages/parity/emitted/** merge=dragon-generated
packages/parity/expected-breaks/** merge=dragon-generated
packages/parity/expected-pixels/** merge=dragon-generated
packages/parity/expected-dpr/** merge=dragon-generated
packages/parity/expected-fonts/** merge=dragon-generated
packages/parity/expected-frames/** merge=dragon-generated
packages/layout/rt-vectors/animator/** merge=dragon-generated
packages/layout/paint-vectors/*/vectors.json merge=dragon-generated
packages/layout/generated/** merge=dragon-generated
packages/translate/corpus.json merge=dragon-generated
packages/translate/corpus-dpr.json merge=dragon-generated
examples/music-player/dragon/north-star-check.json merge=dragon-generated
packages/wpt/snapshots/** merge=dragon-generated
packages/tailwind-sweep/snapshot/** merge=dragon-generated
packages/parity/expected-glyphs/bottom-scanlines.json merge=dragon-generated
packages/parity/expected-hit/*.hit.json merge=dragon-generated
packages/parity/expected-media/** merge=dragon-generated
packages/parity/expected-pixels/** merge=dragon-generated
packages/parity/expected/darwin-arm64/** merge=dragon-generated
packages/parity/out/lanes.json merge=dragon-generated
packages/tailwind-sweep/snapshot/** merge=dragon-generated
packages/translate/corpus-dpr.json merge=dragon-generated
packages/translate/corpus.json merge=dragon-generated
packages/wpt/snapshots/** merge=dragon-generated
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Code reaches `master` only through a pull request that Macroscope has reviewed.
4. **Read the review.** Run `pnpm pr:review <number> --wait`. It waits for CI and then for Macroscope's correctness review of the latest commit, and lists failed checks and every Macroscope finding nobody has answered. Macroscope only posts findings of Medium severity or higher, so every one it lists matters. When Macroscope skips with its monthly spending limit, the owner's standing directive lets the PR land without that review once CI passes and every earlier finding is answered; `pr:review` reports it as UNREVIEWED. The landing driver then requires a Claude correctness review of the PR's own diff (step 7) and stops the PR on any finding of Medium severity or higher.
5. **Answer every finding.** Fix it, push, and reply `Fixed in <sha>` in its thread; or reply with why the code is intentional. Reply with `gh api repos/compiled-run/dragoncss/pulls/<number>/comments/<id>/replies -f body='...'`. Never reply only to clear the list, and never edit `.macroscope/` to silence a finding. If a fix would break a rule above, find another fix that keeps the rule, or reply with why the finding doesn't apply.
6. **Repeat until Macroscope is done.** Every push gets a new, paid review, which may find new issues, so batch a whole round's fixes into one push. A round's fix needs a regen only when it changes generator inputs, and never a device run. From the third round on, re-audit every file that has had a finding, end to end, and fix every instance of each class before pushing. Go back to step 4 until a review of the latest commit leaves nothing unanswered. The loop runs unattended, with no round limit and no report to the owner. When a file keeps drawing findings, replace point fixes with a check that covers the whole class, such as a differential test against Chrome, before the next push.
7. **Land through the driver.** Only the landing driver (`pnpm land <queue-file>`, run by the PM) merges code into `master`, one PR at a time, in queue order; the queue file holds one `<branch>:<pr>:<clean-head>` per line. For each PR it merges the PR into the current `origin/master`, runs `pnpm regen`, runs the device lanes unless the tree's device evidence stamp equals `master`'s (device-evidence.ts, `pnpm evidence:stamp --compare origin/master`), regenerates what the device record feeds, runs `pnpm typecheck` and `pnpm test`, pushes that commit to the PR branch, waits for CI and for `pnpm pr:review` to exit 0, and, while `pr:review` reports UNREVIEWED (Macroscope at its spending limit), requires a Claude correctness review of the PR's own diff (reviewed paths only) and stops on any finding of Medium severity or higher. For that, before the driver lands a queued PR, the PM has a review agent review the PR's diff at the queue line's clean head and write `/tmp/land-reviews/precomputed/<pr>.json` as `{ "pr": <n>, "head": "<clean-head sha>", "findings": [{ "severity", "file", "line", "summary", "failure_scenario" }] }`; the driver's default reviewer (`pnpm land:review-lookup`) fails the PR when that file is missing, malformed, for another PR or for another head. It then merges with `gh pr merge --merge --match-head-commit <sha>`, checks that `master`'s tree equals the commit's (docs/goals/** excepted), moves every open PR based on the merged branch to `master`, and deletes the branch last (GitHub closes a PR whose base branch is deleted). Every `master` merge commit therefore carries device evidence from its own tree. A failed check, a finding or a tree mismatch takes that PR out of the queue and back to its worker (steps 4–6), with the `landing-failed` label and a comment naming the failed step; the queue continues with the next PR. Never retry a failed check until it goes green; fix the cause or report it (the driver retries only transient gh and git network errors). After each merge the driver runs `git pull --ff-only` in the main checkout.
7. **Land through the driver.** Only the landing driver (`pnpm land <queue-file>`, run by the PM) merges code into `master`, in queue order, in batches of up to `LAND_BATCH` PRs (default 4); the queue file holds one `<branch>:<pr>:<clean-head>` per line. It first checks each PR's CI and its review at its current head (a PR whose review is not clean is ejected before any build). It then builds one position per PR, each on the one before it (the first on the current `origin/master`): it merges the PR, runs `pnpm regen` and `pnpm typecheck`, runs the device lanes unless the position's device evidence stamp equals the previous position's (device-evidence.ts, `pnpm evidence:stamp --compare <previous>`), regenerates what the device record feeds, and checks the regen commit is regen-only and no floor falls. A conflict or a failed step ejects that PR and the chain continues. `pnpm test` runs once, on the top position; when it fails, the driver bisects the prefixes (proving `master` itself before it blames the first PR, and stopping with "master is red" if `master` fails), lands the passing prefix, fails the first failing PR with its own failing run, and requeues the PRs after it. Positions below the top get no full test of their own, so when publishing stops part-way the driver proves the tree `master` now rests on, and stops (label, comment, status) if it fails. An error outside the test while proving (install, checkout) stops the driver rather than blaming a PR. Then, PR by PR and only after the PR before it has merged, it pushes the PR's position to the PR branch, waits for CI and for `pnpm pr:review` to exit 0, and, while `pr:review` reports UNREVIEWED (Macroscope at its spending limit), requires a Claude correctness review of the PR's own diff (reviewed paths only) and stops on any finding of Medium severity or higher. For that, before the driver lands a queued PR, the PM has a review agent review the PR's diff at the queue line's clean head and write `/tmp/land-reviews/precomputed/<pr>.json` as `{ "pr": <n>, "head": "<clean-head sha>", "findings": [{ "severity", "file", "line", "summary", "failure_scenario" }] }`; the driver's default reviewer (`pnpm land:review-lookup`) fails the PR when that file is missing, malformed, for another PR or for another head. It then merges with `gh pr merge --merge --match-head-commit <sha>`, checks that `master`'s tree equals the commit's (docs/goals/** excepted), moves every open PR based on the merged branch to `master`, and deletes the branch last (GitHub closes a PR whose base branch is deleted). Every `master` merge commit therefore carries device evidence from its own tree. A failed check, a finding or a tree mismatch takes that PR out of the queue and back to its worker (steps 4–6), with the `landing-failed` label and a comment naming the failed step; the PRs after it in its batch are rebuilt on the new `master`, and the queue continues. Never retry a failed check until it goes green; fix the cause or report it (the driver retries only transient gh and git network errors). After each merge the driver runs `git pull --ff-only` in the main checkout. To reorder or pause the queue, `touch /tmp/dragon-land.stop` (or `kill -USR1` the pid in `/tmp/dragon-land.lock/pid`): the driver lands what it can of its current batch and exits without starting another. `kill -TERM` on that pid (the supervisor's) interrupts: the running step is killed with the driver's process group, the status says INTERRUPTED and names what merged, and no PR is failed. A merge in progress (from `gh pr merge` to the post-merge checks) finishes first; a second `kill -TERM` kills it at once. If an interrupted run left `master` on a merged position no full test has passed, the next run proves `master` first and logs a red result loudly, then carries on; a passing proof that contains that position clears the record.

**Staying current while agents run.** `master` moves every time a PR merges, so:

Expand Down
Loading
Loading