ci: fix codecov reporting and PR guidance#48
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds Codecov + wasm coverage normalization
Sequence DiagramsequenceDiagram
participant Dev as Developer/CI runner
participant WASM as wasm/package script
participant Normalizer as normalize_coverage.mjs
participant Codecov as Codecov uploader/commenter
Dev->>WASM: run coverage:pkg (tests + c8 -> cobertura XML)
WASM->>Normalizer: invoke normalize_coverage.mjs with cobertura XML
Normalizer-->>WASM: write normalized cobertura XML
WASM->>Codecov: upload coverage artifacts
Codecov-->>Dev: post comment / aggregate after_n_builds
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
a9fcec9 to
0220964
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@crates/wasm/scripts/normalize_coverage.mjs`:
- Around line 80-85: The code looks up filenameMap using the raw filename from
getAttribute(classXml, 'filename') which can contain Windows backslashes;
normalize the incoming filename string (e.g., replace all backslashes with
forward slashes and optionally trim redundant ./) before doing the
filenameMap.get lookup so keys like pkg/adaptive.js match; update the lookup
around the variables filename, normalizedFilename and filenameMap to use the
normalized value so classes are not skipped.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: 6ac267a9-b2e8-46e4-8fce-641f9471d1b0
📒 Files selected for processing (4)
.github/ci-path-filters.ymlcodecov.ymlcrates/wasm/package.jsoncrates/wasm/scripts/normalize_coverage.mjs
📜 Review details
🧰 Additional context used
📓 Path-based instructions (6)
**/package.json
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Maintain consistency in Node package metadata in
crates/node/package.json
Files:
crates/wasm/package.json
crates/wasm/**
📄 CodeRabbit inference engine (.agents/skills/test-wasm-binding/SKILL.md)
Run WebAssembly tests with
just test-wasmfor changes incrates/wasm, its JS wrappers, or the WebAssembly-facing runtime surface
Files:
crates/wasm/package.jsoncrates/wasm/scripts/normalize_coverage.mjs
crates/{python,ffi,node,wasm}/**/*
⚙️ CodeRabbit configuration file
crates/{python,ffi,node,wasm}/**/*: Treat binding changes as public API changes. Check for parity with the other language bindings, FFI ownership/lifetime safety,
callback error propagation, stable type conversion, and consistent async/stream semantics.
Flag changes that update one binding without corresponding tests or documentation for the same surface elsewhere.
Files:
crates/wasm/package.jsoncrates/wasm/scripts/normalize_coverage.mjs
{.github/**/*.{yml,yaml},*.patch,scripts/**/*,*.sh,*.bat,Dockerfile*}
📄 CodeRabbit inference engine (.agents/skills/rename-surfaces/SKILL.md)
Update CI configuration, patch files, and build scripts with new functional identifiers after rename operations
Files:
.github/ci-path-filters.yml
{.github/**,.gitlab-ci.yml,.pre-commit-config.yaml,justfile,scripts/**}
⚙️ CodeRabbit configuration file
{.github/**,.gitlab-ci.yml,.pre-commit-config.yaml,justfile,scripts/**}: Review automation changes for reproducibility, pinned versions where appropriate, secret handling, and consistency with the documented validation matrix.
Pay attention to commands that need generated native artifacts, FFI libraries, or platform-specific environment variables.
Files:
.github/ci-path-filters.yml
**/*.{rs,py,js,ts,go,sh,toml,yaml,yml,md}
📄 CodeRabbit inference engine (AGENTS.md)
Keep SPDX headers on source, docs, scripts, and configuration files. The project is Apache-2.0.
Files:
codecov.yml
🔇 Additional comments (4)
codecov.yml (2)
7-16:after_n_buildsand documented upload matrix are consistent.Both notify and comment settings now align to 22 uploads, which removes prior config drift.
Also applies to: 101-101
124-126: WASM Rust ignore scope update matches the stated coverage strategy.The broader ignore rule is consistent with reporting coverage from generated wrapper-side artifacts.
.github/ci-path-filters.yml (1)
8-8: Good CI path-filter addition for Codecov config changes.Including
codecov.ymlin thecifilter closes the trigger gap for coverage-config updates.crates/wasm/package.json (1)
12-12: Coverage post-processing is correctly wired into the package coverage command.Chaining normalization immediately after Cobertura generation keeps the upload artifact deterministic for CI.
Signed-off-by: Will Killian <wkillian@nvidia.com>
0220964 to
73f70b7
Compare
Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.agents/skills/prepare-pr/SKILL.md (1)
1-8:⚠️ Potential issue | 🟠 Major | ⚡ Quick winCompliance: Missing SPDX header comment block in
SKILL.md.In
AGENTS.md, the file includes an SPDX header in an HTML comment. In the providedSKILL.mdcontent, there’s no equivalent SPDX header comment block near the top, which likely violates the repo’s “keep SPDX headers on docs/scripts/config files” requirement.✅ Proposed fix
--- name: prepare-pr description: Prepare, open, create, publish, update, or edit a NeMo Flow pull request or PR body with the right tests, docs, contributor hygiene, and repository pull request template author: NVIDIA Corporation and Affiliates license: Apache-2.0 --- +<!-- +SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 +--> + # Prepare A PR For NeMo Flow🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.agents/skills/prepare-pr/SKILL.md around lines 1 - 8, Add an SPDX header HTML comment block at the top of SKILL.md (the skill with name: prepare-pr) consistent with AGENTS.md’s pattern: insert a comment like <!-- SPDX-FileCopyrightText: NVIDIA Corporation and Affiliates --> and <!-- SPDX-License-Identifier: Apache-2.0 --> immediately above the YAML frontmatter so the document carries the same SPDX metadata as other docs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In @.agents/skills/prepare-pr/SKILL.md:
- Around line 1-8: Add an SPDX header HTML comment block at the top of SKILL.md
(the skill with name: prepare-pr) consistent with AGENTS.md’s pattern: insert a
comment like <!-- SPDX-FileCopyrightText: NVIDIA Corporation and Affiliates -->
and <!-- SPDX-License-Identifier: Apache-2.0 --> immediately above the YAML
frontmatter so the document carries the same SPDX metadata as other docs.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: d0b2b590-eb15-45f4-b24d-d8586df26162
📒 Files selected for processing (2)
.agents/skills/prepare-pr/SKILL.mdAGENTS.md
📜 Review details
🧰 Additional context used
📓 Path-based instructions (15)
AGENTS.md
📄 CodeRabbit inference engine (CLAUDE.md)
Document agent implementations in AGENTS.md with clear descriptions of functionality and usage
Files:
AGENTS.md
**/*.{md,rst,html,txt}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)
**/*.{md,rst,html,txt}: Always spellNVIDIAin all caps. Do not useNvidia,nvidia,nVidia,nVIDIA, orNV.
Usean NVIDIAbefore a noun because the name starts with an 'en' sound.
Do not add a registered trademark symbol afterNVIDIAwhen referring to the company.
Use trademark symbols with product names only when the document type or legal guidance requires them.
Verify official capitalization, spacing, and hyphenation for product names.
Precede NVIDIA product names withNVIDIAon first mention when it is natural and accurate.
Do not rewrite product names for grammar or title-case rules.
Preserve third-party product names according to the owner's spelling.
Include the company name and full model qualifier on first use when it helps identify the model.
Preserve the official capitalization and punctuation of model names.
Use shorter family names only after the full name is established.
Spell out a term on first use and put the acronym in parentheses unless the acronym is widely understood by the intended audience.
Use the acronym on later mentions after it has been defined.
For long documents, reintroduce the full term if readers might lose context.
Form plurals of acronyms withs, not an apostrophe, such asGPUs.
In headings, common acronyms can remain abbreviated. Spell out the term in the first or second sentence of the body.
Common terms such asCPU,GPU,PC,API, andUIusually do not need to be spelled out for developer audiences.
Files:
AGENTS.md
**/*.{md,rst,html}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-brand-terminology.md)
Link the first mention of a product name when the destination helps the reader.
Files:
AGENTS.md
**/*.{md,rst,txt}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)
**/*.{md,rst,txt}: SpellNVIDIAin all caps. Do not useNvidia,nvidia, orNV.
Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text. Avoid raw URLs and weak anchors such as 'here' or 'read more.'
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative steps. Keep steps parallel and split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English.
Usecanfor possibility and reservemayfor permission.
Useafterfor temporal relationships instead ofonce.
Preferrefer tooverseewhen the wording points readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values.
Use numerals for 10 or greater and include commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not add trademark symbols to NeMo Flow learning documentation by default.
Do not rewrite API names, package names, command flags, or code literals for style reasons.
Files:
AGENTS.md
**/*.{md,markdown,rst}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-technical-docs.md)
**/*.{md,markdown,rst}: Use title case consistently in technical documentation headings
Avoid quotation marks, ampersands, and exclamation marks in headings
Keep product, event, research, and whitepaper names in their official title case
Use title case for table headers
Do not force social-media sentence case into technical docs
Use monospace formatting for code elements, commands, parameters, package names, and expressions
Use monospace formatting for directories, file names, and paths
Use angle brackets inside monospace for variables inside paths, such as/home/<username>/.login
Use quotation marks for error messages and strings in documentation
Use bold formatting for UI buttons, menus, fields, and labels in documentation
Use angle brackets between UI labels for menu paths, such as File > Save As
Use italics for new terms on first use in documentation
Use italics for publication titles in documentation
Use plain text formatting for keyboard shortcuts in documentation
Prefer[NVIDIA/NeMo](link)format for GitHub repository references over generic phrases like 'the GitHub repo'
Introduce every code block with a complete sentence
Do not make a code block complete the grammar of the previous sentence
Do not continue a sentence after a code block
Use syntax highlighting when the format supports it for code blocks
Avoid the word 'snippet' unless the surrounding docs already use it as a term of art
Keep inline method, function, and class references consistent with nearby docs, omitting empty parentheses for prose readability when no call is shown
Use descriptive anchor text that matches the destination title when possible for links
Avoid raw URLs in running text in documentation
Avoid generic link anchors such as 'here,' 'this page,' and 'read more' in documentation
Include the acronym in link text if a linked term includes an acronym
Do not link long sentences or multiple sentences in documentation
Avoid links that pull readers away from a procedure unles...
Files:
AGENTS.md
**/*.{html,md}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Include SPDX license headers in HTML and Markdown files using HTML comment syntax
Files:
AGENTS.md
**/*.md
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Run Markdown link checking via
lycheeforREADME.md,CONTRIBUTING.md, anddocs/through pre-commit hooks
Files:
AGENTS.md
**/*.{md,markdown,py,sh,bash,js,ts,java,cpp,go,rust}
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Keep package names, repo references, and build commands current in documentation
Files:
AGENTS.md
**/*.{md,markdown,py,sh,bash}
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Keep stable user-facing wrappers at scripts/ root in docs and examples; only point at namespaced helper paths when documenting internal maintenance work
Files:
AGENTS.md
**/*.{md,markdown,py,sh,bash,js,ts,example}
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Example commands must match current package names and paths
Files:
AGENTS.md
**/*.{md,rst}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Keep documentation and examples synchronized with current install, import, and build commands
Files:
AGENTS.md
{README*,CHANGELOG*,docs/**/*.{md,rst,txt},examples/**/*,*.md}
📄 CodeRabbit inference engine (.agents/skills/rename-surfaces/SKILL.md)
Update documentation, examples, and getting-started guides with new package/module/crate names after rename operations
Files:
AGENTS.md
**/*.{md,txt,rst}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/SKILL.md)
**/*.{md,txt,rst}: Ensure commands, package names, file paths, and APIs in documentation are correct and not stale; flag incorrect or outdated information as blocking issues
Ensure examples and procedures in documentation will execute successfully with current APIs and commands
Use consistent user-facing terminology throughout documentation that matches current repo terminology
Capitalize NVIDIA correctly in all documentation and public-facing text
Format code, commands, paths, and filenames as inline code (monospace) in documentation
Use descriptive anchor text for links instead of bare URLs or weak labels like 'here' in documentation
Prefer active voice, present tense, short sentences, and plain English in documentation
Structure documentation procedures as imperative steps that are easy to scan and not too long for a single sequence
Prefer 'after' instead of 'once' for temporal references in documentation
Use 'can' instead of 'may' when describing possibility (rather than permission) in documentation
Avoid ambiguous numeric dates and ordinal dates in documentation body text
Files:
AGENTS.md
**/*.{js,ts,tsx,jsx,py,rs,json,yaml,yml,md}
📄 CodeRabbit inference engine (.agents/skills/prepare-pr/SKILL.md)
Format changed files with the language-native formatter before opening a PR
Files:
AGENTS.md
**/*.{rs,py,ts,tsx,js,jsx,go,md,yaml,yml,toml,lock,sh,mjs}
📄 CodeRabbit inference engine (AGENTS.md)
Keep SPDX headers on source, docs, scripts, and configuration files. The project is Apache-2.0.
Files:
AGENTS.md
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:58:37.263Z
Learning: Ensure branch scope is coherent and reviewable before opening a PR
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:58:37.263Z
Learning: Run relevant tests under `validate-change` and ensure they pass before opening a PR
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:58:37.263Z
Learning: Use targeted `uv run pre-commit run --files <changed files...>` checks during iteration where useful
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:58:37.263Z
Learning: Ensure `uv run pre-commit run --all-files` passes or document understood issues before opening a PR
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:58:37.263Z
Learning: Update dependent maintainer or consumer skills when code changes affect their APIs, bindings, commands, paths, packaging guidance, or best practices
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Do not hand-edit generated or packaged outputs unless the repository workflow expects them to be checked in. Regenerate through the documented recipe or script.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Preserve the shared runtime model across bindings. Do not add behavior to one primary binding without considering Rust, Python, and Node.js parity.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Prefer documented public APIs and stable wrapper commands. Do not rely on internal helpers in examples or user-facing docs.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Keep primary documentation focused on Rust, Python, and Node.js. Treat Go, WebAssembly, and raw FFI as experimental and source-first unless binding-support guidance changes.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Scope stacks are hierarchical and always have a root scope. They establish parent-child event relationships, visibility for scope-local middleware and subscribers, cleanup boundaries, and concurrent request isolation.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Scope-local middleware and subscribers are owned by a scope and disappear when that scope closes. Global registrations stay process-wide until removed.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Middleware is priority-ordered after merging global and visible scope-local entries.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Intercepts change the real execution path. Request intercepts rewrite the request. Execution intercepts wrap or replace the callback. Stream execution intercepts handle streaming lifecycle behavior.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Guardrails either block execution or sanitize emitted observability payloads. Sanitize guardrails do not rewrite the real callback arguments or return value.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Managed execution order is conditional guardrails, request intercepts, sanitize-request guardrails for start events, execution intercepts, callback execution, then sanitize-response guardrails for end events.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Events use ATOF `0.1` as the canonical event format. Scope events use start/end pairs; mark events record runtime checkpoints.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: LLM and tool event metadata belongs in the category profile, such as `model_name`, `tool_call_id`, and custom `subtype` fields.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Exporters can transform runtime events to ATIF trajectories, OpenTelemetry traces, or OpenInference-compatible output. Root scope identity is used to isolate concurrent agents.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Rust is the source of truth for runtime behavior. Binding APIs should mirror the Rust semantics unless a language-specific wrapper intentionally improves ergonomics.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Python wrapper modules live under `python/nemo_flow/`; the native extension is built from `crates/python` with `maturin`.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Node.js public entry points include the main runtime package plus `nemo-flow-node/typed`, `nemo-flow-node/plugin`, and `nemo-flow-node/adaptive`.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Go uses the C FFI and requires the FFI library build before tests; `just test-go` handles the library path setup.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: WebAssembly includes Rust wasm-bindgen tests plus JS wrapper/package tests; `just test-wasm` runs both paths.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Use the stable root-level wrappers for third-party integrations: `./scripts/bootstrap-third-party.sh`, `./scripts/apply-patches.sh`, and `./scripts/generate-patches.sh`. Apply patches to clean checkouts.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Update `README.md`, `docs/`, package READMEs, and binding-support notes when public behavior, package names, examples, or supported bindings change.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Keep release-process details in maintainer docs such as `RELEASING.md`. Do not move release-history policy into user-facing docs or `CHANGELOG.md`.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Keep stable public wrappers at the `scripts/` root in docs and examples. Reference namespaced helper paths only when documenting internal maintenance work.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Use branch prefixes from the contributor docs: `feat/`, `fix/`, `docs/`, `test/`, or `refactor/`.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Use signed-off commits for PR work: `git commit -s`.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Before creating, opening, publishing, or editing a pull request, read `.github/pull_request_template.md` and use it as the PR body skeleton. Preserve visible headings, checklist items, and related-issue guidance.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: PR descriptions should include what changed, why, how it was tested, and any breaking changes within the repository template format.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: If repo-local PR guidance such as the `prepare-pr` skill conflicts with generic GitHub connector or plugin guidance, follow the repo-local PR guidance for PR body format and review handoff details.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Run tests for every language affected by a change. If touching the Rust core runtime, middleware semantics, event shape, scope behavior, typed codecs, plugins, or observability, validate every affected binding.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Prefer the repository `just` recipes over raw tool commands. Use raw `cargo`, `pytest`, `go test`, `npm`, or `wasm-pack` commands only for focused debugging or targeted single-test reruns.
Learnt from: CR
Repo: NVIDIA/NeMo-Flow
Timestamp: 2026-05-03T18:59:04.262Z
Learning: Before review, prefer `uv run pre-commit run --all-files` when the change crosses languages or tooling. The hooks enforce SPDX headers, file hygiene, Ruff, `ty`, docs link checks, Cargo formatting/lints/audits, Go formatting/vet, and Node formatting.
🪛 LanguageTool
AGENTS.md
[uncategorized] ~239-~239: The official name of this software platform is spelled with a capital “H”.
Context: ...ishing, or editing a pull request, read .github/pull_request_template.md and use it as...
(GITHUB)
🔇 Additional comments (3)
AGENTS.md (1)
239-241: LGTM: PR template preservation guidance looks correct; keep.github/...path casing.The change correctly instructs agents to read
.github/pull_request_template.mdand preserve its visible headings/checklist intent. If tooling flags “GitHub” capitalization here, it’s likely a false positive because the lowercase.githubis a filesystem path and should not be changed to.GitHub..agents/skills/prepare-pr/SKILL.md (2)
3-24: LGTM: Expanded PR-skill scope + precedence rule are clear and consistent.The updated
description(Line 3), the broader “when to use this skill” guidance (Lines 17-20), and the precedence statement about repo-local guidance winning over generic GitHub guidance (Lines 21-23) are coherent and actionable for agents.
45-65: LGTM: PR body handling rules align with template preservation + re-validation.The “don’t use generic headings unless the repo template uses them” rule (Lines 49-51) and the “after creating/editing, re-fetch rendered PR body and verify headings/checklist presence” rule (Lines 63-65) directly support the PR-template preservation workflow this repo expects.
Signed-off-by: Will Killian <wkillian@nvidia.com>
Overview
Fix Codecov reporting for the current CI coverage matrix and tighten repo-local agent/review guidance for PR descriptions, titles, and skill files.
Details
**/crates/wasm/src/**/*.rs.after_n_buildsfrom 15 to 22 and document the full CI upload matrix with a binding/platform table.codecov.ymlto CI path filters so Codecov config changes trigger the CI/reporting path.crates/wasm/wrappers/nodejs/*.jspaths instead of generatedpkg/*.jspaths.prepare-prskill trigger and body guidance so it applies to PR creation, publishing, updates, and PR body edits.AGENTS.mdso agents must read and preserve.github/pull_request_template.mdbefore creating or editing PR descriptions, with repo-local PR guidance taking precedence over generic GitHub plugin guidance.prepare-prguidance that PR titles use Conventional Commit style and reservefixfor actual product/runtime code bug fixes, not chores, CI, docs, tests, packaging metadata, or agent guidance.SKILL.mdfiles do not need SPDX headers, but must keep YAML frontmatter with at leastnameanddescription.SKILL.mdfiles and instead verify required skill frontmatter.The WebAssembly report was unusable because it referenced generated
crates/wasm/pkg/*.jsfiles that are not present in the checkout Codecov analyzes. The new normalization step keeps coverage for checked-in Node.js wrapper copies and drops wasm-bindgen generated glue.Testing run:
ruby -e 'require "yaml"; %w[codecov.yml .github/ci-path-filters.yml .github/workflows/ci_wasm.yml].each { |f| YAML.load_file(f) }; puts "yaml-ok"'npm --prefix crates/node run precommit:format -- crates/wasm/wrappers crates/wasm/tests-js crates/wasm/scriptsuv run pre-commit run --files crates/wasm/scripts/normalize_coverage.mjs crates/wasm/package.json codecov.yml .github/ci-path-filters.ymljust --set ci true --set output_dir target/coverage-debug test-wasmnormalize_coverage.mjsuv run pre-commit run --files AGENTS.md .agents/skills/prepare-pr/SKILL.mduv run pre-commit run --files .agents/skills/prepare-pr/SKILL.mdruby -e 'require "yaml"; YAML.load_file(".coderabbit.yaml"); puts "yaml-ok"'SKILL.mdfrontmatter check fornameanddescriptionuv run pre-commit run --files AGENTS.md .coderabbit.yamlBreaking changes: none.
Where should the reviewer start?
Start with
crates/wasm/scripts/normalize_coverage.mjsfor the Codecov report normalization, then reviewcodecov.ymlfor the Codecov matrix/component changes,.agents/skills/prepare-pr/SKILL.mdfor agent PR-template/title enforcement, and.coderabbit.yamlfor SKILL.md review guidance.Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)