fix(skills)!: prepare bundled runtime skills before agent startup - #340
Conversation
Replace managed runtime network installation with the image-owned offline helper and await Chat discovery. BREAKING CHANGE: managed runtimes require a bundled-skills sandbox image; remove DEPLOY_SKILL_SOURCE overrides.
|
@cursoragent review this |
|
Request changes on PR #340. Offline helper + fail-closed is the right contract; two issues block merge. Structured walkthrough: PR #340 评审. I also posted this on the PR. Must fix
Keep: no Release note: leftover nonempty |
Request changesThe managed-runtime switch is the right contract: offline 1. Background warmup is not an optimizationADR 0037 and the comment on
The same request also uses two sandboxes: warmup’s sandbox is Fix: hit the snapshot on the request path (await in-flight warmup only on miss). Share one sandbox, or skip prepare when this process already prepared that runtime. Add a test: after warmup completes, a second 2. CI lint is red on this commit
Declare Release gate (not a logic bug, but the code does not match the docs)
What looks correct and should stay: no I did not run Docker/Devbox e2e (as the PR notes, no local daemon). |
|
@cursoragent review this |
|
Still request changes on PR #340 at Still blocking
Follow-up is correct: Chat passes |
Re-review
|
|
@norberia thanks for the review — please take another look at 384c2ee: Chat now reuses discovery snapshots and skips preparation for a previously prepared Devbox generation, with regression coverage for repeated turns, first Skill loading, and runtime replacement; the missing Turbo environment declarations are also restored. All 54 focused tests, bun typecheck, bun check, and bun lint pass locally; the new CI run and runtime image/Devbox smoke remain separate validation steps. @cursoragent review this |
|
@cursoragent review this |
|
Approve Fixed
Keep: Chat Nits, not blockers: ADR 0037 still names the personal |
|
Approve PR #340 at Fixed
Keep: Chat Release: pin an immutable bundled sandbox/v1 image and unset nonempty |
Approve
|


Summary
Runtime dependency: labring-actions/devbox-runtime#154
Validation
Breaking configuration / release gate
Do not deploy this Brain change against an old runtime image. First publish and validate a sandbox/v1 image containing the offline bundle, set DEVBOX_RUNTIME_IMAGE to its immutable reference, and remove nonempty DEPLOY_SKILL_SOURCE overrides. Missing bundles fail closed; there is no network fallback.
Finish active/blocked Deployment Tasks before switching versions. Old Chat runtimes retain their existing lifecycle and data. Roll back the Brain/runtime image pair together. No database migration or codex-gateway change.
Review follow-up
Chat now explicitly passes
--init-workspacebecause it has no repository clone. Deployment Tasks omit it and require their workspace to exist. This matches the Runtime PR's stricter preparation contract without breaking Chat cold starts. Source Skill names and counts are determined by the pinned repository, not an installer allowlist.