NVIDIA / NVIDIA/NemoClaw

[R0] Apply voice integration intent on v1 and hand off to VoiceClaw onboarding

Open
#11,751 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

## Outcome

v1 consumes hand-authored configuration, provisions or retains the selected OpenClaw agent, and invokes VoiceClaw-owned onboarding after verifying readiness. Main onboarding/configuration export is not required.

## Scope and ownership

NemoClaw owns apply, agent/sandbox state, integration ownership and target authorization. VoiceClaw owns its acquisition/installation, onboarding, configuration and external processes. During apply, NemoClaw invokes the trusted VoiceClaw-owned entrypoint defined by #11747. VoiceClaw owns the invoked bootstrap and its setup operations.

Planning reference: `VOICECLAW_NEMOCLAW_API_CONTRACT.md`, proposed `v1alpha1` agreement, §§1–3 and 7–9, with Appendices B–C. The requirements below apply the contract's ownership boundary to this milestone. R0 is a limited experimental profile; it does not claim the complete first-release agreement or accept #11204 wholesale. For this first experiment, #11749 supplies a private endpoint and one short-lived scoped credential directly to VoiceClaw.

## Work

- Provide a minimal hand-authored configuration fixture in v1. The integration declares its name, kind and one agent reference; deployment ownership is established during apply.
- Keep VoiceClaw settings, credentials, commands and hooks out of integration metadata. Import/validation alone starts neither deployment nor onboarding. No main-generated artifact is required.
- Apply the plain agent deployment and bind the integration to its deployment UID and live target identity. Reject ownership conflicts and unsupported/revoked combinations.
- Provide the verified integration/target state used by #11749 to authorize the direct scoped credential. Keep credential issuance/authentication in that API task.
- During apply, invoke trusted VoiceClaw-owned onboarding only after agent readiness. Starting with its package absent, VoiceClaw performs acquisition, integrity verification, installation, prompts, configuration and startup.
- Supply the semantic API endpoint and protected credential access defined in #11747/#11749. Arrange credential delivery near connection. VoiceClaw supplies client connection instructions.
- Surface reported handoff/attachment outcomes. Report VoiceClaw process lifecycle as `not-managed`; do not implement VoiceClaw process supervision, upgrade, rollback or removal.
- Preserve the healthy agent after VoiceClaw failure and report a redacted reason. Automatic setup resume and reconnection are deferred. A new operator-authorized experiment uses fresh access; VoiceClaw owns its cleanup.
- Treat integration omission during ordinary apply as non-destructive. Explicit removal revokes NemoClaw integration/attachment authority and does not delete VoiceClaw resources.

## Acceptance and validation

- [ ] v1 applies its hand-authored fixture and verifies one real agent before invoking VoiceClaw onboarding.
- [ ] Import/validation alone has no deployment or onboarding effects.
- [ ] Repeated apply preserves the agent and established integration ownership.
- [ ] A replaced target cannot inherit access merely by retaining the same name.
- [ ] Fixture evidence proves the handoff invokes the agreed VoiceClaw entrypoint without interpreting its internal setup schema.
- [ ] Handoff failures preserve agent health and produce bounded, redacted status.
- [ ] NemoClaw reports attachment state and `not-managed` for VoiceClaw processes.
- [ ] #11749 and #11752 provide the composed endpoint/credential and client proof; this prerequisite does not require that proof in order to complete.

## Dependencies

R0 parent epic: [#11746](https://github.com/NVIDIA/NemoClaw/issues/11746).

VoiceClaw counterpart: [VoiceClaw #7](https://gitlab-master.nvidia.com/jarvis/voice-claw/-/issues/7).

Blocked by:

- [#11747: [R0] Specify the v1-to-VoiceClaw onboarding handoff and scoped connection fixtures](https://github.com/NVIDIA/NemoClaw/issues/11747)
- [#11750: [R0] Verify one plain OpenClaw deployment on NemoClaw v1 through Brev CLI](https://github.com/NVIDIA/NemoClaw/issues/11750)

## Category

Feature

## Concrete R0 wire and onboarding agreement

Implement revision 1, profile `nemoclaw-voice-r0/1`, defined in [NemoClaw #11747](https://github.com/NVIDIA/NemoClaw/issues/11747). That issue contains the full wire specification and a portable shared fixture bundle. Fixture SHA-256: `20132310c2f14dd927b0ac50e30d5176a9e3c99b83d5890c9cf581e2320d3442`. Local shared copy: `~/Development/nemoclaw-voice/contracts/voiceclaw-r0-v1/`.

During apply after agent readiness, invoke the pinned VoiceClaw-owned `bin/voiceclaw-nemoclaw-r0 prepare`, then revalidate/issue access and invoke `connect` with the specified endpoint, opaque target reference, inherited credential descriptor and private result file. Use the exact arguments and results in #11747. Both stages belong to VoiceClaw; no commands or hooks come from integration metadata. Import/validation alone has no runtime effects. This two-stage ABI allows installation and prompts before credential issuance.

Contributor guide

Open the contributing guide

Research direction

Read VOICECLAW_NEMOCLAW_API_CONTRACT.md and the v1alpha1 sections and fixture in #11747, then trace the v1 apply path after agent readiness. Use #11750 to verify the plain deployment before exercising the shared fixture and the specified prepare/connect entrypoints. Done means the acceptance checks pass, including ownership preservation, bounded failure reporting, non-destructive omission, and not-managed VoiceClaw processes.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend-api-design, cli, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.