VCO Release v2.3.55
- Date: 2026-03-30
- Commit(base): f3ab6e5
- Previous release:
v2.3.54
Highlights
- Promoted the unified owned-only uninstall surface into the stable release line.
uninstall.sh/uninstall.ps1now route supported hosts through the same adapter-driven contract, default to direct uninstall, and remove only content that the install ledger, host closure, or conservative legacy rules can prove belongs to Vibe. - Realigned host installs, checks, and runtime framing around explicit skill-only / sidecar-first activation. Supported hosts keep Vibe available through native skill invocation without requiring the installer to take over host-native settings in the normal path, which reduces cross-host breakage risk.
- Fixed the OpenCode startup regression by preserving compatibility with pre-existing OpenCode config surfaces and narrowing the managed write surface. Managed install/update flows stop turning otherwise valid OpenCode setups into non-starting states.
- Split built-in intent advice from optional vector diff embeddings into separate configuration planes:
VCO_INTENT_ADVICE_*now powers the governance advice path, whileVCO_VECTOR_DIFF_*remains an optional embeddings lane that degrades gracefully when missing. - Hardened macOS bootstrap compatibility. Active shell entrypoints no longer rely on Bash 4-only
mapfile, andinstall.sh/check.sh/scripts/bootstrap/one-shot-setup.shnow fail early with a clear Python 3.10+ prerequisite message instead of surfacing misleading downstream errors.
What Changed Compared With v2.3.54
v2.3.54focused on release operator closure, release/install truth alignment, and uninstall-governance surfacing.v2.3.55moves the stable surface forward to the next set of already-merged host-safety fixes: skill-only host alignment, OpenCode startup recovery, explicit AI config-key separation, and macOS shell/bootstrap compatibility.- The main difference is not a new product lane. The difference is reduced blast radius and clearer contracts: install/uninstall now touch less host-native state, OpenCode keeps booting, AI config is less ambiguous, and macOS prerequisite failures are diagnosed at the boundary where they actually occur.
Validation Notes
pytest -q tests/runtime_neutral/test_uninstall_vgo_adapter.py tests/runtime_neutral/test_installed_runtime_uninstall.py tests/runtime_neutral/test_installed_runtime_scripts.py -k "install_ledger or test_"->31 passed, 10 subtests passedpytest -q tests/runtime_neutral/test_opencode_managed_preview.py tests/runtime_neutral/test_bootstrap_doctor.py tests/runtime_neutral/test_router_ai_connectivity_probe.py tests/runtime_neutral/test_shell_entrypoint_compatibility.py->18 passedbash -n install.sh->PASSbash -n check.sh->PASSbash -n scripts/bootstrap/one-shot-setup.sh->PASSpwsh -NoProfile -File scripts/verify/vibe-version-consistency-gate.ps1->PASSpwsh -NoProfile -File scripts/verify/vibe-dist-manifest-gate.ps1->PASSpwsh -NoProfile -File scripts/verify/vibe-version-packaging-gate.ps1->PASSpwsh -NoProfile -File scripts/verify/vibe-release-notes-quality-gate.ps1->PASSpwsh -NoProfile -File scripts/verify/vibe-release-install-runtime-coherence-gate.ps1->PASSpwsh -NoProfile -File scripts/verify/vibe-uninstall-coherence-gate.ps1->PASSgit diff --check->PASS
Migration Notes
- Uninstall remains intentionally narrow. Supported uninstall flows clean only Vibe-managed payloads and shared-file
vibeskillsnodes; they do not claim ownership over host login state, provider secrets, or unrelated plugin configuration. - OpenCode users should treat
opencode.json.exampleand.vibeskills/*as the Vibe-managed surface. The installer no longer needs to create or take over a realopencode.jsonfor the supported skill-first path. - Built-in advice and vector diff embeddings now have separate local keys. Operators should migrate to
VCO_INTENT_ADVICE_API_KEY/VCO_INTENT_ADVICE_MODELfor advice readiness, and addVCO_VECTOR_DIFF_API_KEY/VCO_VECTOR_DIFF_MODELonly when they want optional embeddings-backed diff retrieval. - macOS users can keep launching from the default system shell stack, but they now need a real Python 3.10+ runtime available before running the shell install/check/bootstrap entrypoints.