feat(blaxel): add delegated provider#290
Conversation
Register the Blaxel delegated-run provider and add the safe config, flag, env, redaction, and doctor foundation needed by the lifecycle follow-up plan. Add a fakeable REST client contract with API URL validation, header handling, list-shape parsing, redirect safety, and non-mutating doctor coverage.
Implement Blaxel delegated warmup, run, list, status, stop, and cleanup on top of the provider foundation. The lifecycle now records local claims, completes remote ownership labels, performs archive-based sync and process execution, and preserves ambiguous create failures with recovery claims. Add fake-backed lifecycle, sync, cleanup, ownership, recovery, and client request tests so the provider behavior is covered without live Blaxel credentials.
Document the Blaxel delegated-run provider across provider indexes, command docs, and source maps so users and future agents can operate the implemented API behavior safely. Add an opt-in live smoke script with redacted proof logs and Node tests covering missing credentials, skipped live gates, quota blockers, validation failures, cleanup after owned resources, and successful gated lifecycle proof.
Close review gaps in Blaxel lifecycle handling: recovery cleanup now pages through sandbox listings, readiness failures clean one-shot resources, process polling returns on terminal states without exit codes, label update responses preserve the create-time sandbox ID, run results include lease-output session handles, broad workdirs are rejected, and JSON/base64 archive uploads have a provider-specific size cap.\n\nVerification: git diff --check; go test ./internal/providers/blaxel ./internal/providers/all ./internal/cli ./cmd/crabbox; go test -race ./internal/providers/blaxel ./internal/providers/all ./internal/cli; go vet ./...; go build -trimpath -o bin/crabbox ./cmd/crabbox; node --test scripts/live-blaxel-smoke.test.js; node scripts/check-docs-links.mjs; node scripts/check-command-docs.mjs; env -u CRABBOX_BLAXEL_API_KEY -u BL_API_KEY -u CRABBOX_LIVE -u CRABBOX_LIVE_PROVIDERS scripts/live-blaxel-smoke.sh
|
Codex review: needs real behavior proof before merge. Reviewed June 12, 2026, 9:41 PM ET / 01:41 UTC. Summary Reproducibility: unclear. The review failed before ClawSweeper could establish a reproduction path. Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Review detailsBest possible solution: Retry the Codex review after fixing the execution failure. Do we have a high-confidence way to reproduce the issue? Unclear. The review failed before ClawSweeper could establish a reproduction path. Is this the best way to solve the issue? Unclear. Retry the review first so ClawSweeper can evaluate the actual issue and fix direction. AGENTS.md: unclear because the file could not be read completely. Codex review notes: model internal, reasoning high; reviewed against 73daf300e453. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Closes #285
Summary
Verification
git diff --checkgo test ./internal/providers/blaxel ./internal/providers/all ./internal/cli ./cmd/crabboxgo test -race ./internal/providers/blaxel ./internal/providers/all ./internal/cligo vet ./...go build -trimpath -o bin/crabbox ./cmd/crabboxnode --test scripts/live-blaxel-smoke.test.jsnode scripts/check-docs-links.mjsnode scripts/check-command-docs.mjsenv -u CRABBOX_BLAXEL_API_KEY -u BL_API_KEY -u CRABBOX_LIVE -u CRABBOX_LIVE_PROVIDERS scripts/live-blaxel-smoke.shclassified non-live execution asenvironment_blockedbecause Blaxel credentials/live gates were intentionally unset.~/.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/mainreported no accepted/actionable findings.