Skip to content

review: post.py device makes its root absolute, and the review context reads the workspace on stable - #105

Merged
midagedev merged 1 commit into
midagedev:mainfrom
juliankang4:review-device-root
Oct 13, 2026
Merged

midagedev merged 1 commit into
midagedev:mainfrom
juliankang4:review-device-root

Conversation

@juliankang4

Copy link
Copy Markdown
Collaborator

What and why

Since ef641faf (card labels), every Shingler run that reaches "Build the review context" ends there with exit
code 70, before a review starts. The workflow calls post.py device --root base, and device_dirs runs
base/tools/recipes.py with cwd=base, so Python looks for base/base/tools/recipes.py. This makes the root
absolute first. The reviews of #94, #95, #96, #98, #99 and #100 all stopped at that step or at the checkout before it
(which 517e0a74 fixed).

Once recipes.py runs, its cargo metadata would install the pinned nightly and its components (about a gigabyte)
on every review, because the review job sets up no toolchain. The step now sets RUSTUP_TOOLCHAIN=stable: the
offline metadata read needs nothing more.

From the run on #100:

device: device: tools/recipes.py pure-crates gave rc=2 and 0 device crate(s): /usr/bin/python3: can't open file
'/home/runner/work/bloomery/bloomery/base/base/tools/recipes.py': [Errno 2] No such file or directory
##[error]Process completed with exit code 70.

Code shape

  • No second copy.
  • Model code holds only architecture facts. Not model code.
  • Dead code is gone.
  • No silent failure. The refusal stays: a run that finds no device crate still ends with 70.
  • Comments state what is true now.
  • No relaxed gate.
  • cargo fmt and cargo clippy are clean on what I touched; the lint count did not go up. No Rust changed.

Duplication found or removed (path:line), or "none": none

What I ran

The workflow's call, from the directory above a checkout of 517e0a74, then the same with this change:

$ python3 base/tools/review/post.py device --root base --out device-dirs.txt     # 517e0a74
device: device: tools/recipes.py pure-crates gave rc=2 and 0 device crate(s): ... can't open file '.../base/base/tools/recipes.py' ...
rc=70
$ RUSTUP_TOOLCHAIN=stable python3 base/tools/review/post.py device --root base --out device-dirs.txt     # 26167e76
device: crates/app/ crates/gpu/ crates/gpu-deepseek41/ crates/gpu-gates/ crates/gpu-glm5next/ crates/gpu-mimo2/ crates/gpu-vision/
rc=0
$ python3 -I tools/review/post.py --self-test
post.py self-test: ok
$ actionlint .github/workflows/review.yml

The self-test passed with the bug because it never called device_dirs. It now calls it with a relative root from
the directory above a small tree (a stub tools/recipes.py and one crate, no cargo); without the abspath line it
fails with the same base/base path. The workflow itself runs from the default branch, so this pull request's own
review hits the same exit 70; the first review that runs this code is the next one after the merge.

Hardware (if the change is for a machine)

Not for a machine. Run on an arm64 Mac.

AI help

AI 코딩 에이전트가 코드를 작성한 후 설명을 썼고, 테스트를 마쳤습니다. diff 리뷰와 PR 초안 리뷰는 제가 직접 했습니다.

…t reads the workspace on stable

The workflow passes --root base, and device_dirs ran base/tools/recipes.py with cwd=base, so Python could not open
base/base/tools/recipes.py and Build the review context ended with 70. Every review that reaches that step hits it
since 517e0a7 let the fork head checkout through; before that the checkout failed first. Once recipes.py runs, its
cargo metadata would install the pinned nightly and its components on every review, so the step sets
RUSTUP_TOOLCHAIN=stable, as the offline metadata read needs nothing more. The self-test calls device_dirs with a
relative root from the directory above a tree.
@midagedev

Copy link
Copy Markdown
Owner

감사합니다!

@midagedev
midagedev merged commit 659ef55 into midagedev:main Oct 13, 2026
4 of 5 checks passed
@juliankang4 juliankang4 added the tools Tools, recipes, CI and the toolchain: tools/, justfile, .github/, Cargo label Oct 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tools Tools, recipes, CI and the toolchain: tools/, justfile, .github/, Cargo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants