Conversation
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
Contributor
Reviewer's GuideRefreshes the Whitaker user guide as a near-verbatim upstream import, adding current installer, lint suppression, and agent-skill guidance while preserving Netsuke deviations and fixing links that would otherwise resolve incorrectly in this repository. Documentation formatting, linting, and typechecking gates pass. Flow diagram for Whitaker installer source selectionflowchart LR
A["whitaker-installer"] --> B{"Suite version pinned?"}
B -->|"yes"| C["Build suite from source"]
B -->|"no"| D{"Published artefact available?"}
D -->|"yes"| E["Use prebuilt artefact"]
D -->|"no"| F{"--no-source-fallback"}
F -->|"enabled"| G["Fail with fallback error"]
F -->|"disabled"| C
C --> H["Print suite-source=source"]
E --> I["Print suite-source=prebuilt"]
Flow diagram for Whitaker lint suppression guidanceflowchart TD
A["no_std_fs_operations diagnostic"] --> B{"In-source #[allow] or #[expect]?"}
B -->|"does not suppress lint"| C["Diagnostic remains"]
B -->|"use excluded_paths"| D{"Path entry well formed?"}
D -->|"yes"| E["Narrow module-scoped exemption"]
D -->|"no"| F["Discard entry and log warning"]
F --> G["Avoid trailing separator that broadens scope"]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Refresh `docs/whitaker-users-guide.md` from upstream `leynos/whitaker` at `docs/users-guide.md`, which is the sanctioned way to update this file. The guide gains the installer's suite-source and artefact guarantees: `--suite-version` pinning and the source-build it forces, `--no-source-fallback` and the `suite-source=` marker, the Rust 1.85 baseline for the installer crate, and the `GLIBC_2.35` floor for the published Linux artefacts. It also corrects the `no_std_fs_operations` guidance, which had claimed that an in-source `#[allow]` suppresses the lint; it does not, and the guide now says so and points at `excluded_paths` instead (leynos/whitaker#270, still open). A new section documents the shipped agent skill, and `no_std_fs_operations` gains the malformed-`excluded_paths` behaviour. Relative links are rewritten to absolute ones so they resolve from this repository, where the imported file sits beside unrelated `docs/` rather than inside the Whitaker tree. The four rewritten targets are the developer's guide, its two anchored sections, and the shipped `SKILL.md`. Link-reference definitions carry the URLs, so mdtablefix can rewrap the prose without breaking a link. The three "Netsuke deviation from upstream" callouts are preserved and re-homed: the Cargo-metadata pinning note follows the renamed "Version pinning through Cargo metadata" section, the lint-selection note follows "Selecting individual lints", and the newer `--suite-version` text earns a sentence distinguishing it from the metadata pin — it is a one-off installation choice, not the standing HEAD-following policy. Co-authored-by: leynos <leynos@rohga> Co-authored-by: Claude Code <noreply@anthropic.com>
leynos
force-pushed
the
import-updated-whitaker-guide
branch
from
September 19, 2026 14:03
c92bff7 to
cc2e208
Compare
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.
Summary
This branch refreshes docs/whitaker-users-guide.md from the
upstream
leynos/whitakeruser's guide, which is the sanctioned way toupdate that file: the developers' guide records it as a near-verbatim
import to be refreshed from the upstream URL rather than edited in
place (docs/developers-guide.md).
The guide had drifted from upstream and was carrying advice that no
longer holds. The corrections matter beyond prose accuracy, because
this file is what a contributor consults when the Whitaker gate fails:
no_std_fs_operationsin-source attributes. The old text claimedan item-level
#[allow]works "since the lint honours Rust'slint-level attributes". It does not — the lint emits through
LintContext::emit_span_lint, which resolves the level at thevisitor's current lint node rather than at the node owning the
offending code (guide, lines 777-785;
upstream
leynos/whitaker#270, still open). The guide now states thereal position and directs the reader to
excluded_paths, and recordsthat a malformed entry — notably a trailing separator, which would
otherwise collapse to the crate root and disable the lint crate-wide —
is discarded rather than repaired.
--suite-versionpinning andthe source build it forces (guide, line 110),
--no-source-fallbackwith thesuite-source=marker(guide, line 208), the Rust 1.85 requirement
for the published installer crate (guide, line 19), and
the
GLIBC_2.35floor for the published Linux artefacts(guide, line 24).
Relative links are rewritten to absolute URLs, as the task required.
This is a real defect rather than a cosmetic one: the imported file sits
beside unrelated
docs/, so a baredevelopers-guide.mdresolves tothis repository's own developer's guide, and
../skills/addressing-whitaker-findings/SKILL.mdresolves outsidedocs/to a path that does not exist here at all. Four targets arerewritten and carried in a link-definition block at the end of the file
(guide, lines 942-950), which keeps the
prose rewrappable by
mdtablefix.The three "Netsuke deviation from upstream" callouts are preserved and
re-homed to the sections they guard: the Cargo-metadata pinning note now
follows the renamed "Version pinning through Cargo metadata" section
(guide, line 170), the lint-selection note
follows "Selecting individual lints" (guide, line
269), and a third covers the new agent-skills
section (guide, line 933). The newer
--suite-versiontext needed one sentence distinguishing it from themetadata pin: it is a one-off installation choice, where the metadata
block takes over library resolution for every Dylint invocation. Netsuke
takes neither, and the standing decision is unchanged.
No issue, roadmap task, or execplan covers this work; it was requested
directly as a documentation import.
Review walkthrough
against the upstream source it was imported from. The diff is large
because the upstream file gained roughly a hundred lines, but the
portions that are new to this repository rather than to upstream are
precisely the three callouts and the trailing link-definition block.
lines 942-950, against the two original relative forms
at line 7 and line 869 as they stood before this
branch.
(line 170, line 269)
and confirm the deviation they describe is still the repository's
policy. The supporting evidence is in
tests/whitaker_boundary_contract.rs and the
"Quality gates" section of docs/developers-guide.md;
the installer pin lives at
.github/workflows/ci.yml, line 226.
Validation
Gates were run sequentially over the working tree by the
scrutineersub-agent, with each gate's output captured to a log under
/tmp.The diff is documentation-only, so
make testwas deliberately not run;the reasoning is recorded in the notes below.
make check-fmt: pass —mdtablefix --checkreports "141 files leftunchanged";
cargo fmt --checkandruff format --checkclean.Log:
/tmp/check-fmt-netsuke-import-updated-whitaker-guide.outmake markdownlint(includesmake spelling): pass —typos-config-builder gateexited 0 with no diff, markdownlint-cli2 reported "Linting: 141file(s) / Summary: 0 error(s)".
Log:
/tmp/markdownlint-netsuke-import-updated-whitaker-guide.outmake nixie: pass — "All diagrams validated successfully!".Log:
/tmp/nixie-netsuke-import-updated-whitaker-guide.outmake lint: pass — rustdoc, Clippy, Whitaker over both packages,lint-python,yamllint, andactionlintall completed with exit 0and no
errororwarninglines.Log:
/tmp/lint-netsuke-import-updated-whitaker-guide.outmake typecheck: pass —ty check"All checks passed!";cargo check --all-targets --all-featuresunder-D warningsfinished.Log:
/tmp/typecheck-netsuke-import-updated-whitaker-guide.outBefore the diff was committed, the file was canonicalised with the same
mdtablefixrule set thatcheck-fmtenforces(
--wrap --renumber --breaks --ellipsis --fences), scoped to the onefile rather than running
make fmt.Notes
make testwas not run, deliberately. No Rust test reads thisfile. The
tested-examplefence machinery coversREADME.md,docs/users-guide.md, anddocs/stdlib-yaml-and-jinja-guide.md; thenew fences here are plain
shandtextblocks with no consumer. Theonly non-documentation references to the guide are a comment in
dylint.tomland a rustdoc comment inwhitaker_boundary_contract.rs,and that test binary was compiled and run in anger under
make lint's--all-targetsClippy and Whitaker passes.mdtablefix,in the
ra_ap_syntaxrunbook sentence and the agent-skills closingsentence. This is a consequence of the link rewrites changing those
lines' lengths, not an unrelated reformat.
before this branch and were moved to track the upstream text they
qualify; only the third, covering agent skills, is new.
excluded_pathsguidance did not require a change todylint.toml. The upstream correction says in-source attributes donot suppress the lint, which is what this repository already does in
practice: every exemption in
dylint.tomlis anexcluded_pathsorexcluded_cratesentry, and no in-source suppression is used.References
https://lody.ai/leynos/sessions/94a3fd45-394b-4cb7-be01-b570adadfeee
Summary by Sourcery
Refresh the Whitaker user guide from upstream and align its guidance and links with current installer and lint behavior.
New Features:
Bug Fixes:
Enhancements:
Documentation: