2.7 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 01-default-pins | Add reviewed default pins | complete | 1 | plan.md | ../../specs/agents/requirements/runtime-updates.md |
Task 01: Add reviewed default pins
Acceptance
- One validated machine-readable catalogue defines an exact stable default for every built-in managed npm runtime.
- Every command built without an operator selection uses
package@default_version; no supported managed runtime can fall back to an unversioned package. - Normal launches retain
--prefer-offline, while explicit preparation and the bounded stale-metadata retry retain online-preferred behavior.
Verification
cd apps/backend && go test ./internal/agent/agents ./internal/agent/registry ./internal/agent/runtime/lifecycle
Files likely touched
apps/backend/internal/agent/agents/managed_npm_runtime_versions.jsonapps/backend/internal/agent/agents/managed_npm_runtime_versions.goapps/backend/internal/agent/agents/managed_npm_runtime.goapps/backend/internal/agent/agents/agent.goapps/backend/internal/agent/agents/{claude_acp,codex_acp,opencode_acp,copilot_acp,gemini}.go- Focused
*_test.gofiles beside the managed agents and lifecycle command builder
Dependencies
None.
Parallelism
Sequential. This establishes the shared catalogue and command invariant used by all later tasks.
Inputs
- Spec: managed package set, effective version semantics, command routing
- Plan: Central managed-runtime pins
- Existing pattern:
ManagedNPMRuntimeSpec.PackageSpecand command tests
Output contract
Report the selected initial pins, files changed, exact test result, absence of unversioned managed commands, risks, and synchronized task/plan status.
Results
Complete. The catalogue pins are Claude 0.70.0, Codex 1.6.0, OpenCode
1.18.18, Copilot 1.0.75, and Gemini 0.52.0. The embedded Go validator
rejects missing, malformed, prerelease, and non-stable defaults. Empty-version
commands now use package@default_version; explicit validated selections use
package@selection, while normal launches remain --prefer-offline and
preparation/recovery remain online-preferred.
Verification: go test ./internal/agent/agents ./internal/agent/registry ./internal/agent/runtime/lifecycle -count=1 passed as part of the current
2,646-test post-remediation scoped backend run.
Follow-up review verification removed duplicated current-pin snapshots from the managed-agent and lifecycle tests. Their command expectations now derive from the embedded catalogue, so the weekly updater can change a pin without making the generated PR fail on stale test literals. The focused catalogue and command suite passed again as part of the 2,594-test follow-up backend run.