Repository navigation
Make the build pass again: formatting, a lint, and two broken tests - #35
Merged
Merged
Conversation
CI has been red on main since at least 20 September, and because `cargo fmt --check` is the first step of the job, everything after it went unseen. Four separate problems were stacked behind it. Formatting had drifted across the workspace and the fuzz targets, 121 diffs in all. Applied with the same commands the workflow runs, stable for the workspace and nightly for fuzz. `initial_origin` checked two options with `is_some` and then unwrapped one, which `clippy::unnecessary_unwrap` rejects under `-D warnings`. It now matches both options at once, which is the same behaviour. `tests/live_news.rs` included its card from `../../../../tools/octoscript-research/live-news.card`, a path outside the repository pointing at a directory that does not exist in any checkout; the file actually lives in Octoscript-AppCard under an older name. The card is now a test fixture beside the others in `tests/fixtures/`, which is how every neighbouring test already loads one, so the test compiles anywhere. `tests/nav_waypoint.rs` took a reference the compiler immediately dereferenced. Verified locally with the workflow's own commands: `cargo fmt --check`, `cargo +nightly fmt --manifest-path fuzz/Cargo.toml --check` and `cargo clippy --workspace --all-targets --all-features -- -D warnings` all pass. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Both linux_network_broker tests failed on every run with "path must be shorter than SUN_LEN". The broker appends `.octoscript-network-<32 hex>/broker.sock` to whatever directory it is given, 64 bytes, and a Unix socket path cannot reach 108. The test directory name spent 48 bytes on its own, so the bind could never succeed. Shortened to `octoscript-nb-<pid>-<n>`, which leaves the worst case at 93 bytes. Test code only; the broker's own naming is untouched. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`the_source_catalog_matches_the_toml_spec` and `the_field_vocabularies_match_the_toml_spec` both failed: Rust declares 32 capabilities and docs/ui-l0-constructors.toml described 29. The TOML is what the agent-facing catalog is generated from, so a capability that lives only in Rust is one the model writing cards never sees, and a card naming its fields would be refused for using documentation that was never offered. That is the drift these tests exist to catch, and it had happened to sys.news_digest, sys.news_status and sys.dataset. Each now carries its arguments, its answerable fields and a note on what it is for and why its shape differs from its neighbours. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`cargo test -p makepad-script` aborted with a stack overflow in math_aot's batch test. It is not a flaky limit: raising RUST_MIN_STACK to 32 MB does not help, because the depth follows the number of points in a chunk, and the same test passes in makepad's own workspace at the very same commit. The difference is a profile. makepad's root manifest carries `[profile.test.package.makepad-stitch] opt-level = 1`, and we build the same crate without it. makepad-stitch is a WebAssembly interpreter; unoptimised its frames are large enough that one chunk of a batched expression, 5461 points for a vec3, runs the test thread out of stack. The passing neighbour test uses 4097 points and stays under the cliff, which is why only one test showed it. Mirrors upstream rather than inventing a workaround. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI has been red on main since at least 20 September.
cargo fmt --checkis thefirst step of the job, so everything after it went unseen. Four separate
problems were stacked behind it.
Formatting had drifted across the workspace and the fuzz targets, 121 diffs.
Applied with the same commands the workflow runs: stable for the workspace,
nightly for
fuzz/.A lint.
initial_originchecked two options withis_someand thenunwrapped one, which
clippy::unnecessary_unwraprejects under-D warnings.It now matches both at once. Same behaviour.
A test that cannot compile anywhere.
tests/live_news.rsincluded its cardfrom
../../../../tools/octoscript-research/live-news.card— a path outside therepository, pointing at a directory that exists in no checkout. The file really
lives in Octoscript-AppCard under an older directory name. The card is now a
fixture in
tests/fixtures/, besideweather.card,news.cardand the rest,which is how every neighbouring test already loads one.
A needless borrow in
tests/nav_waypoint.rs.Verified locally with the workflow's own commands:
cargo fmt --checkcargo +nightly fmt --manifest-path fuzz/Cargo.toml --checkcargo clippy --workspace --all-targets --all-features -- -D warningsall pass. The Linux-only steps (sandbox cross-target checks, the bubblewrap and
cgroup tests) cannot run on macOS, so this pull request is where they get their
first look in days.