Skip to content

oss/integration repo hygiene - #840

Closed
norrietaylor wants to merge 53 commits into
mike/cla-readme-conductfrom
oss/integration
Closed

oss/integration repo hygiene #840
norrietaylor wants to merge 53 commits into
mike/cla-readme-conductfrom
oss/integration

Conversation

@norrietaylor

@norrietaylor norrietaylor commented Jul 18, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features
    • Added a searchable engineering documentation site with architecture, CLI, configuration, loadout, and operational references.
    • Added structured bug-report and feature-request forms, plus security vulnerability reporting guidance.
    • Improved CLI help text and command examples for min, mip, and related tools.
  • Documentation
    • Refreshed README onboarding, build instructions, platform guidance, and loadout examples.
    • Added contributor guidance, architecture decision records, licensing information, and third-party notices.
  • Chores
    • Improved documentation validation, link checking, issue management, and pull request templates.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 826bad67-58e8-4e6b-a512-c2f28d3a20b8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

msample and others added 29 commits July 17, 2026 22:52
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>
norrietaylor and others added 19 commits July 17, 2026 22:57
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>
@norrietaylor
norrietaylor changed the base branch from main to mike/cla-readme-conduct July 18, 2026 06:33
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
norrietaylor and others added 2 commits July 17, 2026 23:37
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>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 lift

Keep 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 win

Include the canonical pre-PR verification command.

Add just ci and the documented platform-specific alternative to the testing prompt so contributors report the expected repository gate, not only partial cargo test or cargo clippy runs.

As per coding guidelines and retrieved learnings, just ci is the canonical pre-PR check and platform-specific verification commands from AGENTS.md should 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 win

Add language identifiers to the fenced examples.

markdownlint-cli2 reports MD040 for these fences. Mark the path placeholder as text and the listing example as text.

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 win

Add language identifiers to fenced command blocks.

markdownlint-cli2 reports MD040 for these fences. Mark command examples as console or text.

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 win

Add language identifiers to the fenced command blocks.

markdownlint-cli2 reports MD040 for both fences. Mark these as console or text as 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 win

Add language identifiers to fenced command blocks.

markdownlint-cli2 reports MD040 for these fences. Use console, sh, or text as 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 win

Add language identifiers to fenced command blocks.

markdownlint-cli2 reports MD040 for these fences. Mark command examples as console or text.

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

📥 Commits

Reviewing files that changed from the base of the PR and between f3fdf61 and 01acf40.

⛔ Files ignored due to path filters (4)
  • docs/public/favicon.svg is excluded by !**/*.svg
  • docs/public/minimal-mark-dark.svg is excluded by !**/*.svg
  • docs/public/minimal-mark-light.svg is excluded by !**/*.svg
  • package-lock.json is 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
  • .nvmrc
  • AGENTS.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • Cargo.toml
  • NOTICE
  • README.md
  • SECURITY.md
  • crates/args/Cargo.toml
  • crates/async-dialog/Cargo.toml
  • crates/check/Cargo.toml
  • crates/checkouts/Cargo.toml
  • crates/common/Cargo.toml
  • crates/decode/Cargo.toml
  • crates/diagnostics/Cargo.toml
  • crates/graph/Cargo.toml
  • crates/lcache/Cargo.toml
  • crates/mctx/Cargo.toml
  • crates/mfile/Cargo.toml
  • crates/minimal/Cargo.toml
  • crates/minimal/src/lib.rs
  • crates/minimald-rpc/Cargo.toml
  • crates/minimald/Cargo.toml
  • crates/minimald/src/main.rs
  • crates/minvmd/Cargo.toml
  • crates/minvmd/README.md
  • crates/mip/Cargo.toml
  • crates/mip/src/cmd_cache.rs
  • crates/mip/src/cmd_init.rs
  • crates/mip/src/cmd_run.rs
  • crates/mip/src/main.rs
  • crates/op/Cargo.toml
  • crates/orchestrator/Cargo.toml
  • crates/ot/Cargo.toml
  • crates/paths/Cargo.toml
  • crates/rcache/Cargo.toml
  • crates/remote-client/Cargo.toml
  • crates/remote-proto/Cargo.toml
  • crates/sandbox2/Cargo.toml
  • crates/sessions/Cargo.toml
  • crates/stdlib/Cargo.toml
  • crates/switch/Cargo.toml
  • crates/version/Cargo.toml
  • deny.toml
  • docs/.vitepress/config.mts
  • docs/.vitepress/theme/custom.css
  • docs/.vitepress/theme/index.ts
  • docs/arch/minvmd.md
  • docs/arch/sessions-composition.md
  • docs/architecture.md
  • docs/ci-strategy.md
  • docs/decisions/0001-rust-error-handling-strategy.md
  • docs/decisions/README.md
  • docs/index.md
  • docs/internal/README.md
  • docs/internal/licensing.md
  • docs/internal/release-pipeline.md
  • docs/internal/session-domain-diag.md
  • docs/reference/build-specs.md
  • docs/reference/cli-min.md
  • docs/reference/cli-minimald.md
  • docs/reference/cli-minvmd.md
  • docs/reference/cli-mip.md
  • docs/reference/cli.md
  • docs/reference/linux-host-setup.md
  • docs/reference/loadouts.md
  • docs/reference/manifest.json
  • docs/reference/minimal-dot-toml.md
  • docs/reference/sandbox-operations.md
  • docs/reference/stack-specs.md
  • docs/reference/tasks.md
  • docs/rust-coding-standards.md
  • docs/specs/01-spec-minvmd-host-daemon/01-spec-minvmd-host-daemon.md
  • docs/specs/01-spec-minvmd-host-daemon/architecture.md
  • docs/specs/02-spec-minvmd-linux-kvm/02-spec-minvmd-linux-kvm.md
  • docs/specs/02-spec-minvmd-linux-kvm/architecture.md
  • docs/specs/03-spec-networking/03-spec-networking.md
  • docs/specs/03-spec-networking/architecture.md
  • docs/specs/04-spec-ot-render-decoupling/04-spec-ot-render-decoupling.md
  • docs/specs/05-spec-minvmd-gvproxy-pidfd/05-spec-minvmd-gvproxy-pidfd.md
  • docs/specs/06-spec-ssh-host-key-in-beacon/06-spec-ssh-host-key-in-beacon.md
  • docs/specs/07-spec-installer/07-spec-installer.md
  • docs/specs/08-spec-vm-ext4-volume/08-spec-vm-ext4-volume.md
  • docs/specs/08-spec-vm-ext4-volume/architecture.md
  • docs/specs/09-spec-minvmd-resource-monitoring/09-spec-minvmd-resource-monitoring.md
  • docs/specs/09-spec-minvmd-resource-monitoring/architecture.md
  • docs/specs/README.md
  • docs/spikes/2026-06-20-wireguard-implementation.md
  • docs/spikes/2026-06-21-gvproxy-attachment.md
  • docs/spikes/README.md
  • package.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

Comment thread .github/ISSUE_TEMPLATE/config.yml Outdated
Comment on lines +1 to +9
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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 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.

Comment thread AGENTS.md Outdated
Comment on lines +34 to +36
| `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. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 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.

Suggested change
| `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.

Comment thread CLAUDE.md Outdated
Comment on lines +9 to +12
- 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).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Suggested change
- 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.

Comment thread docs/index.md Outdated
Comment on lines +25 to +26
<!-- TODO(launch): the hero text and tagline above are placeholders; final
wording is a launch decision. -->

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Comment on lines +61 to +64
- 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Comment thread docs/reference/linux-host-setup.md Outdated
Comment on lines +69 to +70
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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Comment on lines +3 to +12
"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"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 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.

Suggested change
"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.

Comment thread SECURITY.md Outdated
Comment on lines +5 to +9
<!-- 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 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.

Comment thread SECURITY.md
Comment on lines +15 to +17
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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 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 || true

Repository: 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.

norrietaylor and others added 2 commits July 18, 2026 00:02
- 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>
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.

2 participants