Two fixes on top of the checkpointed script:
1. `--all-targets` (the load-bearing fix). The checkpointed script used
`cargo check --workspace`, which does NOT compile #[cfg(test)] code — and the
shared-type literals that actually broke (sandbox-jcp, joule-code-jcp) live in
test modules. So the guard as checkpointed would have passed while main was
broken. Verified the corrected guard by deleting a `budget_funds` field from a
test literal: it now fails red with the exact E0063 in `lib test`, and passes
green when restored.
2. The CI workflow. `runs-on: linux` per the fleet doctrine (self-hosted
forgejo runner; the repo family never uses ubuntu-latest). Triggers only on
changes under the three consuming workspaces or the script. NOTE: the seven
existing workflows in this repo use `runs-on: ubuntu-latest`, which contradicts
that doctrine — they may be legacy/non-firing; worth a separate look. This gate
may stay dormant until the repo's Actions unit is enabled, but it is
doctrine-correct and the script it runs is proven independently of CI.
Guards the class of break that required PRs #36 and #43 to repair: a required
field added to a crate that is path-depended across a workspace boundary.
Co-Authored-By: Claude Opus 4.8 <[email protected]>