oss/integration repo hygiene - #840
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Add package.license to the [workspace] block and switch every crate to license.workspace = true: 17 crates previously hardcoded the SPDX expression and 11 carried no license key at all. All 28 workspace crates now inherit the single declaration. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add LICENSE-APACHE (canonical Apache-2.0 text, appendix fields left as boilerplate) and LICENSE-MIT (The Minimal Authors), a NOTICE file with the dual-license statement and attribution for the two Apache-2.0 binaries redistributed in darwin/arm64 release artifacts (libkrun v1.19.4, gvproxy v0.8.9, versions per the vendor lock files), an internal docs/internal/licensing.md recording the LGPL stance for the malachite crates and hakoniwa plus the crates.io publishing blocker, and a README License section with the standard contribution-licensing sentence. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…allowance
Replace the placeholder comment above the license exceptions with a
block explaining the hakoniwa and malachite LGPL entries and pointing
at docs/internal/licensing.md. Remove [sources.allow-org] github =
["souk4711"]: hakoniwa 1.7.2 now comes from crates.io and Cargo.lock
has zero souk4711 hits, so the allowance is dead. cargo deny check
licenses sources passes ('licenses ok, sources ok'); the pre-existing
warn-level source-not-allowed for the nickel-lang git dependency is
unchanged.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
SECURITY.md routes vulnerability reports through GitHub private vulnerability reporting (never public issues), maps supported versions to the installer's release channels (stable supported; unstable/nightly latest-only, no backports), and scopes the policy to the shipped binaries, the installer, and the sandbox/microVM isolation boundaries. CODE_OF_CONDUCT.md is the Contributor Covenant v2.1, with the enforcement contact left as the covenant's placeholder pending a launch decision. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…late The ISSUE_TEMPLATE markdown files were untouched GitHub boilerplate (browser/smartphone fields on a CLI tool). Replace them with issue forms tuned to minimal: the bug form captures version output, OS/arch, install channel, and logs; the feature form asks for problem, proposal, and alternatives. config.yml disables blank issues, with contact links left commented out pending the Discussions decision. The PR template reminds that the title becomes the squash commit subject (Conventional Commits), asks for testing evidence, and carries docs/breaking-change checkboxes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The clap command was still named "minimal" (its pre-rename identity), but the binary ships as bin/mip. As a result, generated shell completions registered under the wrong command name, so `mip completions` produced a script that completed a nonexistent `minimal` command. Rename the clap command to "mip", update the about string, and fix all help/usage text and `mip init` next-step hints that still told users to run `minimal <subcommand>`. Strings that legitimately refer to minimal.toml, the minimal project, paths, or environment variables are unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The completions long_about example said `minimal completions bash`, which is the wrong binary; the daemon's own completions are generated with `minimald completions bash`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace the single cli.md (which documented the pre-rename `minimal` binary surface) with an overview page routing between the two planes and four binaries, plus per-binary pages generated from --help at e5ce5fb: - cli.md: two-plane intro, binary table, platform availability notes (macOS ships min+minvmd only; mip run is Linux-only), pointer to the in-sandbox helpers in sandbox-operations.md - cli-mip.md: package/build CLI; absorbs the old cli.md command content under the correct binary name, and notes that MINIMAL_SCIENCE_MODE-hidden commands are undocumented (refs #821, #822) - cli-min.md: session CLI, including the git-remote-min helper flow (`git push min://<session>`) and a note that mesh/ssh-forward exist only behind the off-by-default remote-access cargo feature - cli-minimald.md: ops page for the host daemon (refs #820) - cli-minvmd.md: ops page for the VM daemon, including the new `config show|set` subcommands (refs #823) Inbound links in sandbox-operations.md, minimal-dot-toml.md, tasks.md, and linux-host-setup.md pointed at /reference/cli anchors that moved; repoint them at ./cli-mip.md / ./cli.md with relative links and the corrected `mip` command names. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The mip dep long_about showed --input_deps_depth (underscore spelling) and a -p flag that does not exist on dep; minimald's --detach and --gvproxy-bin help referenced the retired `minimal` CLI name and internal DM2 jargon. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add docs/internal/proposals/ with the needs-human CI artifacts for the OSS docs launch. The workflow layer is frozen and CODEOWNER-gated, so nothing here is wired into CI; a code owner applies each piece through review: - docs-site.yml: complete draft of the docs-site lane on the repo's lane pattern (always-triggered, in-workflow paths filter, if-always docs-site-success aggregator), with a weekly advisory online link sweep and a disabled Pages deploy job. - ci-yml-docs-filter.patch: extend ci.yml's code negation filter with the docs-site toolchain files and NOTICE; widen !LICENSE to !LICENSE*. Verified with git apply --check. - promote-yml-webapp-repoint.patch: retarget the post-promotion docs dispatch from the deprecated gominimal/docs to gominimal/webapp. Verified with git apply --check. - webapp-reference-sync.yml: draft workflow for gominimal/webapp that consumes the dispatch, mirrors the manifest-listed reference pages, and drift-checks weekly. - README.md: index, freeze rationale, apply instructions, follow-up checklist. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add lane self-inclusion to the docs filter, prune manifest-dropped pages in the webapp sync job, and note the link-normalization prerequisite in the apply instructions. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add a VitePress 1.6.4 site rooted at docs/: exact-pinned npm toolchain (package.json, package-lock.json, .nvmrc), site config with strict dead-link checking (ignoreDeadLinks: false), srcExclude fencing for specs/, spikes/, internal/, and session-domain-diag.md, and mermaid rendering via vitepress-plugin-mermaid. The theme ports the historical gominimal/docs design tokens: monochrome palette, zero border-radius, 1px borders, uppercase mono headings, and self-hosted Space Grotesk via @fontsource. The AstroMono @font-face block is present but commented out pending font license verification. Brand marks and the favicon are fetched from the historical docs repo into docs/public/. New pages: a home page (hero wording is a launch-decision placeholder) and thin wrappers under docs/arch/ embedding crates/sessions/docs/COMPOSITION.md and crates/minvmd/README.md via VitePress includes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace site-absolute links in docs/reference with forms that resolve both on GitHub and in the VitePress build, which now fails on dead links: - /reference/... links become relative ./page.md links. - Dead /concepts/... links point at their live counterparts on https://docs.minimal.dev. - ci-strategy.md's ../CONTRIBUTING.md link becomes a GitHub blob URL, since the file sits outside the site root. Also guard two spots that broke Vue compilation of the strict build: wrap raw Rust generics in rust-coding-standards.md in code spans, and v-pre the inline GitHub Actions expression in ci-strategy.md so it is not parsed as a Vue interpolation (which truncated the rendered page). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Cover the session/VM plane (min -> minimald -> minvmd, composition, networking, persistence, remote cache) alongside the existing build plane, add a full 28-crate map and a platform matrix, and fix the minimal.toml discovery description: the search walks up toward the filesystem root, not down. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add docs/specs/README.md indexing specs 01-09 with a defined status vocabulary (planned | shipped | superseded), and flip frontmatter status from planned to shipped in all 14 frontmatter-bearing spec files: the features of 01-03 and 05-09 are verified in-tree, and 04 is implemented (ot has the render-free core with new_root/snapshot/ changed, indicatif_shim.rs with render_operations_while, and minimald has channel_progress.rs). Companion architecture files match their spec. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add docs/spikes/README.md (dated index with question/outcome) and docs/decisions/README.md (ADR conventions and index; 0001 keeps its filename so the rust-coding-standards link stays valid). Move docs/session-domain-diag.md to docs/internal/ and update the seven inbound references in specs 01 and 02. Add docs/internal/README.md indexing the internal corpus and noting that docs/specs and docs/spikes are excluded from the docs site but publicly visible. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace personal names in ADR 0001 decider/sign-off lines with "project maintainers", drop the bot author field from both spike frontmatter blocks, rephrase the spec-01 open question so it no longer assigns confirmation to an issue owner, and remove the retired sdd:triage label reference from the spec-03 architecture notes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Describe the current release and install flow end to end: release.yml (verify-ci gate on the five lane aggregators, build/sign jobs, staging into the immutable versions/<sha>/ bucket layout, the unstable channel auto-flip, and the legacy minimal-shim archive upload), nightly.yml's daily cut + shipped-artifact smoke + nightly blessing, promote.yml's gated stable promotion and docs dispatch, prune-releases.yml, the install.sh resolution chain and per-platform component sets, and a short operator runbook. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Carries forward the old README's 8-core/16GB build recommendation and notes the minvmd-linux-amd64 binary attached to GitHub Releases. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The raw ../crates/ paths are outside the docs site root and fail dead-link enforcement; the arch/ wrappers embed the same sources. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tool-neutral orientation doc at the repo root: two-plane overview and the four binaries, the 28-crate map, the platform matrix (macOS scoping and why), system dependencies, a grouped index of all 19 justfile recipes, verified footguns with sources, the 11-workflow CI lane map with the five required-check aggregators, and the conventions/hard-rules summary. Mark CONTRIBUTING.md's pre-PR command block as the canonical copy and cross-link AGENTS.md's macOS-scoped variants, so the commands live in exactly one place. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Everything the old CLAUDE.md carried directly or via @-includes (commit conventions, architecture, Rust standards, the CI-freeze rule) is now reachable through AGENTS.md, which CLAUDE.md includes. Only the Claude-workflow-specific iteration and finish-command notes remain. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- min --help no longer shows the flattened GlobalArgs doc comment
("Shared arguments all subcommands") as the top-level description:
the struct comment is demoted to a regular comment and the Cli
command gets an explicit about identifying the session CLI.
- min login long_about: drop the stale `minimal login` spelling and
render the curl example verbatim instead of clap re-wrapping it
onto one line.
- min completions long_about: "the minimal CLI" -> "the min CLI".
- mip cache clean and its --older-than flag now carry help text
describing the actual behavior (retention cutoff, always-kept
task/stack packages, stale sandbox/task/temp dir cleanup, and the
d/h/m duration forms) instead of rendering blank.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…eatures Audit of docs/reference/ against the code: - cli.md: Linux installs ship min/mip/minimald only; minvmd is a source build (prebuilt amd64 attached to GitHub Releases, no arm64) — per scripts/stage-release.sh COMPONENTS and release-pipeline.md. - minimal-dot-toml.md: rename stale `minimal update`/`minimal materialize` to the mip CLI, and cross-reference that `mip update` rewrites the upstream and sideload locked_commit fields in place (crates/op/src/project/update.rs). - tasks.md: mip run in the args example; document `description` (shown by mip status), the /bin/<cmd> exec resolution, arg defaults making arguments optional, and the full arg datatype forms (arrays, enums, table form with help/default) per the args crate. - build-specs.md: replace the line-anchored stdlib blob link with a stable file link; tests run by `mip check`. - harness-specs.md: `mip build` / `mip init` binary names (light re-audit after #813). - sandbox-operations.md: match the in-sandbox helper (crates/mctx/src/min_helper.sh + env.rs): --session flag and no-flag default, stack.* not harness.* targets, check takes --stacks (not --harnesses) and has no --skip-checkers/short flags, add the build/test shorthands and patched-pkg, mark the surface Linux-only, and add a note disambiguating the helper from the min session CLI. - cli-min.md, cli-mip.md: regenerate the snippets touched by the help text fixes (cache clean, login example) from the rebuilt binaries at d9f2016. - crates/minvmd/README.md: replace the stale "persistent data disk is a follow-up" note with the shipped per-VM /dev/vdb ext4 volume (crates/minvmd/src/volume.rs, spec 08) and update the libkrun guidance for the pinned source build (#694), keeping brew as the local-dev fallback. - frontmatter: every reference page now carries title + description. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
List the nine user-reference pages the webapp reference-sync workflow
(docs/internal/proposals/webapp-reference-sync.yml) mirrors, in the
agreed {"pages": [...]} shape with filenames relative to
docs/reference/. The ops pages (cli-minimald.md, cli-minvmd.md) are
deliberately not exported.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Four materialize examples still used the retired minimal spelling; sandbox-operations documented a --task <name> form the helper does not implement (Refs: #834); linux-host-setup and cli.md wording aligned with the shipped binaries. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The justfile rework (c917d35) replaced the dm1/dm2/dm3 vocabulary with up/up-kvm/down and grew the recipe set from 19 to 32, folding the CI gates (ci, test, test-ignored, clippy, deny, fmt, doctest) and the e2e / VM harnesses (e2e, e2e-native, test-vm, test-root-integration, test-lifecycle, soak, reap) into just. Rewrite the AGENTS.md recipe index against the actual recipes, re-source every footgun that cited the old recipe names (READY-timeout exports now live in the justfile header; leaked-VM reaping is 'just reap'; codesign-minvmd is gone), and make 'just ci' the pre-PR headline, deferring to CONTRIBUTING.md as canonical with the macOS test-cross and VM-path extras. Also fold the R2 read-path canary into the ci lane one-liner. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
main gained the min bug host diagnostic bundle command (f4e0491) and a shared resource-pool header in the session listing (cfeafc7). Add the bug section — bundle layout, failure-isolated manifest, the no-mutation guarantee, and the env-value allowlist redaction policy — note the RESOURCE POOL header under ls, and bump the generated-at marker to the merged tree. dirs and session are unchanged on the surface (the dirs rework was an internal refactor feeding the bug bundle). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
CI (repo-wide lane) and license badges, per the badge conventions of prominent Rust and sandbox projects; logo follows the firecracker/libkrun theme-aware <picture> pattern. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Light mode via mermaid base theme variables (no more default yellow); dark mode via .dark-scoped CSS overrides, since the plugin forces mermaid's dark theme and a second themeVariables set can't be supplied. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The code moved to stacks (stacks/<name>/stack.ncl, [stack] section, mip check --stacks); [harness] survives only as a deprecated serde alias and stays documented as such. Test-harness senses untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Documents the loadout TOML schema, discovery under <config>/minimal/loadouts/, activation flags and default selection, client config, and composition/conflict semantics — with a callout that patches and lifecycle hooks compose but are not yet applied. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Local mac builds fetch the guest kernel/rootfs via scripts/fetch-prebuilt.sh (content-addressed cache fetch; just artifacts wraps it) and no longer call into minimal for minvmd components. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
From the issue #695 working session, each claim re-verified in code: bake-at-activation semantics, spawn-time no-such-package failure, warn-drop on missing patch sources, the NameMismatch error, and a compact 'Vars in the attach shell' section (bash --noprofile -l, PS1 override, once-only PROMPT_COMMAND banner). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adopt PR 836's single-license decision everywhere: drop the dual MIT-OR-Apache-2.0 texts (canonical text is the root LICENSE), restate NOTICE as Apache-2.0-only while keeping the libkrun/gvproxy attributions, flip the workspace license field, and rewrite the internal licensing stance (LGPL dependency exceptions unchanged). cargo deny check licenses passes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…idance min add has no --session flag — the quickstarts now write the [session] block of minimal.toml directly. Fill the Loadout section (was TBD) from the new reference page, add the macOS build-scope caveat, renumber the CONTRIBUTING TL;DR, and align the workflow's commit-message step with the enforced Conventional Commits rule. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Code-owner application of the drafts under docs/internal/proposals/: add .github/workflows/docs-site.yml (VitePress build, docs/reference site-absolute link guard, offline lychee check, rendered-site artifact; Pages deploy job present but if:false; docs-site-success aggregator, not yet a required check), extend ci.yml's code negation filter so docs-toolchain and attribution paths (LICENSE*, NOTICE, package.json, package-lock.json, .nvmrc) skip the Rust lanes, and repoint promote.yml's reference-docs-promoted dispatch from the deprecated gominimal/docs to gominimal/webapp. Remove the applied proposals directory and reconcile the release-pipeline and AGENTS workflow references. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
aabc3b2 to
adf612b
Compare
Resolve PR #840 conflicts. The base branch still carries PR #836's original commits on the old fork point; oss/integration already contains that content (replayed during the earlier rebase) plus the reviewed fixes. README.md and CONTRIBUTING.md conflicts resolved in favor of oss/integration (keeps the min add/[session] quickstart fix, the TL;DR renumbering, the commit-format correction, logo/badges, and the docs link). Single Apache-2.0 license stance preserved. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pull in the base branch's 'Merge main' commit. Clean auto-merge — oss/integration already contains all of main and 836's content, so the new merge commit introduces no textual conflicts; README and CONTRIBUTING are unchanged from oss/integration's reviewed versions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 9
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/docs-site.yml (1)
1-185: 📐 Maintainability & Code Quality | 🟠 Major | 🏗️ Heavy liftKeep docs-site logic out of the workflow layer Move the docs checks into
scripts//justfile; CI owners can add the thin scheduler change under CODEOWNER review.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/docs-site.yml around lines 1 - 185, Move the docs build, site-absolute-link validation, offline link check, and related orchestration currently implemented by docs-build and link-sweep into scripts and justfile targets. Reduce .github/workflows/docs-site.yml to a thin scheduler that invokes those repository-owned commands, while preserving its event/path gating, artifact upload, advisory sweep behavior, and docs-site-success status.Sources: Coding guidelines, Learnings
🧹 Nitpick comments (6)
.github/pull_request_template.md (1)
9-12: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winInclude the canonical pre-PR verification command.
Add
just ciand the documented platform-specific alternative to the testing prompt so contributors report the expected repository gate, not only partialcargo testorcargo clippyruns.As per coding guidelines and retrieved learnings,
just ciis the canonical pre-PR check and platform-specific verification commands fromAGENTS.mdshould be followed.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/pull_request_template.md around lines 9 - 12, Update the Testing section in the pull request template to explicitly request the canonical pre-PR command “just ci” and the documented platform-specific verification alternative from AGENTS.md, while preserving the existing prompt for reporting commands and relevant output.Sources: Coding guidelines, Learnings
docs/reference/loadouts.md (1)
32-32: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd language identifiers to the fenced examples.
markdownlint-cli2reports MD040 for these fences. Mark the path placeholder astextand the listing example astext.Also applies to: 295-295
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/reference/loadouts.md` at line 32, Update the fenced code examples in loadouts.md, including the path placeholder and listing example, to specify the text language identifier after each opening fence so markdownlint MD040 passes.Source: Linters/SAST tools
docs/reference/cli-mip.md (1)
34-34: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd language identifiers to fenced command blocks.
markdownlint-cli2reports MD040 for these fences. Mark command examples asconsoleortext.Also applies to: 48-48, 59-59, 67-67, 81-81, 91-91, 99-99, 118-118, 132-132, 147-147, 166-166, 191-191
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/reference/cli-mip.md` at line 34, Update the fenced command blocks in cli-mip.md, including the listed locations, with appropriate language identifiers such as console or text so markdownlint-cli2 no longer reports MD040.Source: Linters/SAST tools
docs/reference/cli-minimald.md (1)
29-29: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd language identifiers to the fenced command blocks.
markdownlint-cli2reports MD040 for both fences. Mark these asconsoleortextas appropriate.Also applies to: 44-44
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/reference/cli-minimald.md` at line 29, Add language identifiers to both fenced command blocks in the CLI documentation, using console for shell commands and text where the block is plain output or content, so the MD040 lint violations are resolved.Source: Linters/SAST tools
docs/reference/cli-min.md (1)
30-30: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd language identifiers to fenced command blocks.
markdownlint-cli2reports MD040 for these fences. Useconsole,sh, ortextas appropriate so the documentation site passes lint consistently.Also applies to: 42-42, 61-61, 71-71, 80-80, 89-89, 97-97, 107-107, 115-115, 140-140, 150-150, 160-160, 168-168, 181-181, 189-189, 208-208
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/reference/cli-min.md` at line 30, Add language identifiers to every fenced command block in docs/reference/cli-min.md, including the listed locations, using console for command/output examples, sh for shell scripts, and text for plain non-code output as appropriate. Ensure no unlabeled fenced blocks remain so markdownlint MD040 passes.Source: Linters/SAST tools
docs/reference/cli-minvmd.md (1)
26-26: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd language identifiers to fenced command blocks.
markdownlint-cli2reports MD040 for these fences. Mark command examples asconsoleortext.Also applies to: 35-35, 48-48, 57-57, 66-66, 79-79, 87-87
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/reference/cli-minvmd.md` at line 26, Add an explicit language identifier to every fenced command block in cli-minvmd.md, including the blocks at the referenced locations. Use console for command examples and text where the block contains non-command output, ensuring markdownlint MD040 is satisfied.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/ISSUE_TEMPLATE/config.yml:
- Around line 1-9: Provide an active fallback contact path in the issue template
before launch by uncommenting and populating contact_links with finalized
Discussions and documentation URLs, or keep blank_issues_enabled set to true
until those destinations are available.
In `@AGENTS.md`:
- Around line 34-36: Update the crate map entry for the check command to use
“mip check” instead of “minimal check.” Keep the existing description of what
the command lints, and ensure the entry accurately references the Check command
defined in the mip CLI.
In `@CLAUDE.md`:
- Around line 9-12: Update the pre-PR verification guidance in CLAUDE.md to
identify `just ci` as the canonical final gate, separately from the Linux
auto-fixing Clippy command intended for iteration. Preserve the
platform-specific verification guidance and clarify that the fixer does not
replace the pre-PR check.
In `@docs/index.md`:
- Around line 25-26: Resolve the launch placeholder in the homepage hero section
by replacing the provisional hero text and tagline with finalized launch
wording, or removing the placeholder TODO once the copy is finalized. Ensure no
launch-related TODO remains in the hero content.
In `@docs/internal/release-pipeline.md`:
- Around line 61-64: Resolve the legacy artifact step in the release runbook:
either document the consumers and retention requirements for the
minimalone-<sha>.tar.zst upload to gs://minimal-shim/archives/, or remove the
upload procedure and its TODO if the artifact is no longer required. Ensure the
authoritative release flow has no unresolved legacy-support status.
In `@docs/reference/linux-host-setup.md`:
- Around line 69-70: Update the “the installer” link in the minimald
installation-path description to reference documentation that explains where the
installer places binaries; if no suitable installation page exists, remove the
link while preserving the surrounding text.
In `@docs/reference/manifest.json`:
- Around line 3-12: Update the reference manifest entries near cli.md,
cli-mip.md, and cli-min.md to include both missing pages, cli-minimald.md and
cli-minvmd.md, so all four binary CLI references are exposed while preserving
the existing manifest structure and ordering.
In `@SECURITY.md`:
- Around line 15-17: Update the reporting guidance in SECURITY.md to replace the
incorrect `min version` reference with `min --version`, while preserving the
existing `mip --version` text and surrounding reporting requirements.
- Around line 5-9: Make the vulnerability-reporting guidance consistent across
SECURITY.md, README.md, and CONTRIBUTING.md by choosing a single reporting
channel and updating every conflicting instruction to use it. Preserve the
selected channel’s exact workflow and remove or revise the outdated
security@minimal.dev or GitHub private vulnerability reporting references as
needed.
---
Outside diff comments:
In @.github/workflows/docs-site.yml:
- Around line 1-185: Move the docs build, site-absolute-link validation, offline
link check, and related orchestration currently implemented by docs-build and
link-sweep into scripts and justfile targets. Reduce
.github/workflows/docs-site.yml to a thin scheduler that invokes those
repository-owned commands, while preserving its event/path gating, artifact
upload, advisory sweep behavior, and docs-site-success status.
---
Nitpick comments:
In @.github/pull_request_template.md:
- Around line 9-12: Update the Testing section in the pull request template to
explicitly request the canonical pre-PR command “just ci” and the documented
platform-specific verification alternative from AGENTS.md, while preserving the
existing prompt for reporting commands and relevant output.
In `@docs/reference/cli-min.md`:
- Line 30: Add language identifiers to every fenced command block in
docs/reference/cli-min.md, including the listed locations, using console for
command/output examples, sh for shell scripts, and text for plain non-code
output as appropriate. Ensure no unlabeled fenced blocks remain so markdownlint
MD040 passes.
In `@docs/reference/cli-minimald.md`:
- Line 29: Add language identifiers to both fenced command blocks in the CLI
documentation, using console for shell commands and text where the block is
plain output or content, so the MD040 lint violations are resolved.
In `@docs/reference/cli-minvmd.md`:
- Line 26: Add an explicit language identifier to every fenced command block in
cli-minvmd.md, including the blocks at the referenced locations. Use console for
command examples and text where the block contains non-command output, ensuring
markdownlint MD040 is satisfied.
In `@docs/reference/cli-mip.md`:
- Line 34: Update the fenced command blocks in cli-mip.md, including the listed
locations, with appropriate language identifiers such as console or text so
markdownlint-cli2 no longer reports MD040.
In `@docs/reference/loadouts.md`:
- Line 32: Update the fenced code examples in loadouts.md, including the path
placeholder and listing example, to specify the text language identifier after
each opening fence so markdownlint MD040 passes.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: e5c46f23-3bc6-434c-b25a-641be5b8b0e8
⛔ Files ignored due to path filters (4)
docs/public/favicon.svgis excluded by!**/*.svgdocs/public/minimal-mark-dark.svgis excluded by!**/*.svgdocs/public/minimal-mark-light.svgis excluded by!**/*.svgpackage-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (101)
.github/ISSUE_TEMPLATE/bug.yml.github/ISSUE_TEMPLATE/bug_report.md.github/ISSUE_TEMPLATE/config.yml.github/ISSUE_TEMPLATE/feature.yml.github/ISSUE_TEMPLATE/feature_request.md.github/pull_request_template.md.github/workflows/ci.yml.github/workflows/docs-site.yml.github/workflows/promote.yml.gitignore.nvmrcAGENTS.mdCLAUDE.mdCONTRIBUTING.mdCargo.tomlNOTICEREADME.mdSECURITY.mdcrates/args/Cargo.tomlcrates/async-dialog/Cargo.tomlcrates/check/Cargo.tomlcrates/checkouts/Cargo.tomlcrates/common/Cargo.tomlcrates/decode/Cargo.tomlcrates/diagnostics/Cargo.tomlcrates/graph/Cargo.tomlcrates/lcache/Cargo.tomlcrates/mctx/Cargo.tomlcrates/mfile/Cargo.tomlcrates/minimal/Cargo.tomlcrates/minimal/src/lib.rscrates/minimald-rpc/Cargo.tomlcrates/minimald/Cargo.tomlcrates/minimald/src/main.rscrates/minvmd/Cargo.tomlcrates/minvmd/README.mdcrates/mip/Cargo.tomlcrates/mip/src/cmd_cache.rscrates/mip/src/cmd_init.rscrates/mip/src/cmd_run.rscrates/mip/src/main.rscrates/op/Cargo.tomlcrates/orchestrator/Cargo.tomlcrates/ot/Cargo.tomlcrates/paths/Cargo.tomlcrates/rcache/Cargo.tomlcrates/remote-client/Cargo.tomlcrates/remote-proto/Cargo.tomlcrates/sandbox2/Cargo.tomlcrates/sessions/Cargo.tomlcrates/stdlib/Cargo.tomlcrates/switch/Cargo.tomlcrates/version/Cargo.tomldeny.tomldocs/.vitepress/config.mtsdocs/.vitepress/theme/custom.cssdocs/.vitepress/theme/index.tsdocs/arch/minvmd.mddocs/arch/sessions-composition.mddocs/architecture.mddocs/ci-strategy.mddocs/decisions/0001-rust-error-handling-strategy.mddocs/decisions/README.mddocs/index.mddocs/internal/README.mddocs/internal/licensing.mddocs/internal/release-pipeline.mddocs/internal/session-domain-diag.mddocs/reference/build-specs.mddocs/reference/cli-min.mddocs/reference/cli-minimald.mddocs/reference/cli-minvmd.mddocs/reference/cli-mip.mddocs/reference/cli.mddocs/reference/linux-host-setup.mddocs/reference/loadouts.mddocs/reference/manifest.jsondocs/reference/minimal-dot-toml.mddocs/reference/sandbox-operations.mddocs/reference/stack-specs.mddocs/reference/tasks.mddocs/rust-coding-standards.mddocs/specs/01-spec-minvmd-host-daemon/01-spec-minvmd-host-daemon.mddocs/specs/01-spec-minvmd-host-daemon/architecture.mddocs/specs/02-spec-minvmd-linux-kvm/02-spec-minvmd-linux-kvm.mddocs/specs/02-spec-minvmd-linux-kvm/architecture.mddocs/specs/03-spec-networking/03-spec-networking.mddocs/specs/03-spec-networking/architecture.mddocs/specs/04-spec-ot-render-decoupling/04-spec-ot-render-decoupling.mddocs/specs/05-spec-minvmd-gvproxy-pidfd/05-spec-minvmd-gvproxy-pidfd.mddocs/specs/06-spec-ssh-host-key-in-beacon/06-spec-ssh-host-key-in-beacon.mddocs/specs/07-spec-installer/07-spec-installer.mddocs/specs/08-spec-vm-ext4-volume/08-spec-vm-ext4-volume.mddocs/specs/08-spec-vm-ext4-volume/architecture.mddocs/specs/09-spec-minvmd-resource-monitoring/09-spec-minvmd-resource-monitoring.mddocs/specs/09-spec-minvmd-resource-monitoring/architecture.mddocs/specs/README.mddocs/spikes/2026-06-20-wireguard-implementation.mddocs/spikes/2026-06-21-gvproxy-attachment.mddocs/spikes/README.mdpackage.json
💤 Files with no reviewable changes (4)
- .github/ISSUE_TEMPLATE/bug_report.md
- docs/spikes/2026-06-20-wireguard-implementation.md
- .github/ISSUE_TEMPLATE/feature_request.md
- docs/spikes/2026-06-21-gvproxy-attachment.md
| blank_issues_enabled: false | ||
| # TODO(launch): add Discussions/docs links once the Discussions decision lands | ||
| # contact_links: | ||
| # - name: Questions and discussion | ||
| # url: <discussions-url> | ||
| # about: Ask questions and discuss ideas before filing an issue. | ||
| # - name: Documentation | ||
| # url: <docs-url> | ||
| # about: Reference documentation for minimal. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Provide a fallback contact path before disabling blank issues.
With blank_issues_enabled: false and no active contact_links, questions and documentation requests have nowhere to go. Add the live links before launch, or keep blank issues enabled until they are available. I can help wire these links once the destinations are decided.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/ISSUE_TEMPLATE/config.yml around lines 1 - 9, Provide an active
fallback contact path in the issue template before launch by uncommenting and
populating contact_links with finalized Discussions and documentation URLs, or
keep blank_issues_enabled set to true until those destinations are available.
| | `args` | Types for the argument schema of tasks and sideload parameters. | | ||
| | `async-dialog` | Interactive terminal prompts over any async reader/writer (no TTY required). | | ||
| | `check` | `minimal check` linting of `minimal.toml`, packages, profiles, and stacks. | |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Use mip check in the crate map.
mip is the package/build CLI, and crates/mip/src/main.rs defines the Check command. minimal check points contributors at the wrong executable.
Suggested wording
- `minimal check` linting of `minimal.toml`, packages, profiles, and stacks.
+ `mip check` linting of `minimal.toml`, packages, profiles, and stacks.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| | `args` | Types for the argument schema of tasks and sideload parameters. | | |
| | `async-dialog` | Interactive terminal prompts over any async reader/writer (no TTY required). | | |
| | `check` | `minimal check` linting of `minimal.toml`, packages, profiles, and stacks. | | |
| | `args` | Types for the argument schema of tasks and sideload parameters. | | |
| | `async-dialog` | Interactive terminal prompts over any async reader/writer (no TTY required). | | |
| | `check` | `mip check` linting of `minimal.toml`, packages, profiles, and stacks. | |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@AGENTS.md` around lines 34 - 36, Update the crate map entry for the check
command to use “mip check” instead of “minimal check.” Keep the existing
description of what the command lints, and ensure the entry accurately
references the Check command defined in the mip CLI.
| - When you are done making code changes, run the pre-PR verification commands | ||
| for your platform — see the "Pre-PR verification" section of AGENTS.md | ||
| (canonical block in CONTRIBUTING.md; on Linux prefer the auto-fixing | ||
| clippy variant listed there). |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Separate the pre-PR gate from the Clippy fix loop.
AGENTS.md identifies just ci as the canonical pre-PR verification command, while the auto-fixing Clippy command is listed for tight iteration loops. This wording can be read as making the fixer the pre-PR replacement.
Suggested wording
- When you are done making code changes, run the pre-PR verification commands
- for your platform — see the "Pre-PR verification" section of AGENTS.md
- (canonical block in CONTRIBUTING.md; on Linux prefer the auto-fixing
- clippy variant listed there).
+ When you are done making code changes, run `just ci` and any applicable
+ platform-specific checks described in the "Pre-PR verification" section of
+ AGENTS.md. Use the auto-fixing Clippy command only during iteration.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - When you are done making code changes, run the pre-PR verification commands | |
| for your platform — see the "Pre-PR verification" section of AGENTS.md | |
| (canonical block in CONTRIBUTING.md; on Linux prefer the auto-fixing | |
| clippy variant listed there). | |
| - When you are done making code changes, run `just ci` and any applicable | |
| - platform-specific checks described in the "Pre-PR verification" section of | |
| - AGENTS.md. Use the auto-fixing Clippy command only during iteration. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CLAUDE.md` around lines 9 - 12, Update the pre-PR verification guidance in
CLAUDE.md to identify `just ci` as the canonical final gate, separately from the
Linux auto-fixing Clippy command intended for iteration. Preserve the
platform-specific verification guidance and clarify that the fixer does not
replace the pre-PR check.
| <!-- TODO(launch): the hero text and tagline above are placeholders; final | ||
| wording is a launch decision. --> |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Resolve the launch placeholder before publishing.
The homepage still ships a TODO stating that the hero copy is provisional. Finalize the wording or remove the placeholder before launch.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/index.md` around lines 25 - 26, Resolve the launch placeholder in the
homepage hero section by replacing the provisional hero text and tagline with
finalized launch wording, or removing the placeholder TODO once the copy is
finalized. Ensure no launch-related TODO remains in the hero content.
| - uploads a legacy `minimalone-<sha>.tar.zst` bundle to | ||
| `gs://minimal-shim/archives/`; | ||
| <!-- TODO(launch): retire or document this legacy artifact --> | ||
| - creates the GitHub Release (tag `release-<sha>`, or the pushed `v*` tag; a |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Resolve the legacy artifact TODO in the release runbook.
The procedure still uploads minimalone-<sha>.tar.zst while leaving its support and retirement status unresolved. Document its consumers and retention requirements, or remove the upload step before this becomes the authoritative release procedure.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/internal/release-pipeline.md` around lines 61 - 64, Resolve the legacy
artifact step in the release runbook: either document the consumers and
retention requirements for the minimalone-<sha>.tar.zst upload to
gs://minimal-shim/archives/, or remove the upload procedure and its TODO if the
artifact is no longer required. Ensure the authoritative release flow has no
unresolved legacy-support status.
| It attaches to minimald at the paths it is normally installed to — `/usr/bin`, | ||
| `/usr/local/bin`, and `~/.local/bin` (where [the installer](/reference/cli) puts | ||
| `/usr/local/bin`, and `~/.local/bin` (where [the installer](./cli.md) puts |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Point the installer link at installer documentation.
./cli.md is the CLI overview and does not explain where the installer places binaries. Link to the actual installation documentation, or remove the link from “the installer” if no suitable page exists.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/reference/linux-host-setup.md` around lines 69 - 70, Update the “the
installer” link in the minimald installation-path description to reference
documentation that explains where the installer places binaries; if no suitable
installation page exists, remove the link while preserving the surrounding text.
| "cli.md", | ||
| "cli-mip.md", | ||
| "cli-min.md", | ||
| "minimal-dot-toml.md", | ||
| "tasks.md", | ||
| "loadouts.md", | ||
| "build-specs.md", | ||
| "stack-specs.md", | ||
| "sandbox-operations.md", | ||
| "linux-host-setup.md" |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Add the missing CLI pages to the reference manifest.
The new cli-minimald.md and cli-minvmd.md pages are not listed, so the reference index does not expose all four binary references.
Proposed fix
"cli-mip.md",
"cli-min.md",
+ "cli-minimald.md",
+ "cli-minvmd.md",
"minimal-dot-toml.md",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "cli.md", | |
| "cli-mip.md", | |
| "cli-min.md", | |
| "minimal-dot-toml.md", | |
| "tasks.md", | |
| "loadouts.md", | |
| "build-specs.md", | |
| "stack-specs.md", | |
| "sandbox-operations.md", | |
| "linux-host-setup.md" | |
| "cli.md", | |
| "cli-mip.md", | |
| "cli-min.md", | |
| "cli-minimald.md", | |
| "cli-minvmd.md", | |
| "minimal-dot-toml.md", | |
| "tasks.md", | |
| "loadouts.md", | |
| "build-specs.md", | |
| "stack-specs.md", | |
| "sandbox-operations.md", | |
| "linux-host-setup.md" |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/reference/manifest.json` around lines 3 - 12, Update the reference
manifest entries near cli.md, cli-mip.md, and cli-min.md to include both missing
pages, cli-minimald.md and cli-minvmd.md, so all four binary CLI references are
exposed while preserving the existing manifest structure and ordering.
| <!-- TODO(launch): confirm reporting channel (advisories-only vs a security@ address) before open-sourcing --> | ||
| Please report vulnerabilities through **GitHub private vulnerability | ||
| reporting**: open the repository's **Security** tab and click | ||
| **"Report a vulnerability"**. This creates a private advisory that only | ||
| the maintainers can see. |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n## Files mentioning security reporting ##\n'
rg -n --hidden -S 'security@minimal\.dev|Report a vulnerability|private vulnerability reporting|TODO\(launch\)' SECURITY.md CONTRIBUTING.md README.md . || true
printf '\n## SECURITY.md ##\n'
cat -n SECURITY.md | sed -n '1,80p'
printf '\n## CONTRIBUTING.md ##\n'
cat -n CONTRIBUTING.md | sed -n '1,120p'
printf '\n## README.md ##\n'
cat -n README.md | sed -n '1,120p'Repository: gominimal/minimal
Length of output: 21316
Make the vulnerability-reporting channel consistent across the docs. SECURITY.md sends reporters to GitHub private vulnerability reporting, while README.md and CONTRIBUTING.md still direct them to security@minimal.dev; pick one path and update the other guidance to match.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@SECURITY.md` around lines 5 - 9, Make the vulnerability-reporting guidance
consistent across SECURITY.md, README.md, and CONTRIBUTING.md by choosing a
single reporting channel and updating every conflicting instruction to use it.
Preserve the selected channel’s exact workflow and remove or revise the outdated
security@minimal.dev or GitHub private vulnerability reporting references as
needed.
| When reporting, include what you can of: the affected component and | ||
| version (`min version` / `mip --version`), reproduction steps or a | ||
| proof of concept, and your assessment of the impact. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n## SECURITY.md excerpt\n'
git ls-files SECURITY.md
wc -l SECURITY.md
sed -n '1,80p' SECURITY.md
printf '\n## Search for version command references\n'
rg -n --hidden --glob '!target' --glob '!**/node_modules/**' '\b(min|mip)\b.*(--version|version subcommand|version command|version)' .
printf '\n## Search for CLI docs/help text mentioning version\n'
rg -n --hidden --glob '!target' --glob '!**/node_modules/**' 'subcommand.*version|--version|version subcommand|command.*version' README.md docs . 2>/dev/null || trueRepository: gominimal/minimal
Length of output: 6445
Replace min version with min --version. min exposes version metadata via the --version flag, not a version subcommand; mip --version is fine as written.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@SECURITY.md` around lines 15 - 17, Update the reporting guidance in
SECURITY.md to replace the incorrect `min version` reference with `min
--version`, while preserving the existing `mip --version` text and surrounding
reporting requirements.
- SECURITY.md: report vulnerabilities to security@minimal.dev (was GitHub private reporting) so the channel matches README/CONTRIBUTING; use 'min --version' for consistency with 'mip --version'. - .github/ISSUE_TEMPLATE/config.yml: wire real contact_links (Discussions + docs) now that blank issues are disabled. - AGENTS.md crate map: 'mip check' (not 'minimal check' — the Check command lives in mip, crates/mip/src/main.rs). - CLAUDE.md: 'just ci' is the canonical pre-PR gate; the auto-fixing clippy variant complements it and does not replace it. - docs/index.md: drop the placeholder hero TODO. - docs/internal/release-pipeline.md: document the legacy minimalone bundle instead of leaving a bare TODO. - docs/reference/linux-host-setup.md: unlink 'the installer' (cli.md is the CLI overview, not installer docs; no installer page exists yet). - docs/reference/manifest.json: add cli-minimald.md and cli-minvmd.md so all four binary references are indexed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…uler) Address CodeRabbit (Major): the docs-site workflow inlined the build + link-check logic, violating the repo's own CI contract (CONTRIBUTING.md / docs/ci-strategy.md: workflows are thin schedulers over tests, scripts/, and the justfile). Extract build, the site-absolute-link guard, and the offline/online lychee checks into scripts/docs-check.sh (modes: build|links|all|online-links) with a 'just docs-check' recipe; reduce docs-site.yml to toolchain install + script calls + artifact upload. All gating, concurrency, the advisory sweep, the disabled deploy, and the docs-site-success aggregator are preserved. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary by CodeRabbit
min,mip, and related tools.