Skip to content

[Epic] Automate Brev Launchable Promotion #7051

Description

@jyaunches

Summary

Automate the path from a functionally complete NemoClaw candidate to a qualified Brev Launchable and promotion of the exact tested image into production.

This epic owns the release and image-promotion automation boundary:

exact candidate source
→ immutable staging image
→ real Brev Launchable
→ expandable E2E qualification suite
→ immutable qualification receipt
→ promote the exact tested image
→ move LKG and record evidence

The qualification workflow must remain independently triggerable outside the release process so maintainers, schedules, API clients, and other trusted workflows can exercise the same staging and E2E path.

Why this is a separate epic

#6401 owns reuse of canonical NemoClaw onboarding and lifecycle semantics in the Brev experience. #6409 owns the broader parity, security, lifecycle, and performance test matrix.

This epic owns the automation that builds, deploys, qualifies, and promotes a Brev Launchable image. It provides a home for the initial release gate and for additional qualification-suite coverage issues as they are defined.

Target architecture

flowchart LR
    A["Select functional candidate"] --> B["Dispatch reusable qualification workflow"]
    B --> C["Build immutable staging image"]
    C --> D["Validate image manifest"]
    D --> E["Deploy exact image as Brev Launchable"]
    E --> F["Run qualification suite"]
    F --> G["Publish immutable receipt"]
    G --> H["Validate release readiness"]
    H --> I["Promote exact tested image"]
    I --> J["Move LKG and record promotion"]

    K["Prepare release docs in parallel"] --> H
Loading

Initial child issues and dependencies

Workstreams

1. Immutable image production and provenance

  • Build or reuse a staging image for one exact NemoClaw candidate.
  • Emit a versioned manifest containing immutable image and source identity.
  • Correlate every request, downstream workflow run, image, workspace, and receipt.
  • Reject ambiguous family-head or newest-run inference.

2. Launchable deployment and identity

  • Pin or resolve a Launchable to the manifest's immutable image.
  • Deploy it from a trusted GitHub workflow using supported Brev interfaces.
  • Read back and prove the actual boot image before testing.
  • Track external Brev CLI/platform capabilities needed for exact pinning and provenance readback.

3. Qualification-suite coverage

  • Establish a dedicated preinstalled/published-image E2E mode that does not overlay source or rebuild NemoClaw.
  • Start with installation identity, onboarding, sandbox/gateway readiness, inference, one real agent response, and cleanup.
  • Add focused child issues for the desired OpenClaw, Hermes, Deep Code, provider, policy, integration, lifecycle, recovery, security, and performance coverage.
  • Define blocking versus informational tests and require explicit exceptions for non-green release-mode coverage.

4. Reusable workflow and evidence

  • Support independent workflow_dispatch invocation.
  • Support trusted reuse through workflow_call.
  • Keep cloud credentials and billable operations inside protected GitHub environments.
  • Publish redacted immutable receipts and retain actionable diagnostics.
  • Make cleanup unconditional and verify workspace absence.

5. Release and promotion integration

  • Compose qualification with docs preparation through the maintainer pre-release skill without serializing the two paths.
  • Allow only narrowly audited non-runtime release-note changes between the tested candidate and final release SHA.
  • Make the tag/release flow consume an already completed qualification receipt.
  • Gate LKG promotion on the applicable receipt.
  • Promote the exact tested immutable image into the production family/channel rather than rebuilding it.

6. Rollout and operations

  • Begin with protected, explicitly approved shadow runs.
  • Measure latency, cost, cleanup reliability, and failure classes.
  • Define retry, cancellation, supersession, TTL, and reconciliation behavior.
  • Enable blocking promotion only after the shadow results meet the accepted operational bar.

Non-goals

  • Reimplement canonical NemoClaw onboarding inside the image repository.
  • Treat a source-overlay VM or local GitHub runner smoke as Launchable qualification.
  • Claim a separately rebuilt production image is the artifact that was tested.
  • Put Brev or cloud credentials on the maintainer's machine or in a coding-agent context.
  • Define the complete E2E matrix in this parent issue; focused coverage belongs in child issues.

Epic completion criteria

  • A trusted reusable workflow builds an immutable staging image for an exact candidate and consumes its validated manifest.
  • A real Brev Launchable boots that exact image and proves its identity.
  • The agreed blocking qualification suite passes without altering the baked product.
  • Every run emits correlated, redacted evidence and performs verified cleanup.
  • The pre-release skill runs docs preparation and qualification concurrently and hands both results to release tagging.
  • Any allowed tested-SHA-to-release-SHA delta is narrow, automatic, and auditable.
  • LKG cannot be promoted without the applicable successful receipt or an explicitly recorded exception.
  • Production promotion reuses the exact tested immutable image.
  • Additional suite-coverage issues are tracked under this epic with explicit blocking semantics.
  • Shadow rollout demonstrates acceptable cost, latency, security, and cleanup reliability before enforcement.

Activity

added
enhancementNew capability or improvement request
platform: brevAffects Brev hosted development environments
area: ciCI workflows, checks, release automation, or GitHub Actions
area: e2eEnd-to-end tests, nightly failures, or validation infrastructure
area: packagingPackages, images, registries, installers, or distribution
needs: designRequires product or architecture direction
on Jul 16, 2026

jyaunches commented on Jul 17, 2026

@jyaunches
ContributorAuthor

Closing because the accepted scope no longer needs an epic. Release-skill integration, LKG gating, and production-image promotion have been removed from this effort; the remaining staging-build, Launchable deployment, and preinstalled-image E2E work is now fully owned by standalone issue #6943. Producer work remains directly linked through brevdev/nemoclaw-image#80. Broader Launchable test coverage belongs in focused follow-ups or #6409. A separate promotion epic can be created later if exact tested-artifact promotion or LKG enforcement becomes a requirement.

jyaunches commented on Jul 27, 2026

@jyaunches
ContributorAuthor

#7632 records the final #7490 coverage split: exact-staging Launchable owns full Brev qualification, platform-neutral suites move to unified E2E, the dedicated GPU lane remains unified, and the duplicate all selector is retired.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ciCI workflows, checks, release automation, or GitHub Actionsarea: e2eEnd-to-end tests, nightly failures, or validation infrastructurearea: packagingPackages, images, registries, installers, or distributionenhancementNew capability or improvement requestneeds: designRequires product or architecture directionplatform: brevAffects Brev hosted development environments

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions