[R0] Apply voice integration intent on v1 and hand off to VoiceClaw onboarding
- 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
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