Skip to content

Forward-merge release/0.7 into main - #681

Merged
willkill07 merged 4 commits into
mainfrom
release/0.7
Aug 4, 2026
Merged

Forward-merge release/0.7 into main#681
willkill07 merged 4 commits into
mainfrom
release/0.7

Conversation

@rapids-bot

@rapids-bot rapids-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown

Forward-merge triggered by push to release/0.7 that creates a PR to keep main up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge. See forward-merger docs for more info.

#### Overview

Backport the narrowed Chrono feature set for shared serializable types to the 0.7 release line.

- [x] I confirm this contribution is my own work, or I have the right to submit it under this project's license.
- [x] I searched existing issues and open pull requests, and this does not duplicate existing work.

#### Details

- Disable Chrono default features in `nemo-relay-types` while retaining `std`, `serde`, and `now`.
- Regenerate the checked-in worker-plugin fixture lockfile from the `release/0.7` dependency graph.
- Keep the workspace `Cargo.lock` unchanged.

#### Where should the reviewer start?

Review `crates/types/Cargo.toml` for the feature declaration and `crates/core/tests/fixtures/worker_plugin/Cargo.lock` for the generated release fixture resolution.

#### Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

- Relates to: #674




## Summary by CodeRabbit

* **Chores**
  * Updated date and time handling configuration to use only the required capabilities.
  * No visible changes to the user experience.

Authors:
  - Bryan Bednarski (https://github.com/bbednarski9)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #678
@rapids-bot
rapids-bot Bot requested a review from a team as a code owner August 4, 2026 01:50
@rapids-bot

rapids-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown
Author

FAILURE - Unable to forward-merge due to an error, manual merge is necessary. Do not use the Resolve conflicts option in this PR, follow these instructions https://docs.rapids.ai/maintainers/forward-merger/

IMPORTANT: When merging this PR, do not use the auto-merger (i.e. the /merge comment). Instead, an admin must manually merge by changing the merging strategy to Create a Merge Commit. Otherwise, history will be lost and the branches become incompatible.

@github-actions github-actions Bot added the size:M PR is medium label Aug 4, 2026
#### Overview

Stabilize the macOS PTY job-control regression test by making its background-resume transition deterministic.

- [x] I confirm this contribution is my own work, or I have the right to submit it under this project's license.
- [x] I searched existing issues and open pull requests, and this does not duplicate existing work.

#### Details

The test previously issued the interactive shell `bg` command and waited for its prompt. On macOS CI, shell job bookkeeping could re-stop the job before the fake agent's `SIGCONT` handler ran, causing a timeout. The PTY driver now sends `SIGCONT` directly to Relay's stopped shell process group, which is the transition Relay must handle, while retaining the terminal ownership and foreground-handoff assertions.

#### Where should the reviewer start?

`crates/cli/tests/cli_tests.rs`, in `cli_transparent_run_preserves_interactive_terminal_job_control`.

#### Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

- Relates to: none



## Summary by CodeRabbit

* **Bug Fixes**
  * Improved Unix terminal tests for resuming stopped Relay processes, providing more reliable validation of process continuation behavior.

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - Bryan Bednarski (https://github.com/bbednarski9)
  - Maryam Najafian (https://github.com/mnajafian-nv)

URL: #680
@github-actions github-actions Bot added the lang:rust PR changes/introduces Rust code label Aug 4, 2026
#### Overview

Add an offline mode to `nemo-relay doctor` so observability diagnostics can validate configured exporters without requiring live network reachability. Live probe output now also makes it explicit when a check is only confirming HTTP reachability or gRPC TCP reachability.

- [x] I confirm this contribution is my own work, or I have the right to submit it under this repository license.
- [x] I searched existing issues and open pull requests, and this does not duplicate existing work.

#### Details

- add `--offline` to `nemo-relay doctor` and thread an explicit probe mode through the doctor collection path
- skip live OpenTelemetry, ATOF stream, and non-in-memory response-cache probes in offline mode while preserving config and endpoint validation
- clarify live probe messaging so HTTP checks are described as reachability probes and gRPC checks explicitly say the TCP port connected but the OTLP handshake was not verified
- add regression coverage for offline flag parsing, skipped probe behavior, malformed endpoint handling, and unchanged live probe behavior

**Validation:**
- `just test-rust`
- `cargo fmt --all`
- `cargo clippy --workspace --all-targets -- -D warnings`
- `uv run pre-commit run --files crates/cli/src/commands/diagnostics.rs crates/cli/src/commands/mod.rs crates/cli/src/commands/root.rs crates/cli/src/diagnostics/mod.rs crates/cli/src/diagnostics/probes.rs crates/cli/tests/coverage/commands/main_tests.rs crates/cli/tests/coverage/shared/doctor_tests.rs crates/cli/tests/coverage/shared/probes_tests.rs`
- `cargo test -p nemo-relay-cli doctor_accepts_offline_flag -- --nocapture`
- `cargo test -p nemo-relay-cli diagnostics::tests -- --nocapture`
- `cargo test -p nemo-relay-cli diagnostics::probes::tcp_tests -- --nocapture`

#### Where should the reviewer start?

Start in `crates/cli/src/diagnostics/mod.rs`, especially `observability_http_exporter_checks()` and `probe_atof_stream_sink()`. The most relevant regression coverage is in `crates/cli/tests/coverage/shared/doctor_tests.rs`.

#### Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

- Relates to: none



## Summary by CodeRabbit

* **New Features**
  * Added an `--offline` option to the `doctor` command.
  * Offline diagnostics skip live network checks while still validating endpoint formats and configuration.
  * Improved diagnostics for reachability, connection failures, timeouts, and invalid endpoints.

* **Bug Fixes**
  * Improved health-check behavior and messaging for HTTP, gRPC, Redis, OpenTelemetry, and stream endpoints.

* **Tests**
  * Added coverage for offline mode, command parsing, endpoint validation, and diagnostic results.

Authors:
  - Maryam Najafian (https://github.com/mnajafian-nv)

Approvers:
  - Will Killian (https://github.com/willkill07)

URL: #670
@github-actions github-actions Bot added size:XL PR is extra large and removed size:M PR is medium labels Aug 4, 2026
#### Overview

Preserve `future_into_py` panic settlement for the closed-loop-safe tool execution bridge.

- [x] I confirm this contribution is my own work, or I have the right to submit it under this project's license.
- [x] I searched existing issues and open pull requests, and this does not duplicate existing work.

#### Details

- Use the closed-loop-safe completion bridge for `tool_call_execute`.
- Convert panicking Rust tasks into `pyo3_async_runtimes.RustPanic`, matching `future_into_py`.
- Add regression coverage for Python future settlement after a Rust panic.

#### Where should the reviewer start?

Start with `safe_future_into_py` in `crates/python/src/py_api/mod.rs` and `safe_future_into_py_settles_rust_panics` in the adjacent coverage test.

#### Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

- Relates to #676


## Summary by CodeRabbit

* **Bug Fixes**
  * Improved reliability when running asynchronous operations from Python.
  * Rust panics and task failures are now converted into Python exceptions with readable error messages.
  * Preserved successful results and cancellation behavior during asynchronous execution.
  * Prevented completion callbacks from being scheduled after the Python event loop closes.

* **Tests**
  * Added coverage for panic handling, cancellation of pending operations, and closed event-loop behavior.

Authors:
  - Will Killian (https://github.com/willkill07)

Approvers:
  - Maryam Najafian (https://github.com/mnajafian-nv)

URL: #682
@codecov

codecov Bot commented Aug 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.67213% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 94.40%. Comparing base (86f439c) to head (0ef068f).
⚠️ Report is 41 commits behind head on main.

Files with missing lines Patch % Lines
crates/adaptive/src/response_cache/store.rs 80.00% 5 Missing ⚠️
crates/python/src/py_api/mod.rs 78.95% 4 Missing ⚠️
crates/cli/src/diagnostics/mod.rs 98.68% 2 Missing ⚠️
crates/cli/src/diagnostics/probes.rs 94.87% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #681      +/-   ##
==========================================
+ Coverage   94.30%   94.40%   +0.10%     
==========================================
  Files         303      330      +27     
  Lines       90869    96829    +5960     
  Branches        0      113     +113     
==========================================
+ Hits        85691    91404    +5713     
- Misses       5178     5425     +247     
Components Coverage Δ
Rust Runtime 96.40% <80.00%> (-0.03%) ⬇️
Shared DTO Types 99.05% <ø> (ø)
CLI 92.06% <98.00%> (-0.13%) ⬇️
Go Binding 95.03% <ø> (+1.98%) ⬆️
Python Binding 95.18% <78.95%> (+0.05%) ⬆️
Node Binding 98.36% <ø> (∅)
Dynamic Plugin SDKs 96.46% <ø> (-0.15%) ⬇️
Files with missing lines Coverage Δ
crates/cli/src/commands/diagnostics.rs 92.65% <100.00%> (+0.11%) ⬆️
crates/cli/src/commands/mod.rs 93.33% <100.00%> (+0.33%) ⬆️
crates/cli/src/commands/root.rs 100.00% <ø> (ø)
crates/cli/src/diagnostics/mod.rs 89.40% <98.68%> (+0.35%) ⬆️
crates/cli/src/diagnostics/probes.rs 90.32% <94.87%> (+6.32%) ⬆️
crates/python/src/py_api/mod.rs 94.40% <78.95%> (-0.17%) ⬇️
crates/adaptive/src/response_cache/store.rs 91.55% <80.00%> (+0.10%) ⬆️

... and 52 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 86f439c...0ef068f. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@willkill07
willkill07 merged commit 6eb50f0 into main Aug 4, 2026
114 of 115 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lang:rust PR changes/introduces Rust code size:XL PR is extra large

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants