Skip to content

build(afm): deny all rustdoc lints; drop unused criterion/insta#39

Merged
P4suta merged 3 commits into
mainfrom
build/rustdoc-deny-drop-unused-deps
May 30, 2026
Merged

build(afm): deny all rustdoc lints; drop unused criterion/insta#39
P4suta merged 3 commits into
mainfrom
build/rustdoc-deny-drop-unused-deps

Conversation

@P4suta

@P4suta P4suta commented May 30, 2026

Copy link
Copy Markdown
Owner

Align afm's rustdoc posture with the sibling aozora repo (all eight
rustdoc lints deny). afm previously denied only broken_intra_doc_links
and left the rest at warn.

  • 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 at the root by demoting those intra-doc links to code spans. afm's
    just strict-code forbids #[allow] outright (even with a reason),
    so refactoring — not silencing — is the only sanctioned fix.
  • Drop criterion + insta from [workspace.dependencies]: declared but
    used by zero crates (no benches/, no .snap), contradicting the udeps
    discipline just ci runs.

just strict-code + just doc + full just ci green.

Stacked on #38; retarget to main once that merges.

🤖 Generated with Claude Code

P4suta and others added 3 commits May 31, 2026 04:04
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>
Base automatically changed from ci/lefthook-pre-push-mirror to main May 30, 2026 19:49
@P4suta P4suta merged commit 95e362f into main May 30, 2026
@P4suta P4suta deleted the build/rustdoc-deny-drop-unused-deps branch May 30, 2026 19:54
@P4suta P4suta restored the build/rustdoc-deny-drop-unused-deps branch June 1, 2026 14:35
@P4suta P4suta deleted the build/rustdoc-deny-drop-unused-deps branch June 1, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant