Repository navigation
Conversation
Add `buzz onboard`, an interactive, resumable wizard that sets up a developer for Remote workspace agents without the Buzz app: owner key (generated or imported) and invite claim, GitHub token and agent signing key, model and 1Password credentials, agents from presets in a workspace channel, the encrypted kind 24210 enroll, the signing key on GitHub, a first agent-signed start that registers each agent with the Sandbox manager, and the Paseo pairing (password, offer URL, terminal QR code) when the manager returns one. Every event and manager request matches what GPUI sends, so agents, profiles and channels made here appear and work in the Buzz apps. State is saved after each durable write (0600 files in a 0700 directory); credentials are held in memory only and sent encrypted to the manager. Gateway-key delegation and Paseo daemon registration are documented follow-ups. Signed-off-by: Tee8z <tee8z@protonmail.com> (cherry picked from commit d0d2e30) Signed-off-by: Tee8z <tee8z@protonmail.com>
Signed-off-by: Tee8z <tee8z@protonmail.com> (cherry picked from commit 9345a10) Signed-off-by: Tee8z <tee8z@protonmail.com>
Signed-off-by: Tee8z <tee8z@protonmail.com> (cherry picked from commit 7401e1a) Signed-off-by: Tee8z <tee8z@protonmail.com>
Signed-off-by: Tee8z <tee8z@protonmail.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
|
|
Independent review of the real SDK integration at d1b064c, against the onboarding goal and the prior #152 review. The earlier retry/provisioning blockers are tracked separately in the imported fixes; this pass focuses on the new gateway reconciliation boundary. Blocking: a dominated grant receipt can still be reported as live. A realistic failure: the wizard reads/builds a grant, the user pauses at confirmation, the owner revokes through an app, and the user then confirms the older wizard grant. The relay correctly retains revocation, but onboarding saves and reports the gateway as granted. Monotonic timestamps relative to the earlier read do not close this race. Before saving/reporting success, strongly re-read the coordinate and require the current verified live head to match the submitted grant. Preserve exact-ID retry success when that event remains current. Add a regression through the default wizard and real Optional: The remaining new seams look sound: current relay state overrides the local cache, failed reconciliation clears the summary, same-second replacement advances the timestamp, all production onboarding queries force the writer, and wizard tests now use the actual SDK builder by default. No new privileged membership or owner impersonation path is introduced. Scores: minimalism 9/10, elegance 9/10, correctness 8/10 until the receipt/current-head race is fixed. I inspected the production relay receipt path and the client grant path; I have not run a live onboarding enrollment. Keep this draft pending the fix, validation and human acceptance. |
Signed-off-by: Tee8z <tee8z@protonmail.com>
|
Rechecked ddc596f: the blocker is resolved. Before saving or reporting a new grant, the wizard strongly re-reads the coordinate and requires the submitted event ID plus valid live SDK authority. A concurrent revoke returns I independently ran the built production-seam regression No remaining blocker from this SDK integration review. Scores: minimalism 9/10, elegance 9/10, correctness 9/10. Human workflow confirmation and the remaining full gates still govern readiness; this comment does not attest |
Problem and behavior
Developers need one terminal setup command while keeping Buzz apps interchangeable.
buzz onboardcreates or imports an identity, enrolls credentials, registers agents through the same events and encrypted manager requests as GPUI, and pairs the developer's Paseo daemon.This replaces #152 without rewriting its published history. It targets
tee8z/agent-gateway-keyand depends on #154; the real SDK now signs grants rather than printing an unavailable-command fallback. Manager pairing and capability discovery require #150.Saved signed kickoff events survive lost manager replies and partial failures, so retries reuse the same Sandbox thread. Provisioning queries read the writer. The local grant summary is cleared before reconciliation and cannot override a revoked relay head. Agent keys cannot become gateways; community and channel admission remain explicit.
Credentials are neither persisted in onboarding state nor echoed. Private owner/agent identity files use restrictive permissions. Existing app agents are reused, and app enrollment stays available.
Validation
-D warnings, Rust formatting, and diff checks pass.just ciremains incomplete: the shared environment cannot locate nativeglib-2.0.pc; previous broad Rust checks passed. No staging developer was enrolled or deployed by these checks.The PR exceeds the default size guideline because it preserves the already-published eight-step wizard and its end-to-end resume tests. Steps are separated into modules; splitting the imported history into partial commands would obscure the retry contract. The gateway foundation remains separately reviewed below this PR.
Acceptance and rollout
Merge #154 and #150 before the final onboarding build. Use the manager-provided gateway public key; an administrator must admit it to the community, and the channel owner must add it to the workspace. A delegation itself grants no membership.
For human acceptance, run
buzz onboardagainst the intended community, enroll and first-start the agents, complete gateway membership, pair Paseo from the offer, and rerun. Confirm no duplicate thread or Sandbox, the same agents remain available in a Buzz app, and revoking the grant prevents gateway access. Agents added later require a daemon restart to refresh providers.Final SDK review is complete; the concurrent-revocation publication blocker is fixed in ddc596f and independently rechecked through the actual HTTP/default wizard regression. A post-publication writer read requires the exact submitted live head before saving or printing success. Removing that guard fails the regression.
Draft pending human workflow confirmation. No
review completion markerattestation, cluster changes, or deployment.