Skip to content

ci(e2e): test staging Brev Launchable - #7270

Merged
cv merged 16 commits into
mainfrom
codex/brev-launchable-e2e-lane
Jul 23, 2026
Merged

ci(e2e): test staging Brev Launchable#7270
cv merged 16 commits into
mainfrom
codex/brev-launchable-e2e-lane

Conversation

@cjagwani

@cjagwani cjagwani commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add one explicit, non-blocking staging Brev Launchable E2E lane targeted for .92. The lane binds an exact candidate SHA to the exact nemoclaw-image producer run, verifies the guest's provisioned SHA and clean NemoClaw checkout after boot, reuses the existing full E2E in preinstalled mode, and verifies workspace deletion. It does not gate production Launchable promotion or claim immutable cloud image-ID qualification.

Related Issue

Part of #6943.

Changes

  • Add one explicit-only job to the existing E2E workflow; no standalone workflow or controller.
  • Dispatch brevdev/nemoclaw-image workflow fix: detect sandbox context in status command #80 and validate that its receipt binds the exact producer run to the candidate SHA.
  • Deploy the standing staging Launchable, then verify /etc/nemoclaw/provision.json, the checkout HEAD, and a clean working tree all match the exact candidate.
  • Run the existing full E2E with a small preinstalled-launchable setup branch.
  • Always attempt deletion and require two absent observations before the lane can pass.
  • Upload only lane.log, qualification.json, full-e2e.log, and cleanup.json.
  • Keep activation disabled until the protected environment, credentials, standing Launchable, and Brev ownership are configured.

The implementation is 628 added lines: workflow 67, runner 227, existing full-E2E adaptation 43, new lifecycle tests 225, and narrow existing-validator/test changes 66.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Quality Gates

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • Docs updated for user-facing behavior changes
  • Docs not applicable — justification: Maintainer-only E2E workflow; the public Launchable flow and CLI are unchanged, and e2e.yaml remains the release-E2E source of truth.
  • Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging)
  • Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: nine-category PASS and exact-head refresh, no findings: ci(e2e): test staging Brev Launchable #7270 (comment), ci(e2e): test staging Brev Launchable #7270 (comment)
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Documentation Writer Review

  • Documentation writer subagent reviewed the completed implementation
  • Result: no-docs-needed
  • Evidence: The change adds a protected, explicit staging-only qualification lane without changing the production Launchable, CLI, installation, or supported user workflow.
  • Agent: Codex Desktop
  • PR: ci(e2e): test staging Brev Launchable #7270

DGX Station Hardware Evidence

  • Tested on DGX Station
  • Tested commit: not applicable
  • Station profile/scenario: not applicable
  • Result: not applicable
  • Supporting evidence: not applicable

Verification

  • PR description includes a Signed-off-by: line and every commit appears as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push hooks passed, or npm run check:diff passed when hooks were skipped or unavailable
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — 4/4 focused lifecycle tests, 79/79 relevant workflow-boundary tests, 10/10 Docker-auth boundary tests, and the exact affected E2E-support shard (154/154) passed.
  • Applicable broad gate passed — Not applicable: this is one opt-in lane; repository hooks and the targeted integration/E2E-support projects cover the changed surfaces.
  • Quality Gates section completed with required justifications or waivers
  • No secrets, API keys, or credentials committed
  • npm run docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Charan Jagwani cjagwani@nvidia.com

Summary by CodeRabbit

  • New Features
    • Added a gated staging “Brev Launchable” end-to-end lane that builds a handoff image, verifies produced manifests/immutables, launches a Brev workspace, runs the full suite on a preinstalled environment, and records qualification results.
    • Enabled automatic staging evidence uploads (qualification, logs, cleanup) for the lane.
  • Tests
    • Added a stubbed E2E suite covering the lane’s success path, SHA/receipt mismatch handling, full E2E failure behavior, and workspace cleanup verification.
    • Extended live full E2E with a preinstalled-launchable setup mode and adjusted related assertions.
  • Bug Fixes
    • Strengthened CI workflow-boundary checks for trusted checkout, explicit artifact upload behavior, and “no-image” coverage rules.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cjagwani cjagwani self-assigned this Jul 20, 2026
@copy-pr-bot

copy-pr-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a gated staging Brev Launchable E2E workflow that verifies immutable image identity, runs preinstalled tests remotely, records evidence, cleans up workspaces, and validates success and failure paths with focused tests.

Changes

Staging Brev Launchable E2E

Layer / File(s) Summary
Qualification and remote E2E launcher
tools/e2e/brev-launchable-e2e.sh
Dispatches and verifies the qualification image, creates and validates a Brev workspace, runs preinstalled E2E tests, redacts logs, and records qualification and cleanup state.
Preinstalled full E2E setup
test/e2e/live/full-e2e.test.ts
Adds setup-mode branching for preinstalled Launchable execution versus source installation, including CLI selection, onboarding contracts, and cold-onboard measurement.
Workflow lane and boundary contracts
.github/workflows/e2e.yaml, tools/e2e/*workflow-boundary.mts, test/e2e/support/dockerhub-auth-workflow-boundary.test.ts
Adds the gated staging job, pinned CLI installation, evidence uploads, result aggregation, and validator exceptions for trusted checkout, preinstalled execution, artifact uploads, and no-image behavior.
Launcher fixture and failure-path tests
test/brev-launchable-e2e.test.ts
Adds stubbed GitHub, Brev, SSH, and timeout environments covering successful execution, identity mismatch, E2E failure, cleanup verification, and log redaction.

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

Sequence Diagram(s)

sequenceDiagram
  participant Workflow
  participant GitHub
  participant Brev
  participant SSH
  participant FullE2E
  Workflow->>GitHub: Dispatch qualification workflow
  GitHub-->>Workflow: Return verified image manifest
  Workflow->>Brev: Create and poll Launchable workspace
  Brev-->>Workflow: Return ready workspace
  Workflow->>SSH: Verify baked identity and run E2E
  SSH->>FullE2E: Execute preinstalled full-e2e suite
  FullE2E-->>SSH: Return pass marker and logs
  Workflow->>Brev: Delete workspace and verify absence
Loading

Possibly related issues

Suggested reviewers: jyaunches

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and clearly refers to the new staging Brev Launchable E2E work.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/brev-launchable-e2e-lane

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

@github-code-quality

github-code-quality Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit d0c7ada in the codex/brev-launchabl... branch remains at 96%, unchanged from commit e261c53 in the main branch.

TypeScript / code-coverage/cli

The overall coverage in commit d0c7ada in the codex/brev-launchabl... branch remains at 80%, unchanged from commit e261c53 in the main branch.

Show a code coverage summary of the most impacted files.
File main e261c53 codex/brev-launchabl... d0c7ada +/-
src/lib/platform.ts 89% 84% -5%
src/lib/shields/index.ts 72% 71% -1%
src/lib/state/g...way-registry.ts 95% 94% -1%
src/lib/messagi...nnels/policy.ts 100% 100% 0%
src/lib/sandbox...rce-identity.ts 87% 87% 0%
src/lib/adapter...shell/client.ts 88% 90% +2%
src/lib/onboard...ndbox-create.ts 83% 91% +8%
src/lib/onboard...-desktop-gpu.ts 77% 89% +12%
src/lib/onboard...-create-plan.ts 75% 88% +13%
src/lib/onboard...ndbox-create.ts 33% 83% +50%

Updated July 23, 2026 16:32 UTC

@cjagwani

Copy link
Copy Markdown
Collaborator Author

Security review: PASS

The focused nine-category review found no actionable security findings. The draft is safe to continue through CI and maintainer review; activation must remain disabled until the protected environment, standing Launchable, credentials, and Brev ownership are configured.

Category Verdict Evidence
Secrets and credentials PASS No real credentials are committed. GitHub and Brev credentials remain in the trusted workflow. The candidate receives only the inference key over SSH stdin; the raw log is excluded from artifacts, explicitly redacted, and deleted.
Input validation and sanitization PASS Candidate SHA, UUID, workspace name, Launchable ID, producer receipt fields, image ID, image self-link, baked SHA, and workspace inventory shape are allowlisted or parsed with jq.
Authentication and authorization PASS The job requires the NVIDIA repository, main workflow code, an activation variable, an explicit trusted dispatch or schedule, and the protected brev-launchable-e2e environment. Workflow permissions are read-only.
Dependencies PASS Actions use immutable SHAs. Brev CLI v0.6.330 is fixed and SHA-256 verified before installation. No dependency files change.
Error handling and logging PASS The lane fails closed on producer, receipt, identity, E2E, and deletion failures. Only four explicit evidence files upload; controlled logs exclude GitHub/Brev credentials and redact the inference key.
Cryptography and data protection PASS SSH/TLS carry remote operations; SHA-256 protects the downloaded CLI. No custom cryptography is introduced.
Configuration PASS The job is explicit-only and activation-gated, uses a protected environment, read-only GitHub permissions, a private work directory, and serialized concurrency.
Security testing PASS Tests cover success, immutable identity mismatch, E2E failure with cleanup, and deletion failure. Repository hooks, shellcheck, gitleaks, and workflow-boundary tests pass.
System security PASS Trusted lane code is checked out from github.workflow_sha; candidate code cannot access the image-dispatch or Brev credentials. Exact receipt-to-boot identity checks close the mutable-family TOCTOU boundary, and cleanup requires two absent observations.

Files reviewed: .github/workflows/e2e.yaml, tools/e2e/brev-launchable-e2e.sh, test/e2e/live/full-e2e.test.ts, test/brev-launchable-e2e.test.ts, and the four modified E2E workflow validators.

@cjagwani
cjagwani marked this pull request as ready for review July 20, 2026 22:26
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cjagwani

cjagwani commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator Author

Activation audit

Read-only repository audit after opening this PR:

  • approve-brev-launchable-e2e already exists and requires approval from @jyaunches; commit 8369a867f binds the job to that existing environment.
  • NEMOCLAW_STAGING_LAUNCHABLE_ID already exists as a repository variable.
  • The required repository secret names already exist: BREV_API_KEY, BREV_ORG_ID, NEMOCLAW_IMAGE_DISPATCH_TOKEN, and NVIDIA_INFERENCE_API_KEY. Secret values were not read.
  • NEMOCLAW_BREV_LAUNCHABLE_E2E_ENABLED does not exist, so the lane remains fail-closed and cannot run on schedule or manual dispatch.
  • Producer activation is not ready: brevdev/nemoclaw-image environment staging has only GCP_CREDENTIALS_JSON, while fix: detect sandbox context in status command #80 qualification mode rejects JSON credentials and requires both GCP_WORKLOAD_IDENTITY_PROVIDER and GCP_SERVICE_ACCOUNT.
  • Brev lifecycle/authentication ownership confirmation remains open at Add brev launchable create and brev launchable deploy subcommands brevdev/brev-cli#391.
  • Required PR aggregation is currently blocked by the repository-wide reviewed npm advisory. The canonical lock/provenance fix is fix(images): lock OpenClaw production graph #6830; this focused PR does not absorb that dependency migration.

The authorized-PR trigger criterion is implemented: the trusted controller validates checkout_sha, PR identity, correlation, and workflow_sha; the lane checks out orchestration from github.workflow_sha, builds the exact validated candidate, and still requires protected-environment approval.

Do not add the enable variable until #7270 is approved and merged, the producer WIF pair is configured, the Brev owner accepts the contract, and the first protected run is scheduled.

This audit does not claim that the stored credentials are valid or sufficiently scoped; the first protected real run must prove authentication, deployment, post-boot identity, full E2E, evidence upload, and verified deletion.

@cjagwani

Copy link
Copy Markdown
Collaborator Author

Unrelated CI failure: reviewed-npm-audit

The failing job reports the pre-existing reviewed OpenClaw archive graph now contains critical tar advisory GHSA-23hp-3jrh-7fpw. This PR changes no package, lock, dependency-review, or audit-policy files.

The dedicated fix is already tracked in #6830, which locks the OpenClaw production graph and reports a clean reviewed audit. This focused Launchable PR should not absorb that dependency migration. Re-run/rebase after #6830 lands, or record a maintainer disposition if #7270 must proceed first.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cjagwani

cjagwani commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator Author

Security review refresh for exact head d3466907f7629cd058d6a75f54a3889beb765630: PASS, no new findings. The implementation follow-ups bind the job to the existing Julie-approved environment, parse a fixed NEMOCLAW_IDENTITY= line while ignoring Brev CLI trailing chain output, and classify the preinstalled Launchable lane as not requiring Docker Hub authentication. They do not broaden credentials, permissions, triggers, artifacts, or remote input.

@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — Informational

Advisor assessment: Informational / high confidence
Next action: Review the warnings below.
Findings: 0 blockers · 1 warning · 0 suggestions
Status: Canonical ledger: 0 blocker(s), 1 warning(s), 0 suggestion(s).

Model lanes

  • GPT-5.6 Terra (primary): Completed · high confidence · 0 blockers · 1 warning · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Completed · high confidence · 0 blockers · 1 warning · 0 suggestions
  • Model comparison: normalized findings differ; normalized E2E selections differ; severity counts match.

Nemotron output stays in workflow artifacts and does not change the assessment above.

E2E guidance

Advisory only. E2E / PR Gate selects and runs jobs independently.

Recommended E2E: cloud-onboard, credential-sanitization, security-posture, full-e2e

1 warning · 0 suggestions

Warnings

Warnings do not block.

PRA-1 Warning — Add coverage for the preinstalled Launchable branch

  • Location: test/e2e/live/full-e2e.test.ts:38
  • Category: tests
  • Problem: The new NEMOCLAW_E2E_SETUP_MODE=preinstalled-launchable branch selects brev-quickstart and skips install.sh, but no checked-in test executes that branch. The new shell-script test mocks SSH and only inspects the submitted command text.
  • Impact: A later change can break the Launchable-only setup path or restore source installation without a focused regression failure.
  • Recommendation: Add a focused mocked-host test that sets NEMOCLAW_E2E_SETUP_MODE=preinstalled-launchable, asserts the brev-quickstart invocation, and asserts that install.sh is not invoked.
  • Verification: Inspect a new test that runs the full E2E setup selection with a mocked HostCliClient and records its command calls.
  • Test coverage: A unit or fixture test for preinstalled-launchable mode that expects brev-quickstart with the sandbox name and rejects any install.sh command.
  • Evidence: test/e2e/live/full-e2e.test.ts adds USE_PREINSTALLED_LAUNCHABLE and selects brev-quickstart instead of install.sh. test/brev-launchable-e2e.test.ts fakes SSH and validates the remote submission, not the changed full-e2e.test.ts command-selection branch. The static test inventory lists one full-e2e test block and no test name for preinstalled-launchable command selection.

Workflow run details

This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cjagwani

Copy link
Copy Markdown
Collaborator Author

Audit-blocker update: the fresh exact-head run on #6830 still fails reviewed-npm-audit; its OpenClaw 2026.6.10 locked graph contains high brace-expansion GHSA-3jxr-9vmj-r5cp and critical tar GHSA-23hp-3jrh-7fpw (artifact 8478602808). Therefore #6830 is not yet a valid clean-audit unblock for this PR. #7270 remains intentionally unchanged; it should rebase and rerun only after the dependency owner lands a reviewed fix or a maintainer records an explicit security disposition.

@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure chore Build, CI, dependency, or tooling maintenance platform: brev Affects Brev hosted development environments labels Jul 21, 2026
cjagwani added 2 commits July 22, 2026 07:25
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/brev-launchable-e2e.test.ts`:
- Around line 172-185: Add a configurable fake baked-SHA value to the fixture
identity used by the boot scenario, set it to differ from the candidate SHA
while keeping imageId valid, and assert that run(boot.env) fails before invoking
preinstalled E2E. Update the stderr assertion as needed to specifically cover
the baked-SHA mismatch, while preserving the existing no-call and no-state
assertions.
🪄 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: CHILL

Plan: Enterprise

Run ID: 7977e41b-47ff-4715-b417-149750cc4f42

📥 Commits

Reviewing files that changed from the base of the PR and between cb62404 and d534fdd.

📒 Files selected for processing (1)
  • test/brev-launchable-e2e.test.ts

Comment thread test/brev-launchable-e2e.test.ts Outdated
cjagwani added 3 commits July 22, 2026 08:07
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@jyaunches

Copy link
Copy Markdown
Contributor

Please remove the in-guest GCP image-ID lookup from this PR. Track immutable boot-image qualification in a separate issue if we still want that stronger platform contract.

For #6943, a generic producer success signal is not sufficient. The lane must bind the exact producer run to the PR SHA. After the Launchable boots, the following checks are sufficient for this issue:

  • The exact producer run for the PR SHA completed successfully.
  • /etc/nemoclaw/provision.json reports the exact PR SHA.
  • $HOME/NemoClaw has that exact HEAD and no working-tree changes.
  • The existing full E2E passes in preinstalled mode.
  • Workspace deletion completes and the workspace is absent.

The previous live run showed that the default service-account token endpoint returns 404 on the configured Brev VM. The current Compute API lookup therefore stops the lane before Vitest. Adding a VM service account would also add a new IAM and platform contract that #6943 does not require.

The producer result plus the post-boot exact-SHA checks prove the behavior required by #6943. They do not claim immutable cloud image-ID qualification. Please move that stronger claim and its infrastructure requirements to a separate issue.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cjagwani cjagwani changed the title ci(e2e): qualify staging Brev launchable ci(e2e): test staging Brev Launchable Jul 22, 2026
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cv cv added the v0.0.93 label Jul 22, 2026

@prekshivyas prekshivyas left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewed exact head 664b422 against base c6f46d4. Security PASS across secrets, validation, authorization, dependencies, logging, data protection, configuration, tests, and system boundaries. The trusted workflow checkout, protected-environment secret guards, exact producer/receipt/boot SHA binding, bounded evidence, and verified cleanup all fail closed. Focused validation: 83 tests passed. No actionable findings. This approval does not waive the exact-SHA E2E authorization or #6943 real-Launchable activation evidence.

@cv cv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Re-reviewed exact head 2aaef13 against current main 1bb15a0. Both base refreshes are Verified, conflict-free, and leave the nine-file effective E2E-hardening diff unchanged. The merged documentation-receipt workflow does not alter this PR's runtime semantics; prior product-scope and nine-category security PASS conclusions remain valid. Awaiting fresh GitHub-hosted gates.

@cv
cv merged commit d42f736 into main Jul 23, 2026
78 of 80 checks passed
@cv
cv deleted the codex/brev-launchable-e2e-lane branch July 23, 2026 16:42
@cv cv mentioned this pull request Jul 23, 2026
23 tasks
cv added a commit that referenced this pull request Jul 23, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Adds the canonical dated `## v0.0.93` release entry to
`docs/changelog/2026-07-23.mdx`.
The entry records user-visible behavior, release validation, and
documentation controls merged after `v0.0.92`, while preserving the
pending DGX OS `7.6.x` Station Express qualification caveat.

## Changes

- Adds the parser-safe dated release entry with a summary, grouped
details, and published-route links.
- Reconciles the `v0.0.92..origin/main` commit range with merged
`v0.0.93` PRs.
- Records that no-OTA DGX OS `7.6.x` passed bounded host preflight,
while full Station Express end-to-end qualification remains pending.
- Leaves existing product pages unchanged because the source PRs already
document their supported behavior.

### Source summary

- #7285 -> `docs/changelog/2026-07-23.mdx`: Records the existing-vLLM
ownership choice and resumable Station handoff.
- #7419 -> `docs/changelog/2026-07-23.mdx`: Records bounded no-OTA DGX
OS `7.6.x` recognition and its pending end-to-end qualification.
- #7268 -> `docs/changelog/2026-07-23.mdx`: Records optional Hugging
Face authentication, output sanitization, and resumable HTTP `429`
recovery.
- #7442 -> `docs/changelog/2026-07-23.mdx`: Records clean SIGINT
handling at hidden credential prompts.
- #7299 -> `docs/changelog/2026-07-23.mdx`: Records Intel macOS
rejection before ref resolution or network work.
- #7296 -> `docs/changelog/2026-07-23.mdx`: Records the DGX Spark
non-interactive local-vLLM selection order.
- #7342 -> `docs/changelog/2026-07-23.mdx`: Records delegated protected
E2E approvals in the grouped release-validation bullet.
- #7373 -> `docs/changelog/2026-07-23.mdx`: Records base-image
publication gating before final-main fanout.
- #7388 -> `docs/changelog/2026-07-23.mdx`: Records semantic phase
runtime summaries.
- #7397 -> `docs/changelog/2026-07-23.mdx`: Records progress coverage
hardening.
- #7391 -> `docs/changelog/2026-07-23.mdx`: Records centralized
larger-runner routing.
- #7423 -> `docs/changelog/2026-07-23.mdx`: Records one retry for
confirmed hosted-runner loss.
- #7399 -> `docs/changelog/2026-07-23.mdx`: Records runner-comparison
telemetry.
- #7270 -> `docs/changelog/2026-07-23.mdx`: Records staging Brev
Launchable validation.
- #7426 -> `docs/changelog/2026-07-23.mdx`: Records filtering of
irrelevant base-image run history.
- #7333 -> `docs/changelog/2026-07-23.mdx`: Records aligned Quickstart
platform guidance.
- #7343 -> `docs/changelog/2026-07-23.mdx`: Records documentation-writer
receipt collection.
- #7400 -> `docs/changelog/2026-07-23.mdx`: Records the
documentation-writer receipt requirement for docs-only PRs.
- #7413 -> `docs/changelog/2026-07-23.mdx`: Records removal of redundant
receipt PR metadata.
- #7405 -> `docs/changelog/2026-07-23.mdx`: Records corrected inference
CLI references.
- #7389 -> `docs/changelog/2026-07-23.mdx`: Records completion of the
v0.0.91 documentation audit.

`#7384` is an internal refactor with no intended runtime behavior
change.
`#7401` updates internal CodeQL Actions dependencies.
`#7376` is already contained in `v0.0.92`, so it is outside the
release-entry scan range despite its retained planning label.

## Type of Change

- [ ] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [x] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Quality Gates

- [ ] Tests added or updated for changed behavior
- [x] Existing tests cover changed behavior — justification:
`test/changelog-docs.test.ts` validates dated changelog structure, SPDX
syntax, and version headings.
- [ ] Tests not applicable — justification:
- [x] Docs updated for user-facing behavior changes
- [ ] Docs not applicable — justification:
- [ ] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [ ] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification:
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Documentation Writer Review

- [x] Documentation writer subagent reviewed the completed changes
- Result: `docs-updated`
- Evidence: Reviewed `docs/changelog/2026-07-23.mdx` against
`WRITING.md`, `docs/CONTRIBUTING.md`, `docs/.docs-skip`,
`docs/index.yml`, the six user-visible source PRs, and the remaining
grouped release commits. The review corrected an ambiguous qualification
claim, confirmed all published routes, preserved the DGX OS `7.6.x`
caveat, and found no remaining action.
- Agent: Codex Desktop
<!-- docs-review-head-sha: ec0a866 -->
<!-- docs-review-agents-blob-sha: 9c9b36d -->

## DGX Station Hardware Evidence

- [ ] Tested on DGX Station
- Tested commit: Not applicable. This PR does not change
`scripts/prepare-dgx-station-host.sh`.
- Station profile/scenario: Not applicable.
- Result: Not applicable.
- Supporting evidence: Not applicable.

## Verification

- [x] PR description includes a `Signed-off-by:` line and every commit
appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run check:diff` passed when hooks were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — `npx vitest run
test/changelog-docs.test.ts`: 1 file and 6 tests passed.
- [ ] Applicable broad gate passed — Not applicable to one native
changelog file.
- [x] Quality Gates section completed with required justifications or
waivers
- [x] No secrets, API keys, or credentials committed
- [ ] `npm run docs` builds without warnings (doc changes only) —
completed with 0 errors and 2 existing Fern warnings.
- [x] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only)
- [ ] New doc pages include SPDX header and frontmatter (new pages only)
— not applicable because native changelog entries use a parser-safe MDX
SPDX comment without frontmatter.

---
Signed-off-by: Carlos Villela <cvillela@nvidia.com>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Added the v0.0.93 changelog covering onboarding and validation
improvements.
* Documented support for additional DGX Station Express workstation
releases and clearer handling of existing vLLM workloads.
* Added guidance for optional Hugging Face authentication, resumable
rate-limit recovery, and DGX Spark provider selection.
* Clarified installer behavior on Intel macOS, release validation
requirements, hosted-runner retries, documentation checks, and supported
CLI quickstart paths.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure chore Build, CI, dependency, or tooling maintenance platform: brev Affects Brev hosted development environments

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants