fix(mcp): rule-docs embed + windows-11-arm runner - #259
Conversation
…them
`plumb-mcp/src/explain.rs` does `include_str!("../../../docs/src/rules/<rule>.md")`.
`cargo publish` doesn't traverse outside the crate dir when packaging,
so the v0.0.5 publish died with:
error: couldn't read `src/../../../docs/src/rules/a11y-touch-target.md`:
No such file or directory (os error 2)
(release-please.yml run 25488993683.)
Move the canonical files into `crates/plumb-mcp/rule-docs/` and replace
their old location with relative symlinks so mdBook still finds them
under `docs/src/rules/`. `include_str!` paths now resolve to a sibling
directory inside the crate, which `cargo publish` packages correctly.
xtask sync-rules-index + mdBook build both verified locally.
|
I have enough context for a complete review. Here is the full assessment. PR 259: fix(release): rule-docs embed + windows-11-arm runnerScope
1. Determinism — PASS
2. Workspace layering — PASSChange is entirely within 3. Error handling — PASS
4. Test coverage — PASS
5. Documentation accuracy — ISSUES
The canonical source is now
This is now exactly backwards. The PR intentionally moves to Required fixes:
6. CI change — PASS
Punch list
The CLAUDE.md item is the only one that could cause active harm (misleads AI agents running in future sessions). The explain.rs nits are cosmetic. Verdict: REQUEST_CHANGES |
The aarch64-pc-windows-msvc job was scheduled on the x86_64
windows-latest runner, which has no cross-compile toolchain for ARM64
Windows:
help: no idea how to cross-compile from x86_64-pc-windows-msvc
to windows with architecture aarch64
Process completed with exit code 127
(release.yml run 25489026809 build-aarch64-pc-windows-msvc 74792046566.)
Switch to the native `windows-11-arm` runner so cargo build links
against the matching toolchain.
Summary
Two more fixes blocking the v0.0.5 release pipeline (after #248, #251, #253, #255, #257).
1. `include_str!` outside crate breaks cargo publish
`plumb-mcp/src/explain.rs` did `include_str!("../../../docs/src/rules/.md")`. `cargo publish` doesn't traverse outside the crate dir, so the v0.0.5 publish died with:
```
error: couldn't read `src/../../../docs/src/rules/a11y-touch-target.md`:
No such file or directory (os error 2)
```
(release-please.yml run 25488993683.)
Fix: move all 16 rule-doc files to `crates/plumb-mcp/rule-docs/` (canonical), and replace the old location with relative symlinks so mdBook still resolves them under `docs/src/rules/.md`. `include_str!` paths now resolve to a sibling directory inside the crate.
2. aarch64-pc-windows-msvc cross-compile fails
cargo-dist scheduled the ARM64 Windows build on a x86_64 `windows-latest` runner, which lacks the ARM64 cross-compile toolchain:
```
help: no idea how to cross-compile from x86_64-pc-windows-msvc
to windows with architecture aarch64
```
(release.yml run 25489026809.)
Fix: switch to native `windows-11-arm` runner.
Verified
🤖 Generated with Claude Code