Skip to content

chore: prepare AISimulate 0.13.0 release - #268

Merged
jasonqinzhou merged 9 commits into
mainfrom
harrison/bump-version-0.13.0
Sep 18, 2026
Merged

jasonqinzhou merged 9 commits into
mainfrom
harrison/bump-version-0.13.0

Conversation

@saturley-hall

@saturley-hall saturley-hall commented Sep 18, 2026

Copy link
Copy Markdown
Member

Why and what changed

Prepare AISimulate 0.13.0 by synchronizing wheel/crate versions, lockfiles, release checks, and artifact documentation. Retain the aiconfigurator compatibility command in 0.13.0 and target removal for 0.14.0 once all remaining workflows have verified unified-CLI replacements. Align current examples and runtime warnings; preserve dated publication records.

Repair release validation exposed by integrating current main. Keep workflow-only contracts in Fast CI and installed-wheel FPM accuracy coverage in Full CI, with joint application/FPM dependency resolution and pip check. Fetch the numerical manifest's immutable historical commit when a fresh clone lacks it after squash merge. Align Rust fixtures, the backend-facts registry, the wheel verifier, and replay tests with merged #244 and #242.

Review map

  • Risk level: medium, because this release bump also repairs CI execution contracts and stale test/reference fixtures.
  • Start with: scripts/check_prediction_numerics.py and the two active CI workflows; aiconfigurator/deprecation.py and migration docs; the Rust fixture loaders, wheel SDK verifier, and canonical replay assertions. The Collector registry diff is limited to 221 additions and six removals traced to fix: add vLLM 0.25.0 measurements and correct FP8-block reuse #244.
  • Public or serialized contract changed: artifact version becomes 0.13.0 and compatibility-command messaging names the 0.14.0 removal target. No production schema, estimator math, performance measurements, or import surface is changed by this PR.
  • Compatibility or rollback concern: retain the established command and arguments through 0.13.0; removal remains conditional on verified replacements. Imports remain available. Numerical baseline SHA, expected values, tolerances, and engine goldens are unchanged. This PR does not publish a release or claim downstream Dynamo qualification.

Evidence

  • Tests: cargo test -p aisimulate-core --lib perfmodel:: passed 698 tests (one existing ignored test). python -m pytest -p no:timeout tests/test_afd_artifacts.py tests/test_unified_traffic_runtime.py tests/e2e/test_unified_cli_engine.py -q passed 65 tests. Backend-facts, package-layering, and deprecation unit suites passed 45 tests. python -m pytest -p no:timeout tests/test_ci_qualification.py -q passed all 40 tests on the final tree.
  • Additional local checks: locked/offline Cargo metadata and uv lock checks; scripts/build_release_artifacts.py --check-only; Ruff check/format; cargo fmt --all --check; git diff --check; current SDK-facade/native-engine smoke in the editable environment. Earlier workflow/FPM validation passed 356 cases (three installed-native cases deferred to hosted CI), and the earlier Fast CI test set passed 304 cases.
  • Fast CI: 35361857149 passed on 031d8db3a81e4e42ffe43c37161517f2ec05157d.
  • Full CI: 35363166376 passed all 54 jobs on 031d8db3a81e4e42ffe43c37161517f2ec05157d, including both architectures, all three platform wheels, installed-wheel FPM/replay contracts, Collector validation, and engine/prediction regression gates.
  • CodeRabbit reviewed commit: 031d8db3a81e4e42ffe43c37161517f2ec05157d, completed with no actionable code comments. Its description-template warning is addressed by these sections.
  • Codex reviewed commit: 031d8db3a81e4e42ffe43c37161517f2ec05157d, no remaining actionable findings after the full diff and follow-up review.
  • Negative or boundary cases: real shallow-Git baseline fetch preserves HEAD/branch, works offline once cached, rejects invalid SHAs, and fails for unavailable commits. Direct CLI tests require exactly one mode and verify baseline-only execution needs no prediction cases and writes no results. Warning deduplication and legacy-call forwarding remain covered.
  • Expected-value derivation: no predicted numerical values are updated. The AFD serialization digest changes from bbbd762b... to 3f53f3ae...; removing only refactor(perfmodel): unify estimator selection and configuration #242's newly serialized empty forward_pass_estimators field exactly reproduces the old digest.
  • Before/after output: Rust fixture assertions now execute through the declared reuse path; replay tests assert per-role timing_model.config; wheel verification expects the two canonical public FPM exports. All other AFD golden content is identical.

Modeling or data provenance

No new measurements, proxies, or production modeling changes. All 227 changed Collector facts map to parquet files changed by #244: 221 vLLM 0.25.0 slices (49 each B300/GB200/GB300; 37 each H100/H200) and six deliberately removed direct 0.24.0 FP8-block GEMM slices. Existing backend/kernel mappings and the curated translation map are unchanged. python tools/perf_database/backend_facts.py --check passes for all 2,137 slices. The collection provenance, physical-key and anomaly checks, and declared-reuse limits remain documented in the #244 evidence bundle.

Tracking

  • Closes: N/A; release preparation.
  • Related PRs or issues: #244, #242, and the compatibility work tracked in the migration guide.

Signed-off-by: Harrison King Saturley-Hall <hsaturleyhal@nvidia.com>
@saturley-hall
saturley-hall requested review from a team as code owners September 18, 2026 01:55
@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: d0939fe8-17b3-49db-8011-abcfdc65b016

📥 Commits

Reviewing files that changed from the base of the PR and between dd23ccb and 031d8db.

📒 Files selected for processing (10)
  • crates/core/src/perfmodel/engine/runtime.rs
  • crates/core/src/perfmodel/fpm/tests.rs
  • docs/data/pr244/README.md
  • docs/repository-history.md
  • python/aisimulate/collector/op_backend_facts.yaml
  • python/aisimulate/tools/verify_installed_package_layers.py
  • tests/e2e/test_unified_cli_engine.py
  • tests/golden/afd-qualification.json
  • tests/test_ci_qualification.py
  • tests/test_unified_traffic_runtime.py
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • ai-dynamo/dynamo (manual)
  • ai-dynamo/aiconfigurator (manual)

Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review.

📜 Recent review details
🧰 Additional context used
📓 Path-based instructions (10)
Enforce the mapped collector guidelines.

⚙️ CodeRabbit configuration file

Files:

  • python/aisimulate/collector/op_backend_facts.yaml
Enforce the single-oracle and golden-diff rules in python/aisimulate/.claude/rules/rust-core/parity.md.

⚙️ CodeRabbit configuration file

Files:

  • crates/core/src/perfmodel/fpm/tests.rs
  • crates/core/src/perfmodel/engine/runtime.rs
Require coverage of the changed behavior and its negative or boundary cases.

⚙️ CodeRabbit configuration file

Files:

  • tests/golden/afd-qualification.json
  • tests/e2e/test_unified_cli_engine.py
  • tests/test_unified_traffic_runtime.py
  • tests/test_ci_qualification.py
Check commands, defaults, supported runtimes, public names, and claims against executable behavior.

⚙️ CodeRabbit configuration file

Files:

  • docs/data/pr244/README.md
  • docs/repository-history.md
Read REVIEW.md before commenting.

⚙️ CodeRabbit configuration file

Files:

  • tests/golden/afd-qualification.json
  • docs/data/pr244/README.md
  • python/aisimulate/tools/verify_installed_package_layers.py
  • tests/e2e/test_unified_cli_engine.py
  • tests/test_unified_traffic_runtime.py
  • crates/core/src/perfmodel/fpm/tests.rs
  • crates/core/src/perfmodel/engine/runtime.rs
  • docs/repository-history.md
  • tests/test_ci_qualification.py
  • python/aisimulate/collector/op_backend_facts.yaml
A legal branch changes HOW a case runs.

📄 CodeRabbit inference engine (python/aisimulate/.claude/rules/collector/layer_permissions.md)

Files:

  • python/aisimulate/collector/op_backend_facts.yaml
Core doctrine: **observe, don't predict.**

📄 CodeRabbit inference engine (python/aisimulate/.claude/rules/collector/failure_handling.md)

Files:

  • python/aisimulate/collector/op_backend_facts.yaml
The declaration surface is exactly two kinds of YAML plus one capability table — if you feel the need for a new kind of rule, re-read `layer_permissions.md` first.

📄 CodeRabbit inference engine (python/aisimulate/.claude/rules/collector/case_authoring.md)

Files:

  • python/aisimulate/collector/op_backend_facts.yaml
Do not reintroduce them.

📄 CodeRabbit inference engine (python/aisimulate/.claude/rules/rust-core/parity.md)

Files:

  • crates/core/src/perfmodel/fpm/tests.rs
  • crates/core/src/perfmodel/engine/runtime.rs
Before making any change under: `python/aisimulate/src/aiconfigurator/generator/**` MUST read: `python/aisimulate/.claude/rules/generator-development.md` Before making any change under `python/aisimulate/collector/**` MUST read: `python/ais...

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • tests/golden/afd-qualification.json
  • docs/data/pr244/README.md
  • python/aisimulate/tools/verify_installed_package_layers.py
  • tests/e2e/test_unified_cli_engine.py
  • tests/test_unified_traffic_runtime.py
  • crates/core/src/perfmodel/fpm/tests.rs
  • crates/core/src/perfmodel/engine/runtime.rs
  • docs/repository-history.md
  • tests/test_ci_qualification.py
  • python/aisimulate/collector/op_backend_facts.yaml
🪛 ast-grep (0.45.3)
tests/test_ci_qualification.py

[error] 118-118: Avoid command injection
Context: subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=ROOT, text=True)
Note: [CWE-78] Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection').

(command-injection-python)


[error] 118-118: Command coming from incoming request
Context: subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=ROOT, text=True)
Note: [CWE-78] Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection').

(subprocess-from-request)


[info] 120-120: use jsonify instead of json.dumps for JSON output
Context: json.dumps({"baseline_source_sha": baseline})
Note: [CWE-116] Improper Encoding or Escaping of Output.

(use-jsonify)


[error] 121-133: Command coming from incoming request
Context: subprocess.run(
[
sys.executable,
str(ROOT / "scripts/check_prediction_numerics.py"),
"--manifest",
str(manifest),
"--fetch-baseline-only",
],
cwd=tmp_path,
capture_output=True,
text=True,
check=True,
)
Note: [CWE-78] Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection').

(subprocess-from-request)


[error] 140-145: Command coming from incoming request
Context: subprocess.run(
[sys.executable, str(ROOT / "scripts/check_prediction_numerics.py"), *arguments],
cwd=tmp_path,
capture_output=True,
text=True,
)
Note: [CWE-78] Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection').

(subprocess-from-request)

🔀 Multi-repo context ai-dynamo/dynamo, ai-dynamo/aiconfigurator

Linked repositories findings

ai-dynamo/dynamo

  • Dynamo pins AISimulate 0.12.0 in Python, Cargo, lockfile, and container requirements: pyproject.toml:17, Cargo.toml:59, Cargo.lock:36-38, container/deps/requirements.aisimulate.txt:5. Its consistency tests require all these versions and checksums to match (tests/dependencies/test_aisimulate_consistency.py:97-129). A coordinated downstream update is required before Dynamo can consume 0.13.0. [::ai-dynamo/dynamo::]
  • Dynamo’s compatibility contract requires the AISimulate wheel to retain aiconfigurator and aiconfigurator_core, and aliases RustForwardPassPerfModel across namespaces (tests/dependencies/test_aiconfigurator_consistency.py:102-121). This aligns with retaining compatibility in AISimulate 0.13. [::ai-dynamo/dynamo::]
  • Dynamo continues to use aic_system in frontend configuration, replay payloads, profiler data, and bindings, including components/src/dynamo/replay/simulation.py:248-260 and components/src/dynamo/common/configuration/groups/aic_perf_args.py:12-30. Any removal of legacy AIC fields beyond the documented CLI compatibility window would require Dynamo changes. [::ai-dynamo/dynamo::]

ai-dynamo/aiconfigurator

  • AIC remains independently versioned at 0.12.0 and depends on aiconfigurator-core==0.12.0 (pyproject.toml:4-6,42-44). Its migration guide explicitly treats 0.12.0 and aisimulate==0.12.0 as the historical compatibility release (docs/aisimulate_migration.md:8-25); these references should remain historical rather than being bulk-updated to 0.13.0. [::ai-dynamo/aiconfigurator::]
  • The migration guide documents continued aiconfigurator cli usage and temporary compatibility imports (docs/aisimulate_migration.md:33-74), supporting the PR’s stated decision to retain those compatibility surfaces in AISimulate 0.13. [::ai-dynamo/aiconfigurator::]
🔇 Additional comments (5)
docs/data/pr244/README.md (1)

35-41: LGTM!

python/aisimulate/collector/op_backend_facts.yaml (1)

145-154: LGTM!

Also applies to: 661-665, 695-699, 721-725, 755-759, 789-793, 821-825, 855-859, 932-941, 1075-1092, 1156-1165, 1362-1371, 1464-1473, 1593-1627, 1726-1751, 1986-2016, 2097-2122

crates/core/src/perfmodel/engine/runtime.rs (1)

1961-1972: LGTM!

Also applies to: 2349-2359

crates/core/src/perfmodel/fpm/tests.rs (1)

138-138: LGTM!

Also applies to: 149-160

tests/golden/afd-qualification.json (1)

53-53: 🗄️ Data Integrity & Integration

build_afd_qualification hashes deterministic canonical_json(spec), and the writer uses the same ReplaySpec for both artifacts. The golden test covers the complete generated qualification, including this digest. The inspected Dynamo source contains no consumer or contract for replay_spec_sha256, and no digest mismatch or artifact failure is established.


📝 Summary

Risk: Medium. Merge readiness still depends on validation results not supplied.

Most human attention:

  1. Verify release metadata and artifact checks for 0.13.0.
  2. Verify baseline fetch safety in hosted CI.
  3. Verify vLLM fixtures, backend facts, SDK exports, and replay contracts.

Changed behavior and public contracts

  • Cargo.toml, crates/core/Cargo.toml, Cargo.lock, and pyproject.toml report version 0.13.0.
  • CI checks installed package and runtime versions against 0.13.0.
  • CI fetches the recorded numerical baseline before qualification.
  • aiconfigurator compatibility commands remain available in 0.13.0.
  • Removal remains targeted for 0.14.0.
  • The numerical baseline CLI supports fetch-only mode.
  • Tests use resolved vLLM fixtures and current SDK, timing, and replay contracts.
  • Backend-facts coverage includes additional vLLM 0.25.0 entries.
  • The AFD fixture records a new serialization digest.

Evidence supplied

  • Repository inspection confirms 0.13.0 in package metadata, crate metadata, Cargo.lock, release tooling, documentation, and CI assertions.
  • CI invokes --fetch-baseline-only in multiple workflow paths.
  • Tests cover shallow-checkout fetching, offline reuse, invalid SHA values, unresolved commits, and conflicting CLI modes.
  • Reported validation covers Rust, replay/CLI, backend-facts, numerical qualification, workflow/FPM, release, lint, format, and whitespace checks.
  • No uv.lock reference appears in the supplied inspection output. Its synchronization is therefore not established.
  • Raw test output and current hosted-CI status were not supplied.
  • Current review findings were not supplied. Review severity counts are unavailable. The bot review is not approval.

Technical quality

The supplied evidence supports alignment of release metadata, CI baseline handling, compatibility messaging, and current runtime contracts. The baseline resolver has focused safety tests. No specific defect is established.

Merge readiness

Before merge, confirm current CI results, uv.lock status if applicable, release-artifact checks, and native-runtime coverage. Confirm the baseline fetch does not change the active branch or checkout.

Walkthrough

The release version changed from 0.12.0 to 0.13.0 across Rust and Python metadata, release tooling, artifact documentation, compatibility messaging, CI workflows, and validation tests. Numerical CI now resolves recorded prediction baselines before running checks.

Changes

Release version update

Layer / File(s) Summary
Package version declarations
Cargo.toml, crates/core/Cargo.toml, python/aisimulate/pyproject.toml
Workspace, core crate, and Python package metadata now use version 0.13.0.
Release tooling and artifact contracts
scripts/build_release_artifacts.py, docs/artifact-contract.md, crates/core/perfmodel/README.md, scripts/apply_dev_version.py, docs/installation.md, docs/ci.md
Release tooling, stable and nightly artifact examples, dependency documentation, and development-version examples now use the updated release line.
Compatibility guidance and deprecation messaging
README.md, docs/cli/migrate-from-aiconfigurator.md, docs/core-api.md, docs/repository-history.md, python/aisimulate/README.md, python/aisimulate/src/aiconfigurator/deprecation.py, python/aisimulate/src/aisimulate_core/__init__.py, python/aisimulate/tests/unit/test_aisimulate_deprecation.py
Compatibility documentation and warnings retain legacy commands through 0.13.0 and target removal for 0.14.0.
Version validation and workflow contracts
.github/workflows/ci.yml, tests/sweeper/test_packaging.py, tests/test_ci_workflow_contracts.py, python/aisimulate/tests/e2e/tools/test_installed_fpm_workflow.py
Checks now use the current product version. Packaging tests compare metadata with the workspace version, and historical manifest coverage retains 0.12.0.
Prediction baseline resolution
scripts/check_prediction_numerics.py, .github/workflows/ci.yml, .github/workflows/fast-ci.yml, docs/ci.md, tests/test_ci_qualification.py
Numerical validation can resolve and fetch recorded commits. CI invokes fetch-only baseline resolution before contract, qualification, and golden-regression checks.

Priority: ➖ Normal

Estimated code review effort: 4 (Complex) | ~45 minutes

Merge Risk: ⚪ Minimal · up to 031d8

The release and validation changes have no concrete remaining merge-blocking risk identified.

🚥 Pre-merge checks | ✅ 8
✅ Passed checks (8 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cross-Layer Contract ✅ Passed No stale cross-layer contract was introduced. The version change is synchronized across Cargo.toml, crates/core/Cargo.toml, python/aisimulate/pyproject.toml, both lockfiles, release validation, …
Modeling And Data Evidence ✅ Passed The PR provides provenance and reproducible checks for its data-related changes. The 221 backend-fact additions and six removals are tied to pinned vLLM 0.25.0 collection data, with documented source …
Compatibility Boundaries ✅ Passed Python and Rust release versions are synchronized at 0.13.0 in both manifests and lockfiles. The release validator still requires one publishable wheel and one publishable crate, rejects separate core…
Review Evidence ✅ Passed The description names relevant commands and results for lockfiles, release checks, linting, workflow contracts, baseline qualification, and CLI behavior. It includes negative and boundary cases for in…
Title check ✅ Passed The title identifies the main change as preparation for the AISimulate 0.13.0 release. It is specific enough to distinguish this release-preparation changeset from a generic maintenance change.
Description check ✅ Passed The description follows the required template and covers the change rationale, review map, risk, contracts, compatibility concerns, test evidence, CI results, boundary cases, data provenance, and trac…

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

@saturley-hall
saturley-hall enabled auto-merge (squash) September 18, 2026 02:10
Signed-off-by: Harrison King Saturley-Hall <hsaturleyhal@nvidia.com>

@jasonqinzhou jasonqinzhou 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.

The version metadata and lockfiles are synchronized, and the five focused nightly-version/historical-manifest tests pass locally with a working Node runtime. Before closeout, the contracts jobs need their missing tools installed: Full CI run 35304255738 fails on both architectures with missing huggingface_hub during FPM test collection and missing Node.js in _nightly_version. These requirements predate this PR. I will add explicit contract-job setup and rerun the exact updated head.

Comment thread python/aisimulate/README.md
Comment thread docs/artifact-contract.md
…ct CI

Signed-off-by: Jason Zhou (Engrg-Hardware 1) <jasonzho@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 18, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Signed-off-by: Jason Zhou (Engrg-Hardware 1) <jasonzho@nvidia.com>

@jasonqinzhou jasonqinzhou 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.

Current-main integration exposed a separate reproducible CI provenance setup failure: Fast CI 35357873986 cannot resolve numerical baseline af91885. GitHub still serves this historical PR commit, but normal branch checkout does not include it after squash merge. Preserve the manifest SHA, all eight expected values, and their tolerances; explicitly fetch that validated immutable baseline before Fast CI contract tests, Full CI repository contracts, and native numerical qualification.

Signed-off-by: Jason Zhou (Engrg-Hardware 1) <jasonzho@nvidia.com>
@jasonqinzhou

Copy link
Copy Markdown
Contributor

@coderabbitai full review

Signed-off-by: Harrison King Saturley-Hall <hsaturleyhal@nvidia.com>

@jasonqinzhou jasonqinzhou 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.

Codex review of 81e214e against current main d9f1580: no remaining actionable findings. Product and artifact versions agree at 0.13.0; the legacy command remains available with removal targeted for 0.14.0 subject to verified replacements. Current docs and warnings agree, and historical publication records remain intact. The numerical-baseline repair validates the full SHA, explicitly fetches only missing commits, preserves checkout HEAD/branch and the frozen manifest, and fails on unavailable sources. Local validation includes 356 workflow/FPM cases (three native-runtime cases deferred to hosted CI), all 304 Fast CI workflow/qualification/release-FPE cases after the fetch fix, release-manifest/lock checks, lint, and warning behavior. Hosted Fast CI 35358464789 passed on this SHA. Current-head CodeRabbit and Full CI remain pending; this is not merge readiness.

@jasonqinzhou

Copy link
Copy Markdown
Contributor

/ok to test 81e214e

@copy-pr-bot

copy-pr-bot Bot commented Sep 18, 2026

Copy link
Copy Markdown

/ok to test 81e214e

@jasonqinzhou, there was an error processing your request: E2

See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/2/

@jasonqinzhou jasonqinzhou 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.

The workflow-contract exclusion can rely on the existing exact-head Fast CI coverage, but the FPM accuracy exclusion removes installed-wheel coverage and needs correction before merge.

Comment thread .github/workflows/ci.yml Outdated
Signed-off-by: Jason Zhou (Engrg-Hardware 1) <jasonzho@nvidia.com>
@jasonqinzhou

Copy link
Copy Markdown
Contributor

/ok to test dd23ccb

@jasonqinzhou

Copy link
Copy Markdown
Contributor

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@jasonqinzhou jasonqinzhou 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.

Full CI on dd23ccb exposed two inherited contract mismatches that need correction before approval:

  • [P1] Pure-Rust engine/FPM test fixtures load only direct b200_sxm/vllm/0.24.0 tables, but the corrected database now supplies fp8_block through its declared reuse layer. Sixteen tests fail before reaching their behavioral assertions. Load the fixtures through the supported reuse-aware database path; preserve assertions and all production data/math.
  • [P1] The installed-wheel verifier still expects the pre-migration SDK facade, rejecting the newly public ForwardPassPerfModelConfig and ForwardPassPerfOptions on all three wheel platforms. Update its exact export contract to the current canonical SDK.

The prediction comparison and engine golden gates already pass. I am investigating the remaining Full CI failures before pushing the corrections.

@jasonqinzhou jasonqinzhou 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.

Further Full CI findings on dd23ccb:

  • [P1] Collector backend facts were not synchronized with merged PR #244. All 227 differences map to parquet files changed by ba64235: 221 new vLLM 0.25.0 slices (B300/GB200/GB300/H100/H200) and six intentionally removed direct 0.24.0 FP8-block GEMM slices. Existing shared slices have no changed backend/kernel mappings. Update only those facts; preserve the curated translation map, measurements, and strict drift check.
  • [P1] Three replay contract tests still assert retired aic_forward_model/aic_system rank arguments after PR #242 moved that identity into forward_pass_estimators. Assert canonical per-role estimator identity instead. The AFD artifact golden also needs its replay-spec hash updated for the newly serialized empty forward_pass_estimators field; verify that this field alone explains the digest change before updating it. No performance golden values need to change.

@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Pull request base or head changed.

Honor declared vLLM reuse in Rust fixtures, synchronize only the 227 backend facts changed by PR #244, and verify the canonical SDK and replay configuration from PR #242. The AFD golden changes only its serialization digest for the added empty forward_pass_estimators field; production math, measurements, and numerical goldens are unchanged.

Signed-off-by: Jason Zhou (Engrg-Hardware 1) <jasonzho@nvidia.com>
@jasonqinzhou jasonqinzhou changed the title chore(release): bump artifacts to 0.13.0 chore: prepare AISimulate 0.13.0 release Sep 18, 2026

@jasonqinzhou jasonqinzhou 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.

Codex review of bc222e6 against main d9f1580: no remaining actionable findings in the complete diff. The inherited failures reported above are corrected in this commit. Clarification: prediction rank identity is asserted through canonical timing_model.config; forward_pass_estimators is the additional serialized deployment field responsible for the AFD digest change.

Local evidence: 698 Rust performance-model tests passed (one existing ignored test), 65 replay/CLI tests passed, 45 registry/layering/deprecation tests passed, and the strict registry check passed for 2,137 slices. Every registry change maps to a parquet file changed by #244; existing mappings and production measurements are untouched. Removing only the new empty serialization field exactly reproduces the old AFD hash, with all other golden content equal. SDK export/native-engine smoke and lint/format/whitespace checks pass. Earlier baseline-fetch regression coverage remains in the final tree.

Release versions remain 0.13.0 and the retained compatibility command targets removal in 0.14.0 subject to verified replacements. Numerical sentinel baselines, values, tolerances, and engine goldens remain unchanged. Final-head CodeRabbit and hosted CI are still required before the requested approval and merge.

@jasonqinzhou jasonqinzhou 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.

Validated the two warnings in CodeRabbit's completed dd23ccb review against current bc222e6:

  • [P2] The active API mapping and temporary Cargo alias in docs/repository-history.md still target 0.12 even though the current release is 0.13. Update those current-use examples while preserving the explicitly historical migration-start version.
  • [P2] The new baseline-fetch helper has real Git coverage, but its CLI mode-selection boundary lacks a direct regression test. Add subprocess coverage proving --fetch-baseline-only succeeds with only a baseline manifest (no prediction cases), produces no prediction artifact, and rejects missing or conflicting mode arguments.

Both are narrow release-validation corrections and will be fixed before final approval.

Signed-off-by: Jason Zhou (Engrg-Hardware 1) <jasonzho@nvidia.com>

@jasonqinzhou jasonqinzhou 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.

Codex review refreshed for 031d8db against unchanged main d9f1580: no remaining actionable findings. The two CodeRabbit cross-layer warnings are fixed. The latest delta updates current-use 0.13 compatibility examples and adds direct CLI boundary coverage; all 40 numerical-qualification tests, lint, and whitespace checks pass. The full-diff assessment and 698 Rust / 65 replay-CLI / 45 layering-registry-deprecation test evidence from bc222e6 remain applicable to unchanged files. Final-head CodeRabbit, Fast CI, and Full CI are still required before approval and merge.

@jasonqinzhou

Copy link
Copy Markdown
Contributor

@coderabbitai review

Please refresh coverage for the current head 031d8db3a81e4e42ffe43c37161517f2ec05157d. Both cross-layer warnings are fixed: active API/Cargo examples now target 0.13 while historical migration milestones stay dated, and direct subprocess tests cover --fetch-baseline-only, no prediction cases/output, and missing/conflicting mode arguments. All 40 numerical-qualification tests pass. The preceding commit also corrects inherited Full CI fixture, SDK-verifier, replay-contract, and registry mismatches, with validation recorded in the PR description.

@jasonqinzhou

Copy link
Copy Markdown
Contributor

/ok to test 031d8db

@jasonqinzhou

Copy link
Copy Markdown
Contributor

@coderabbitai The description-template warning is addressed. The PR body now includes every required section and field: review map, medium risk, contract/compatibility impact, exact reviewed commit, commands and results, negative cases, digest derivation, data provenance, and tracking. Full CI is running on the unchanged reviewed head 031d8db: https://github.com/ai-dynamo/aisimulate/actions/runs/35363166376. Please recheck the description warning.

@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail
gh pr view 268 --repo ai-dynamo/aisimulate --json number,headRefOid,body,url,statusCheckRollup \
  --jq '{number, url, headRefOid, body, checks: [.statusCheckRollup[]? | {name, status, conclusion, detailsUrl}]}'

Length of output: 12478


@jasonqinzhou: Rechecked the live PR body at 031d8db3a81e4e42ffe43c37161517f2ec05157d.

The body includes the required review map, medium-risk assessment, contract and compatibility impact, reviewed commit, validation evidence, negative cases, digest derivation, data provenance, and tracking. The description-template warning is addressed.

Full CI run 35363166376 is still in progress. The exact-target and Full CI scope jobs have completed successfully.

You are interacting with an AI system.

@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown

@jasonqinzhou I will review pull request #268 at 031d8db3a81e4e42ffe43c37161517f2ec05157d.

⚠️ Action not completed

Already reviewed the last commit. Use @coderabbitai full review to rerun a review of the entire changeset.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@jasonqinzhou jasonqinzhou 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.

Approved after the requested release/compatibility corrections and exact-head verification. The compatibility command remains in 0.13.0 with removal targeted for 0.14.0 after verified replacements. CodeRabbit and Codex reviewed 031d8db with all findings addressed; all review threads are resolved. Fast CI passed, and Full CI 35363166376 passed all 54 jobs on this head, including the previously failing Rust, wheel, Collector, and replay-contract checks. Current main remains d9f1580 and the reviewed branch includes it. Release publication and downstream Dynamo qualification remain separate gates.

@jasonqinzhou
jasonqinzhou merged commit 39ad6d3 into main Sep 18, 2026
68 checks passed
@jasonqinzhou
jasonqinzhou deleted the harrison/bump-version-0.13.0 branch September 18, 2026 15:47
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