build(afm): deny all rustdoc lints; drop unused criterion/insta#39
Merged
Conversation
Mirror of the sibling aozora fix. The cargo-target / cargo-registry /
cargo-git / sccache named volumes were mounted at
/workspace/{target,.cargo,.sccache} — nested inside the `.:/workspace`
source bind mount. Because the dev container runs as root, the Docker
daemon created those host-side mountpoints (./target, ./.cargo,
./.sccache) as root, littering the working tree with root-owned dirs and
breaking any host-side cargo invocation.
Move all four caches to /cargo/* (CARGO_HOME=/cargo/home,
CARGO_TARGET_DIR=/cargo/target, SCCACHE_DIR=/cargo/sccache) — outside the
bind mount. The daemon no longer touches the host tree and the checkout
stays clean. The named volumes still persist the caches between runs. The
build-time rustup override (CARGO_HOME=/usr/local/cargo for the fuzz
stage's nightly install) is unaffected.
Verified: `docker compose run dev` leaves the host ./target absent.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The pre-push hook ran only `test` / `deny` / `prop-deep` (in parallel), even though the repo already owns an 18-step `just ci` recipe — so a push could still introduce a lint / check / doc / spec / coverage / upstream-diff / verify-version-pins / book regression that only surfaced on the PR. Mirror the sibling aozora repo: run `just ci` sequentially (cheap-to-expensive) with `prop-deep` as a trailing deep sweep, and drop the now-redundant standalone `test` / `deny`. Also bring over aozora's lefthook DX: an explicit `output:` block so failures stay loud across lefthook version bumps, and a `fail_text:` on every command with a concrete repro hint (matches the project's dev-visibility / "no silent death" posture). `prop-deep` is tagged `deep` for `SKIP_TAGS=deep` opt-out. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bring afm's rustdoc posture in line with the sibling aozora repo, which denies all eight rustdoc lints. afm previously denied only `broken_intra_doc_links` and left the other seven at `warn` — which, per the shared lint-profile policy, is a soft suppression. - Promote all rustdoc lints to `deny`. This surfaced real defects: the `ir` module doc linked private items (`build_ir`, `OpenContainer`, `ast_splice`, `projection`, `types`, `SentinelCursor`, `ParaScan`). - Fix them at the root by demoting those intra-doc links to plain code spans. (afm's `just strict-code` forbids `#[allow]` outright — even with a `reason` — so the fix is to refactor the docs, never silence.) - Drop `criterion` and `insta` from `[workspace.dependencies]`: both were declared but consumed by zero crates — vestigial template inheritance that contradicts the udeps discipline `just ci` already runs. Verified `just strict-code` + `just doc` green. Co-Authored-By: Claude Opus 4.8 (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.
Align afm's rustdoc posture with the sibling aozora repo (all eight
rustdoc lints
deny). afm previously denied onlybroken_intra_doc_linksand left the rest at
warn.deny. This surfaced real defects: theirmodule doc linked private items (build_ir,OpenContainer,ast_splice,projection,types,SentinelCursor,ParaScan).just strict-codeforbids#[allow]outright (even with areason),so refactoring — not silencing — is the only sanctioned fix.
criterion+instafrom[workspace.dependencies]: declared butused by zero crates (no benches/, no .snap), contradicting the udeps
discipline
just ciruns.just strict-code+just doc+ fulljust cigreen.🤖 Generated with Claude Code