NVIDIA / NVIDIA/NemoClaw

Decompose onboarding into phase composition

Open
#7,695 0 comments 0 reactions 1 assignee Claimed by @cv View on GitHub
area: architecture area: onboarding
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

> [!IMPORTANT]
> Reserved for @cv. Do not self-assign this issue. Do not open an implementation PR unless @cv requests help.

Parent: #7691

## Problem

`src/lib/onboard.ts` imports more than 200 runtime modules. It contains dependency wiring and product behavior.

## Scope

- Define explicit onboarding phases.
- Move phase behavior into feature-owned application modules.
- Keep the onboarding entry module responsible for sequencing and dependency wiring.
- Reduce the onboarding fan-out and root-file budgets in each PR.

## Remaining sequence

1. Extract messaging application ownership (#9170). Work is in progress.
2. Extract gateway lifecycle ownership (#9171). Work is in progress.
3. Extract provider selection and review ownership (#9169). This work is queued after the current gateway PR. PR #9037 resolved the prior dependency.
4. Enforce the zero-decision entry boundary (#9172). This work waits for #9169.

## Acceptance criteria

- Each phase has a named input and result contract.
- The entry module contains no provider, gateway, messaging, or policy decision.
- Resume and failure behavior remain unchanged.
- Onboarding tests pass after each phase move.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.