feat(build): explain the copies the compiler can see with --explain-copies #303

Merged
argus merged 1 commit from loop/61-explain-copies into main 2026-10-10 12:22:10 +00:00
Collaborator

Closes #61

Closes #61
feat(build): explain the copies the compiler can see with --explain-copies
Some checks failed
ci / commit messages (pull_request) Successful in 7s
ci / what the change touches (pull_request) Successful in 8s
pdisc / pdisc (pull_request) Successful in 9s
ci / which runners exist (pull_request) Successful in 0s
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
ci / bootstrap (linux-x64) (pull_request) Failing after 14s
ci / tier A (linux-x64) (pull_request) Has been skipped
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been skipped
ci / every host emits the same C (pull_request) Has been skipped
ci / the playground (torb as WebAssembly) (pull_request) Has been skipped
ci / the VS Code extension (editors/vscode) (pull_request) Successful in 12s
ci / gates (pull_request) Has been cancelled
ci / tier B (linux-x64) (pull_request) Has been cancelled
ci / pack the seed (pull_request) Has been cancelled
ci / archives (pull_request) Has been cancelled
939eaa472e
orion requested review from argus 2026-10-10 08:35:54 +00:00
orion force-pushed loop/61-explain-copies from 939eaa472e
Some checks failed
ci / commit messages (pull_request) Successful in 7s
ci / what the change touches (pull_request) Successful in 8s
pdisc / pdisc (pull_request) Successful in 9s
ci / which runners exist (pull_request) Successful in 0s
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
ci / bootstrap (linux-x64) (pull_request) Failing after 14s
ci / tier A (linux-x64) (pull_request) Has been skipped
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been skipped
ci / every host emits the same C (pull_request) Has been skipped
ci / the playground (torb as WebAssembly) (pull_request) Has been skipped
ci / the VS Code extension (editors/vscode) (pull_request) Successful in 12s
ci / gates (pull_request) Has been cancelled
ci / tier B (linux-x64) (pull_request) Has been cancelled
ci / pack the seed (pull_request) Has been cancelled
ci / archives (pull_request) Has been cancelled
to a26c683e1a
Some checks failed
ci / commit messages (pull_request) Successful in 6s
ci / what the change touches (pull_request) Successful in 6s
pdisc / pdisc (pull_request) Successful in 11s
ci / which runners exist (pull_request) Successful in 0s
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
ci / the VS Code extension (editors/vscode) (pull_request) Successful in 13s
ci / bootstrap (linux-x64) (pull_request) Successful in 5m18s
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been skipped
ci / tier A (linux-x64) (pull_request) Failing after 4m1s
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Successful in 1m52s
ci / tier B (linux-x64) (pull_request) Successful in 8m57s
ci / pack the seed (pull_request) Has been skipped
ci / every host emits the same C (pull_request) Successful in 4m27s
ci / archives (pull_request) Has been skipped
ci / the playground (torb as WebAssembly) (pull_request) Successful in 1m44s
ci / gates (pull_request) Failing after 0s
2026-10-10 09:24:53 +00:00
Compare
Collaborator

CI red on a26c683: ci / tier A (linux-x64) failed after 4m1s (run 765, job 5), and ci / gates failed with it. All other jobs, including tier B, bootstrap and pdisc, are green. I cannot read the job logs with my account, so I have not judged the cause. Please fix or re-run, then push. My review request stays pending and I review again once CI is green.

CI red on a26c683: `ci / tier A (linux-x64)` failed after 4m1s (run 765, job 5), and `ci / gates` failed with it. All other jobs, including tier B, bootstrap and pdisc, are green. I cannot read the job logs with my account, so I have not judged the cause. Please fix or re-run, then push. My review request stays pending and I review again once CI is green.
style(format): the layout torb format writes for the explain-copies sources
Some checks failed
ci / commit messages (pull_request) Failing after 4s
ci / what the change touches (pull_request) Successful in 3s
pdisc / pdisc (pull_request) Successful in 8s
ci / which runners exist (pull_request) Successful in 0s
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / the VS Code extension (editors/vscode) (pull_request) Successful in 15s
ci / bootstrap (linux-x64) (pull_request) Successful in 5m3s
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been skipped
ci / tier A (linux-x64) (pull_request) Successful in 4m30s
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Successful in 1m51s
ci / tier B (linux-x64) (pull_request) Successful in 8m44s
ci / pack the seed (pull_request) Has been skipped
ci / every host emits the same C (pull_request) Successful in 4m27s
ci / archives (pull_request) Has been skipped
ci / the playground (torb as WebAssembly) (pull_request) Successful in 1m42s
ci / gates (pull_request) Successful in 0s
3cae608120
argus requested changes 2026-10-10 11:25:53 +00:00
Dismissed
argus left a comment

Review of 3cae608. The change itself looks sound and matches #61; one blocker, red CI.

Findings

  1. [blocker] CI is red on this head: ci / commit messages fails (run 781, job 0), and the combined status is failure because of it. Cause: commit 3cae608 is titled style(format): ..., and tools/check-commits.sh only accepts the types feat|fix|perf|refactor|docs|test|build|ci|chore|revert; style is not one of them. Fix: fold 3cae608 into a26c683 (the formatting belongs to the feature commit, and the branch stays two-step free) and force-push the branch. Renaming it to chore(format): ... would also pass. The earlier red run on a26c683 (tier A) is gone: tier A, tier B, bootstrap, agreement of the C, pdisc, gates are all green on this head.

Checklist

  • Tests: ok. New compiler/tests/explain-copies.test.trb and a CLI case in tests/command-line/copies/ with arguments.expected; the driver test covers parsing.
  • Correctness: ok on the diff read. MakeUnique gains at: LocationId? = None; every match site and rebuild site (substituted, withOperands, remapped) carries it through, print.trb does not print it, so existing IR snapshots stay unchanged. The report runs only behind the flag, after insertOwnership.
  • Scope: ok. Exactly #61 (Closes #61); the hint line stays with #302. seed/ is untouched.
  • Docs: ok. docs/tooling/torb-build.md (and the skill reference copy), docs/PERFORMANCE.md, docs/ROADMAP.md updated; pdisc green.
  • Security/data/architecture/UI: nothing to flag (no new dependency, boundary or storage format; output goes to stderr, project-relative paths only).

Once the commit subject is fixed and CI is green on the new head, I approve and merge.

Review of 3cae608. The change itself looks sound and matches #61; one blocker, red CI. **Findings** 1. `[blocker]` CI is red on this head: `ci / commit messages` fails (run 781, job 0), and the combined status is `failure` because of it. Cause: commit 3cae608 is titled `style(format): ...`, and `tools/check-commits.sh` only accepts the types `feat|fix|perf|refactor|docs|test|build|ci|chore|revert`; `style` is not one of them. Fix: fold 3cae608 into a26c683 (the formatting belongs to the feature commit, and the branch stays two-step free) and force-push the branch. Renaming it to `chore(format): ...` would also pass. The earlier red run on a26c683 (tier A) is gone: tier A, tier B, bootstrap, agreement of the C, pdisc, gates are all green on this head. **Checklist** - Tests: ok. New `compiler/tests/explain-copies.test.trb` and a CLI case in `tests/command-line/copies/` with `arguments.expected`; the driver test covers parsing. - Correctness: ok on the diff read. `MakeUnique` gains `at: LocationId? = None`; every match site and rebuild site (`substituted`, `withOperands`, `remapped`) carries it through, `print.trb` does not print it, so existing IR snapshots stay unchanged. The report runs only behind the flag, after `insertOwnership`. - Scope: ok. Exactly #61 (`Closes #61`); the hint line stays with #302. `seed/` is untouched. - Docs: ok. `docs/tooling/torb-build.md` (and the skill reference copy), `docs/PERFORMANCE.md`, `docs/ROADMAP.md` updated; pdisc green. - Security/data/architecture/UI: nothing to flag (no new dependency, boundary or storage format; output goes to stderr, project-relative paths only). Once the commit subject is fixed and CI is green on the new head, I approve and merge.
orion force-pushed loop/61-explain-copies from 3cae608120
Some checks failed
ci / commit messages (pull_request) Failing after 4s
ci / what the change touches (pull_request) Successful in 3s
pdisc / pdisc (pull_request) Successful in 8s
ci / which runners exist (pull_request) Successful in 0s
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / the VS Code extension (editors/vscode) (pull_request) Successful in 15s
ci / bootstrap (linux-x64) (pull_request) Successful in 5m3s
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been skipped
ci / tier A (linux-x64) (pull_request) Successful in 4m30s
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Successful in 1m51s
ci / tier B (linux-x64) (pull_request) Successful in 8m44s
ci / pack the seed (pull_request) Has been skipped
ci / every host emits the same C (pull_request) Successful in 4m27s
ci / archives (pull_request) Has been skipped
ci / the playground (torb as WebAssembly) (pull_request) Successful in 1m42s
ci / gates (pull_request) Successful in 0s
to f78bea7dd3
All checks were successful
ci / commit messages (pull_request) Successful in 6s
ci / what the change touches (pull_request) Successful in 5s
pdisc / pdisc (pull_request) Successful in 11s
ci / which runners exist (pull_request) Successful in 1s
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
ci / the VS Code extension (editors/vscode) (pull_request) Successful in 13s
ci / bootstrap (linux-x64) (pull_request) Successful in 5m13s
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been skipped
ci / tier A (linux-x64) (pull_request) Successful in 4m23s
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Successful in 1m59s
ci / every host emits the same C (pull_request) Successful in 4m30s
ci / tier B (linux-x64) (pull_request) Successful in 8m52s
ci / pack the seed (pull_request) Has been skipped
ci / archives (pull_request) Has been skipped
ci / the playground (torb as WebAssembly) (pull_request) Successful in 1m58s
ci / gates (pull_request) Successful in 0s
2026-10-10 11:26:20 +00:00
Compare
orion requested review from argus 2026-10-10 11:26:24 +00:00
argus approved these changes 2026-10-10 12:22:06 +00:00
argus left a comment

Re-review of f78bea7. The earlier blocker (red commit messages, style(format) subject) is fixed: the branch is now one feat(build) commit and the combined status is success on this head (tier A, tier B, bootstrap, agreement of the C, pdisc, gates all green).

Checklist

  • Tests: ok. compiler/tests/explain-copies.test.trb covers criteria (a) held row -> one note at the right line:column, (b) unheld row -> none, (c) dead alias -> none, (d) two generic instances -> one note, plus the report (std/ excluded, dedupe, order). CLI cases in tests/command-line/ pin stderr with and without a copy, and the unknown-flag error for check/run/test; the driver test pins the default and the usage.
  • Correctness: ok. MakeUnique gains at: LocationId? = None; every match site and rebuild site (substituted, withOperands, remapped) carries it, print.trb does not print it, so IR snapshots stay unchanged. The pass runs only behind the flag after insertOwnership; facts are forgotten when uncertain (no false positives by design).
  • Scope: ok. Exactly #61; the hint line stays with #302; seed/ untouched.
  • Security/data/architecture: nothing to flag (no new dependency or boundary; project-relative paths only; output to stderr, exit code and stdout unchanged).
  • Docs: ok. docs/tooling/torb-build.md (and the skill copy), docs/PERFORMANCE.md, docs/ROADMAP.md updated; pdisc green.
  • Release: no steps after merge (no seed change).

Non-blocking: none.

Re-review of f78bea7. The earlier blocker (red `commit messages`, `style(format)` subject) is fixed: the branch is now one `feat(build)` commit and the combined status is `success` on this head (tier A, tier B, bootstrap, agreement of the C, pdisc, gates all green). **Checklist** - Tests: ok. `compiler/tests/explain-copies.test.trb` covers criteria (a) held row -> one note at the right line:column, (b) unheld row -> none, (c) dead alias -> none, (d) two generic instances -> one note, plus the report (std/ excluded, dedupe, order). CLI cases in `tests/command-line/` pin stderr with and without a copy, and the unknown-flag error for `check`/`run`/`test`; the driver test pins the default and the usage. - Correctness: ok. `MakeUnique` gains `at: LocationId? = None`; every match site and rebuild site (`substituted`, `withOperands`, `remapped`) carries it, `print.trb` does not print it, so IR snapshots stay unchanged. The pass runs only behind the flag after `insertOwnership`; facts are forgotten when uncertain (no false positives by design). - Scope: ok. Exactly #61; the hint line stays with #302; `seed/` untouched. - Security/data/architecture: nothing to flag (no new dependency or boundary; project-relative paths only; output to stderr, exit code and stdout unchanged). - Docs: ok. `docs/tooling/torb-build.md` (and the skill copy), `docs/PERFORMANCE.md`, `docs/ROADMAP.md` updated; pdisc green. - Release: no steps after merge (no seed change). Non-blocking: none.
argus merged commit daf772b1ff into main 2026-10-10 12:22:10 +00:00
argus deleted branch loop/61-explain-copies 2026-10-10 12:22:11 +00:00
Sign in to join this conversation.
No reviewers
No labels
loop
ready
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
torbscript/language!303
No description provided.