Skip to content

feat(cargo-anvil): consolidate generated infrastructure - #204

Draft
martin-kolinek wants to merge 17 commits into
mainfrom
consolidate-anvil-files
Draft

martin-kolinek wants to merge 17 commits into
mainfrom
consolidate-anvil-files

Conversation

@martin-kolinek

@martin-kolinek martin-kolinek commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

🤖 Consolidates cargo-anvil's generated footprint and replaces recipe-side orchestration with released domain-tool interfaces.

Summary

  • moves ownership state to .anvil/manifest.toml with safe legacy migration and conflict detection
  • emits exactly four generated recipe files: .anvil/anvil.just, .anvil/checks.just, .anvil/setup.just, and .anvil/container.just
  • retains per-recipe delimiter-free catalog sections so downstream catalogs can add, replace, or remove individual recipes without creating per-check files
  • relocates GitHub local actions to .anvil/github/actions/ and ADO implementation templates to .anvil/ado/, while retaining externally discovered workflow and pipeline stubs
  • replaces impact scripts with cargo-delta 0.4 package files consumed directly by cargo-each 0.4, including explicit nonempty, empty, and missing-input contracts
  • adopts cargo-each 0.4's optional {workspace-rust-version} contract: absent root declarations use Cargo's default toolchain and dedicated MSRV recipes become native empty-plan no-ops
  • replaces PowerShell in stable validation, MSRV setup/testing, package-isolated all-target checks, PR-title validation, scheduled/full tier scoping, and Bolero target fan-out with direct Just and tool invocations
  • redirects pinned cargo-bolero discovery records to target/bolero-list-<just-pid>.jsonl, consumed by cargo-each 0.4 record mode and removed after success
  • delegates coverage collection to cargo-coverage-gate 0.6 and GitHub credential discovery to cargo-aprz 1.2
  • removes the SemVer check, tool pin/setup, advisory-comment wiring, CI permissions, and stale repository documentation
  • preserves Loom fail-loud validation, example no-run exclusions, Miri profile flags, cargo-mutants working-tree diffs, and fail-closed container input checks

Deliberate boundaries

  • GitHub workflows remain under .github/workflows/ and ADO registration files remain under .pipelines/ because those locations are externally discovered
  • .delta.toml and spellcheck.toml remain managed-region hosts because their tools do not support layered configuration
  • remaining non-container scripts are limited to behavior current domain tools cannot express directly: cargo-careful cache repair, doctest capability projection, example target opt-outs, Loom structural validation, Miri profile environment, mutation-diff preparation, README target selection, and spell-dictionary preparation
  • container orchestration remains a separate platform boundary and does not justify an Anvil-specific runner or broadening cargo-each

Validation

  • just anvil-fmt --fix
  • cargo clippy -p cargo-anvil --all-targets --all-features --locked -- -D warnings
  • cargo test -p cargo-anvil --all-features --no-fail-fast
  • cargo run --package cargo-anvil -- anvil --dry-run
  • generated local/GitHub/ADO snapshots
  • executable contracts for package-file handoff, optional MSRV behavior, PR-title validation, container input framing, Loom, examples, Miri profiles, and mutation diffs

martin-kolinek and others added 2 commits September 24, 2026 21:04
Move generated recipes, backend implementation files, actions, and the
ownership manifest under .anvil. Compose recipes as independently
addressable catalog sections and delegate portable execution to the released
domain tools.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Compose the generated Just surface under .anvil, relocate movable backend
artifacts, migrate the manifest, and replace script orchestration with
cargo-each, cargo-delta, cargo-coverage-gate, and cargo-aprz interfaces.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Copilot AI lite review requested due to automatic review settings September 24, 2026 19:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

One critical container build failure and five moderate behavioral issues remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity · 3 Medium severity

Open (4)
What changed in this PR

This PR consolidates cargo-anvil’s generated infrastructure under .anvil/ and delegates orchestration to released domain tools.

Changes:

  • Moves manifests, recipes, actions, pipelines, and container assets into consolidated locations.
  • Replaces custom orchestration with cargo-delta, cargo-each, coverage-gate, and aprz.
  • Updates migrations, tests, snapshots, documentation, and dogfood tooling.
  • Review identified one critical and five moderate unresolved issues.
File Reviewed change
scripts/​test-anvil-dogfood.ps1 Updates dogfood paths and checks.
scripts/​test-anvil-container.ps1 Updates container validation.
rustfmt.toml Updates generated pin documentation.
justfiles/​anvil/​versions.just Removes superseded generated recipe.
justfiles/​anvil/​tiers.just Removes superseded generated recipe.
justfiles/​anvil/​mod.just Removes superseded module file.
justfiles/​anvil/​groups/​scheduled-test.just Removes superseded generated recipe.
justfiles/​anvil/​groups/​scheduled-runtime-analysis.just Removes superseded generated recipe.
justfiles/​anvil/​groups/​scheduled-exhaustive.just Removes superseded generated recipe.
justfiles/​anvil/​groups/​scheduled-advisories.just Removes superseded generated recipe.
justfiles/​anvil/​groups/​pr-test.just Removes superseded generated recipe.
justfiles/​anvil/​groups/​pr-slow.just Removes superseded generated recipe.
justfiles/​anvil/​groups/​pr-runtime-analysis.just Removes superseded generated recipe.
justfiles/​anvil/​groups/​pr-mutants.just Removes superseded generated recipe.
justfiles/​anvil/​groups/​pr-msrv.just Removes superseded generated recipe.
justfiles/​anvil/​groups/​pr-fast.just Removes superseded generated recipe.
justfiles/​anvil/​dev/​build.just Removes superseded generated recipe.
justfiles/​anvil/​checks/​udeps.just Removes superseded check recipe.
justfiles/​anvil/​checks/​spellcheck.just Removes superseded check recipe.
justfiles/​anvil/​checks/​readme-check.just Removes superseded check recipe.
justfiles/​anvil/​checks/​pr-title.just Removes superseded check recipe.
justfiles/​anvil/​checks/​mutants-full.just Removes superseded check recipe.
justfiles/​anvil/​checks/​mutants-diff.just Removes superseded check recipe.
justfiles/​anvil/​checks/​msrv-test.just Removes superseded check recipe.
justfiles/​anvil/​checks/​miri-tree-borrows.just Removes superseded check recipe.
justfiles/​anvil/​checks/​miri-strict-provenance.just Removes superseded check recipe.
justfiles/​anvil/​checks/​miri-race-coverage.just Removes superseded check recipe.
justfiles/​anvil/​checks/​license-headers.just Removes superseded check recipe.
justfiles/​anvil/​checks/​fmt.just Removes superseded check recipe.
justfiles/​anvil/​checks/​external-types.just Removes superseded check recipe.
justfiles/​anvil/​checks/​ensure-no-default-features.just Removes superseded check recipe.
justfiles/​anvil/​checks/​ensure-no-cyclic-deps.just Removes superseded check recipe.
justfiles/​anvil/​checks/​doc-test.just Removes superseded check recipe.
justfiles/​anvil/​checks/​doc-build.just Removes superseded check recipe.
justfiles/​anvil/​checks/​deny.just Removes superseded check recipe.
justfiles/​anvil/​checks/​clippy.just Removes superseded check recipe.
justfiles/​anvil/​checks/​cargo-sort.just Removes superseded check recipe.
justfiles/​anvil/​checks/​cargo-hack.just Removes superseded check recipe.
justfiles/​anvil/​checks/​careful.just Removes superseded check recipe.
justfiles/​anvil/​checks/​bolero.just Removes superseded check recipe.
justfiles/​anvil/​checks/​bench.just Removes superseded check recipe.
justfiles/​anvil/​checks/​audit.just Removes superseded check recipe.
justfiles/​anvil/​checks/​aprz.just Removes superseded check recipe.
Justfile Imports the composed recipe file.
crates/​cargo-anvil/​tests/​snapshots.rs Updates snapshot handling.
crates/​cargo-anvil/​tests/​schemas.rs Validates new generated paths.
crates/​cargo-anvil/​tests/​fixtures.rs Updates layout fixtures.
crates/​cargo-anvil/​tests/​extensibility.rs Tests composed sections.
crates/​cargo-anvil/​tests/​container_upgrade.rs Tests container migration.
crates/​cargo-anvil/​tests/​cli.rs Updates manifest assertions.
crates/​cargo-anvil/​templates/​skills/​cargo-anvil-adoption/​SKILL.md Updates adoption guidance.
crates/​cargo-anvil/​templates/​regions/​rustfmt.toml Updates generated pin documentation.
crates/​cargo-anvil/​templates/​regions/​justfile-imports.just Imports composed recipes.
crates/​cargo-anvil/​templates/​regions/​delta.toml Updates impact paths.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​versions.just Adds consolidated version recipes.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​tiers.just Adds consolidated tier recipes.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​entry.just Adds the composed entry section.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​dev/​build.just Updates build recipes.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​udeps.just Updates udeps check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​spellcheck.just Updates spellcheck integration.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​semver-check.just Adds semver check integration.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​readme-check.just Updates README check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​mutants-full.just Updates mutation check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​mutants-diff.just Updates diff mutation check; issue remains.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​msrv-test.just Updates MSRV check; issue remains.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​miri-tree-borrows.just Updates Miri check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​miri-strict-provenance.just Updates Miri check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​miri-race-coverage.just Updates Miri check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​loom.just Updates Loom check; issue remains.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​license-headers.just Updates license check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​fmt.just Updates formatting check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​external-types.just Updates external-types check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​ensure-no-default-features.just Updates feature check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​ensure-no-cyclic-deps.just Updates dependency check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​doc-test.just Updates documentation tests.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​doc-build.just Updates documentation build.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​deny.just Updates deny check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​clippy.just Updates Clippy check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​cargo-sort.just Updates cargo-sort check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​cargo-hack.just Updates cargo-hack check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​careful.just Updates careful check; issue remains.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​bolero.just Updates Bolero check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​bench.just Updates benchmark check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​audit.just Updates audit check.
crates/​cargo-anvil/​templates/​justfiles/​anvil/​checks/​aprz.just Updates aprz integration.
crates/​cargo-anvil/​templates/​instructions/​cargo-anvil.instructions.md Updates Just requirements.
crates/​cargo-anvil/​templates/​github/​setup-action.yml Updates GitHub setup action.
crates/​cargo-anvil/​templates/​github/​scheduled-impl-workflow.yml Updates scheduled workflow.
crates/​cargo-anvil/​templates/​github/​run-group-action.yml Updates group action.
crates/​cargo-anvil/​templates/​github/​pr-impl-workflow.yml Updates PR workflow.
crates/​cargo-anvil/​templates/​github/​impact-action.yml Updates impact action.
crates/​cargo-anvil/​templates/​anvil/​container/​Dockerfile.setup.region Updates container setup; issue remains.
crates/​cargo-anvil/​templates/​anvil/​container/​Dockerfile.dockerignore Updates container context; critical issue remains.
crates/​cargo-anvil/​templates/​ado/​steps/​setup.yml Updates ADO setup.
crates/​cargo-anvil/​templates/​ado/​scheduled-root-pipeline.yml Updates scheduled pipeline.
crates/​cargo-anvil/​templates/​ado/​pr-root-pipeline.yml Updates PR pipeline.
crates/​cargo-anvil/​src/​plan.rs Updates manifest reporting.
crates/​cargo-anvil/​src/​lib.rs Updates public API documentation.
crates/​cargo-anvil/​src/​cli.rs Updates manifest documentation.
crates/​cargo-anvil/​src/​catalog/​mod.rs Exports composed sections.
crates/​cargo-anvil/​src/​catalog/​meta.rs Updates manifest metadata.
crates/​cargo-anvil/​src/​anvil/​artifacts/​mod.rs Registers composed artifacts.
crates/​cargo-anvil/​src/​anvil/​artifacts/​instructions.rs Updates instruction artifacts.
crates/​cargo-anvil/​src/​anvil/​artifacts/​github.rs Relocates GitHub artifacts.
crates/​cargo-anvil/​src/​anvil/​artifacts/​container.rs Composes container artifacts.
crates/​cargo-anvil/​README.md Updates crate documentation.
crates/​cargo-anvil/​docs/​verification.md Updates verification documentation.
crates/​cargo-anvil/​docs/​design/​updates.md Documents manifest migration.
crates/​cargo-anvil/​docs/​design/​checks.md Documents package-file handling.
.github/​workflows/​anvil-scheduled-impl.yml Uses relocated actions.
.github/​workflows/​anvil-pr-impl.yml Uses relocated actions.
.github/​skills/​cargo-anvil-adoption/​SKILL.md Updates adoption guidance.
.github/​instructions/​cargo-anvil.instructions.md Updates Just requirements.
.delta.toml Updates managed impact paths.
.anvil/​github/​actions/​setup/​just-problem-matcher.json Adds setup matcher artifact.
.anvil/​github/​actions/​setup/​action.yml Adds relocated setup action.
.anvil/​github/​actions/​run-group/​action.yml Adds relocated group action.
.anvil/​github/​actions/​report-status/​action.yml Adds status action.
.anvil/​github/​actions/​impact/​action.yml Adds relocated impact action.
.anvil/​container/​Dockerfile.dockerignore Adds updated container context.
.anvil/​container/​Dockerfile Adds updated container bootstrap.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread crates/cargo-anvil/templates/justfiles/anvil/checks/careful.just
Comment thread crates/cargo-anvil/templates/justfiles/anvil/checks/msrv-test.just Outdated
@sandersaares

Copy link
Copy Markdown
Member

[Copilot speaking] ss-review-proactor is reserving this pull request for review with ss-review.

@martintmk martintmk added the human-review-required Requires human review before approval or merge. label Sep 29, 2026
@martintmk

Copy link
Copy Markdown
Member

Posted by an AI agent

Human review is required at e312bfcae4fc2c26d1fa6f68948dc8f2aeb18246: Artifact adds OwnedFileSection to an exported, exhaustive enum, breaking existing downstream exhaustive matches (the no-breaking-changes invariant). The manifest/recipe/CI redesign also exceeds the bounded fast path. Anvil CI failed preparation and skipped the test/coverage groups. A maintainer must review compatibility, migration, and preserved test execution, and obtain successful required checks. No approval was issued.

@martintmk martintmk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Posted by an AI agent

Warning: Incomplete review coverage

Some review areas could not be completed:

  • Behavioral defects (review-correctness): mandatory executable baseline/head reproductions and falsification were unavailable.
  • Recovery and resilience (review-resilience): required Cargo-metadata capture and executable baseline/fault-path validation were unavailable.
  • Output-only public contract (review-public-api): matching full baseline/head cargo public-api captures and their paired comparison were unavailable. The mandatory isolated empty-claim filter completed, but API coverage remains blocked.
  • Public API documentation (review-public-docs): matching baseline/head rustdoc JSON was unavailable; public paths, docs, attributes and change markers remain unresolved.

No combined verdict is issued. The eight findings come only from completed source-based API-design, test-preservation and code/docs-consistency passes. Source-based performance and naming passes completed without findings; telemetry had no changed signal contract. These results do not establish runtime correctness or complete public-API coverage.

Reviewed head e312bfcae4fc2c26d1fa6f68948dc8f2aeb18246 against comparison base 876e5ec42876512eb7076bec51088c3ea906ca5a, targeting microsoft/ox-tools:main. Anvil run 36045777265 stopped in Linux and Windows preparation while installing cargo-each; the downstream verification groups were skipped. No PR/dependency code was executed on the shared credentialed host, and no authorized isolated runner or matching API/rustdoc artifacts were available.

Comment thread crates/cargo-anvil/src/anvil/artifacts/justfile.rs Outdated
Comment thread crates/cargo-anvil/tests/recipe_contracts.rs Outdated
Comment thread crates/cargo-anvil/tests/impact.rs
Comment thread crates/cargo-anvil/src/catalog/builder.rs Outdated
Comment thread crates/cargo-anvil/templates/justfiles/anvil/impact.just
Comment thread crates/cargo-anvil/src/catalog/builder.rs
Comment thread crates/cargo-anvil/src/anvil/artifacts/ado.rs
Comment thread crates/cargo-anvil/docs/design/extensibility.md
Reconcile the consolidation work with current cargo-anvil behavior, split generated recipes into hub/check/setup/container files, remove the SemVer check, and address package-file and review contract gaps.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Copilot AI lite review requested due to automatic review settings September 29, 2026 18:59
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Keep binstall as a single portable setup invocation while allowing newly published crates to compile when no prebuilt artifact is indexed yet.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Comment thread crates/cargo-anvil/templates/anvil/container/Dockerfile.setup.region Outdated
Comment thread crates/cargo-anvil/templates/justfiles/anvil/checks/llvm-cov.just Outdated
Comment thread scripts/test-anvil-dogfood.ps1 Outdated
Comment thread crates/cargo-anvil/templates/justfiles/anvil/checks/loom.just Outdated
Comment thread crates/cargo-anvil/templates/justfiles/anvil/groups/pr-fast.just
Copilot AI lite review requested due to automatic review settings September 29, 2026 19:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

One or more issues must be addressed before approval.

Review effort: Lite
Findings: 4 High severity · 1 Medium severity · 1 Low severity

Open (6)
Previously missed (1)

In code that hasn't changed since last review

Low severity Make container hub import optional

crates/​cargo-anvil/​templates/​justfiles/​anvil/​entry.just:9

Container execution is documented as removable via without_artifact for the container artifact group (crates/cargo-anvil/docs/design/containers.md:659-670). A catalog that removes .anvil/container.just will now leave this hard import in the hub, making every unrelated just invocation fail to parse. Keep this import optional so disabling containers does not break the remaining recipes.

@martintmk martintmk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Posted by an AI agent

Warning: Incomplete review coverage

This fresh review covers the full comparison from 8cedad4fefe571eceeecb99b4869f5020445b350 to cd914dfa8db7d78af8e09c4c4a6ac1110886e73b, targeting microsoft/ox-tools:main. Source API-design, tests and naming completed; telemetry was evidence-backed not applicable.

These areas remain blocked:

  • review-correctness: no paired baseline/head reproductions or controlled falsification; inspected CI is bounded head evidence only.
  • review-perf: no matching comparative measurements for the retained bootstrap estimate or changed Miri/impact work.
  • review-resilience: the required Cargo metadata attempt failed because Rust 1.97 was unavailable; fault-path behavior remains unexecuted.
  • review-consistency: static comparison finished, but authoritative reachable-public-item documentation coverage is missing.
  • review-public-api: no full paired public-API captures/comparison or matching rustdoc evidence. The mandatory isolated filter completed an empty claim set, not API verification.
  • review-public-docs: no paired rustdoc JSON captures, verified producing configuration or authoritative item resolution.

No authorized isolated generation/execution environment was available. No combined verdict is issued. The inline finding comes only from the completed tests area and reports an actual tree-matched CI fixture failure, not a proven baseline production regression. Existing recipe-suite and dogfood findings are not duplicated.

Comment thread crates/cargo-anvil/tests/impact.rs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Copilot AI lite review requested due to automatic review settings September 29, 2026 21:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

The unconditional container import is blocking, and related formatting, documentation, and dogfood validation inconsistencies remain unresolved.

Review effort: Lite
Findings: 5 High severity · 1 Medium severity · 1 Low severity

Open (7)
Previously missed (1)

In code that hasn't changed since last review

Low severity Update actionlint glob for generated local actions

crates/​cargo-anvil/​docs/​verification.md:103

The recipe relocation updates the validation bullet below, but the actionlint bullet immediately above still scans .github/actions/*/action.yml. Generated local actions now live under .anvil/github/actions/, so the documented validation no longer covers the emitted action files; update that glob.

Comment thread crates/cargo-anvil/templates/justfiles/anvil/entry.just Outdated

@martintmk martintmk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Posted by an AI agent

Warning: Incomplete review coverage

Some review areas could not be completed:

  • Behavioral correctness (review-correctness): candidate-specific paired base/head reproductions and falsification are unavailable.
  • Performance (review-perf): matched comparative measurements for changed Miri scheduling and impact/delegation are unavailable.
  • Resilience (review-resilience): effective Cargo metadata, version-resolved recovery documentation and paired fault-path evidence are unavailable.
  • Code/docs consistency (review-consistency): reachable public-documentation contracts lack authoritative rustdoc verification.
  • Output-only API (review-public-api): paired full API captures/comparison and producing configuration are missing. The required isolated empty-claim filter completed but does not close this gap.
  • Public documentation (review-public-docs): both required rustdoc JSON captures and authoritative item/member/documentation-closure resolution are missing.

No combined verdict is issued. Three new test-coverage findings below come only from a completed area; previously raised roots are not duplicated. API-design, tests, naming and telemetry completed their scoped procedures. Candidates from blocked areas remain withheld.

This is the full selected comparison 8cedad4fefe571eceeecb99b4869f5020445b350 to 4e175b8ef8a319a061113cecb89d426cef2a39f7, targeting microsoft/ox-tools:main. Local Rust/Cargo/rustup and PR/dependency execution were prohibited; no such commands were attempted and no authorized isolated execution service was supplied.

The earlier base-ref fixture finding is not repeated: the selected source clears the inherited variables, and current Linux, Linux ARM and Windows coverage logs explicitly record the named test as passing. Those jobs' separate failures do not negate that scoped result or establish a new production regression.

Comment thread crates/cargo-anvil/src/anvil/artifacts/justfile.rs
Comment thread crates/cargo-anvil/src/run.rs
Comment thread crates/cargo-anvil/src/manifest.rs
Exercise generated recipe parsing, setup routing, backend-gated ownership, and legacy-manifest failures, and make cargo-gamma compare against Cargo's environment-aware target resolution.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Copilot AI lite review requested due to automatic review settings September 29, 2026 23:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Comment thread crates/cargo-anvil/templates/justfiles/anvil/checks/msrv-test.just Outdated
@codecov-commenter

Codecov Comments Bot (codecov-commenter) commented Sep 30, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.8%. Comparing base (ef0d64b) to head (ec21f9b).

❌ Your project status has failed because the head coverage (99.8%) is below the target coverage (100.0%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files
@@          Coverage Diff           @@
##            main    #204    +/-   ##
======================================
  Coverage   99.8%   99.8%            
======================================
  Files        315     315            
  Lines      86958   87249   +291     
======================================
+ Hits       86831   87122   +291     
  Misses       127     127            
Flag Coverage Δ
linux 99.8% <100.0%> (+<0.1%) ⬆️
linux-arm 99.8% <100.0%> (+<0.1%) ⬆️
scheduled ?
windows 99.8% <100.0%> (+<0.1%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@martintmk martintmk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Posted by an AI agent

Warning: Incomplete review coverage

This fresh review covers the full selected 8cedad4fefe571eceeecb99b4869f5020445b350 to 0732f4daec2dba08053a530fa71a015bcecf96ec comparison against microsoft/ox-tools:main (172 changed paths; cargo-anvil and cargo-gamma-lib), not just the latest commit delta. Three areas completed: test/behavior preservation, naming, and telemetry. Seven required areas remain blocked:

  • Public contract and manifests (review-api-design): Static inventory is complete, but effective shipping configurations, paired downstream compatibility proof and matching authoritative public documentation remain unavailable.
  • Behavioral correctness (review-correctness): Faithful paired base/head reproductions, falsifying controls and candidate-specific fault/portability evidence are unavailable. Suspected runtime defects remain unverified.
  • Performance (review-perf): Matched comparative measurements for changed Miri and command/impact orchestration are unavailable; no performance regression, improvement or neutrality is established.
  • Recovery and resilience (review-resilience): Effective dependency/feature metadata, exact version-matched recovery documentation and paired fault/restart/cancellation proof are unavailable.
  • Code/docs agreement (review-consistency): Authoritative paired reachable public item/member/link/documentation closure is unavailable for both libraries. Static document inspection does not complete this required area.
  • Output-only public API (review-public-api): Real full paired API captures, matching extraction configurations and comparisons are unavailable for both libraries. The fresh isolated filter completed an empty claim set, not extraction.
  • Public API documentation (review-public-docs): Paired rustdoc captures, extraction configuration and authoritative item resolution are unavailable across all four present package/revision sides; none of the 24 requested configuration cells has an accepted capture. Inventories are unknown, not empty.

Required local Rust/Cargo/rustup and PR/dependency execution is prohibited on the shared credentialed host. No authorized isolated service or sufficient paired captures was available. Existing matched provider results do not substitute for the missing evidence.

No combined verdict is issued. Findings below come only from completed areas. They identify statically established losses of regression-test assertions, not proved production failures. Existing discussion roots are not re-filed.

Comment thread crates/cargo-anvil/tests/recipe_contracts.rs
Comment thread crates/cargo-anvil/tests/recipe_contracts.rs
Use the root manifest's declared Rust version directly for MSRV setup, validation, and tests, leaving internal environments to expose equivalent compilers under that public rustup name.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Copilot AI lite review requested due to automatic review settings September 30, 2026 08:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@martintmk

Copy link
Copy Markdown
Member

Posted by an AI agent

Review preparation has started for #204 at pinned head 0d403babd975e5bf9e7d612ac262de3b114d2330. The submitted review will contain the result.

@martintmk martintmk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Posted by an AI agent

Warning: Incomplete review

I reviewed source-level public contracts, correctness, test preservation, performance, naming, telemetry, resilience and documentation across 8cedad4f..0d403bab, targeting main. I could not check:

  • Public API surfaces of cargo-anvil and cargo-gamma-lib: matching generated API listings were unavailable, and running Rust tools on this host is not permitted.

No local tests or benchmarks were run. Existing CI observations do not establish before/after behavioral equivalence. No overall verdict is given. The comments below cover three lost regression protections, Miri documentation drift and one naming nit; existing discussions are not repeated.

Comment thread crates/cargo-anvil/templates/justfiles/anvil/checks/examples.just Outdated
Comment thread crates/cargo-anvil/src/anvil/artifacts/justfile.rs
Comment thread crates/cargo-anvil/templates/justfiles/anvil/checks/miri.just
Comment thread crates/cargo-anvil/src/manifest.rs Outdated
Comment thread crates/cargo-anvil/docs/design/containers.md Outdated
Comment thread crates/cargo-anvil/docs/design/containers.md
Comment thread crates/cargo-anvil/src/anvil/artifacts/justfile.rs Outdated
Comment thread crates/cargo-anvil/src/catalog/builder.rs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Copilot AI lite review requested due to automatic review settings October 2, 2026 11:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Comment thread README.md
Comment thread crates/cargo-anvil/templates/justfiles/anvil/checks/llvm-cov.just
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Copilot AI lite review requested due to automatic review settings October 2, 2026 12:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

The impact workflow lacks cargo-each installation, and container toolchain precedence remains inconsistent with the documented contract.

Review effort: Lite
Findings: 1 High severity

Open (1)
Resolved since last review (5)

Comment thread crates/cargo-anvil/templates/github/impact-action.yml
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Copilot AI lite review requested due to automatic review settings October 2, 2026 13:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved critical coverage handoff and moderate container/toolchain and migration-test issues remain.

Review effort: Lite
Findings: 1 High severity

Open (1)
Resolved since last review (1)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Prefer repository toolchain files over the MSRV fallback

crates/​cargo-anvil/​templates/​anvil/​container/​Dockerfile.setup.region:40

When a repository has both a root rust-version and a rust-toolchain.toml/rust-toolchain, this initializes setup_toolchain from ANVIL_RUST_VERSION and line 48 exports it as RUSTUP_TOOLCHAIN for the whole setup. The setup recipes then install rustfmt/clippy and other components into the MSRV toolchain, while container runs mount the checkout and let its root toolchain file select a different channel; those components are not installed for the channel the recipes actually use. Prefer the copied toolchain file when present and use ANVIL_RUST_VERSION only when neither file exists.

if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

# --- pr-test members (shared with scheduled-test) ---
cargo +{{ rust_nightly }} each {{ anvil_affected_selection }} --once -- cargo +{{ rust_nightly }} coverage-gate {{ anvil_explicit_package_args }} run --no-coverage-target aarch64-pc-windows-msvc
martin-kolinek and others added 5 commits October 8, 2026 18:32
Merge current main into the consolidated Anvil architecture, adopt cargo-each's optional workspace-version contract, and replace MSRV, stable validation, all-targets, PR-title, and tier wrapper PowerShell logic with direct Just and tool invocations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Pin cargo-each 0.4.0, use its optional workspace-version contract for stable and MSRV selection, replace PowerShell wrappers in all-targets, PR-title, stable validation, and tier scoping, and regenerate owned files and snapshots.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Redirect per-package cargo-bolero discovery into a deterministic temporary JSON Lines file and execute the discovered targets through cargo-each 0.4 record mode, removing the PowerShell parsing and fan-out loop.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Store discovered Bolero targets in target/bolero-list-<just-pid>.jsonl, create target through an idempotent _ensure-target-dir recipe after impact calculation, and remove the handoff after successful execution.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Integrate live GitHub PR-title lookup for workflow reruns while retaining consolidated .anvil action paths, Just-based title validation, and removal of legacy SemVer advisory wiring.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a9fc919b-99f7-4134-aad1-2116321b4e0c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

human-review-required Requires human review before approval or merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants