Skip to content

docs: add the nextest fast profile and the dist-profile g07 bench note - #241

Merged
Blogbotana merged 1 commit into
Apibim-com:masterfrom
axisrow:docs/upstream-design-notes
Oct 25, 2026
Merged

Blogbotana merged 1 commit into
Apibim-com:masterfrom
axisrow:docs/upstream-design-notes

Conversation

@axisrow

@axisrow axisrow commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Bring the nextest workflow and one documentation correction from the fork's daily-driver setup:

  • .config/nextest.toml: a fast profile for the local inner loop that skips only the
    integration suites measured at ~40 s or more of serial time each (cli export_ifc,
    numbering_approval, numbering, libraries, environments, pick; host recovery,
    revision, compaction; kernel g09_budget_fuzz, g05_profile_extrusion).
    The unfiltered default profile and CI keep running everything, so nothing is removed
    or permanently skipped.
  • docs/development.md: document cargo nextest as the local runner, the inner-loop vs
    pre-merge-gate commands, and the doctest exception.
  • docs/design/g07-kernel-first-scope-acceptance.md: note that the recorded numbers are now
    reproduced with cargo run --profile dist -p beamcraft-kernel --example g07_bench, since
    packaged builds moved to the dist profile.

The suite baselines were measured on the reference Apple M5 (2026-10-25).

Tests

  • Docs and a nextest config only; no Rust code changed. cargo fmt --check passes locally;
    the CI triple covers the rest.

Notes

  • Adapted from the fork's working setup; the two citations of the fork-local baseline issue
    were dropped for upstream context.

🤖 Generated with Claude Code

Issue tracking

Fixes #393

The inner loop repeats the same slow suites; a nextest `fast` profile
skips only the integration suites measured at ~40 s or more of serial
time each, while the unfiltered default profile and CI keep running
everything. docs/development.md documents the runner and the two-loop
workflow, and the G07 note says how to reproduce its numbers now that
packaged builds use the `dist` profile.

Co-Authored-By: Claude Code <[email protected]>
@axisrow
axisrow requested a review from Blogbotana as a code owner October 25, 2026 07:24

@axisrow axisrow left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

PR #241 - nextest fast profile + dist-profile g07 note - APPROVED

Checked against base master (3a259c1):

  • All 11 suite names in the fast profile default-filter exist as integration-test targets at the head commit: export_ifc, numbering_approval, numbering, libraries, environments, pick under apps/beamcraft-cli/tests; recovery, revision, compaction under crates/host/tests; g09_budget_fuzz, g05_profile_extrusion under crates/kernel/tests.
  • .config/nextest.toml is the documented nextest config location; the triple-quoted TOML literal and the filter DSL syntax are valid, and newlines/indentation inside the filter are fine.
  • CI (.github/workflows/ci.yml) runs unfiltered nextest plus cargo test --workspace --doc, so the claims that the default profile and CI run everything, and that doctests are the one nextest exception, are accurate.
  • The g07 note matches the root Cargo.toml: dist = opt-level 3, thin LTO, one codegen unit; --release = 16 codegen units, LTO off; crates/kernel/examples/g07_bench.rs exists, so the reproduce command is correct.

No change requested. Two optional notes, body only: (1) the doc says installing cargo-nextest gives the same version CI uses, but CI pins 0.9.149 while cargo install cargo-nextest fetches the latest - consider wording it as the same runner, not version; (2) README.md and CLAUDE.md still show cargo test --workspace as the canonical command - still true and docs/development.md bridges it explicitly, fine to keep this PR focused.

@Blogbotana
Blogbotana merged commit c30f242 into Apibim-com:master Oct 25, 2026
67 of 68 checks passed
axisrow referenced this pull request in axisrow/BeamCraft Oct 25, 2026
Upstream merged the placement rotation (#243) and the nextest profile
(#241), so the placement commit this branch carried collapses into
master and the branch's own diff is the auto-refresh feature alone.
The app.rs add/add resolves to this branch's side: the same placement
changes plus the watcher.

Co-Authored-By: Claude Code <[email protected]>
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.

PR #241: docs: add the nextest fast profile and the dist-profile g07 bench note

2 participants