feat(workspace): remove the workspace contract and stop shipping agent CLIs in the image - #1144
Draft
sheepbox8646 wants to merge 1 commit into
Draft
feat(workspace): remove the workspace contract and stop shipping agent CLIs in the image#1144sheepbox8646 wants to merge 1 commit into
sheepbox8646 wants to merge 1 commit into
Conversation
sheepbox8646
force-pushed
the
workspace-deps/06-image-contract
branch
from
September 3, 2026 09:44
cfc2c7c to
e320e46
Compare
sheepbox8646
force-pushed
the
workspace-deps/06-image-contract
branch
from
September 3, 2026 12:19
e320e46 to
32dd4be
Compare
sheepbox8646
changed the base branch from
workspace-deps/05-versions-overlays
to
workspace-deps/04-web
September 3, 2026 12:21
…CLIs into the image The image is now a baseline (node, python, uv, display stack); Codex and Claude Code are installed into /data by the dependency manager, so the toolkit no longer ships them or their launcher wrappers. The workspace contract check is deleted with all of its error plumbing: tini and the bridge are covered by container startup, and every other capability reports at its point of use with an actionable dependency error instead of a whole-image incompatibility verdict (design §13). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ
sheepbox8646
force-pushed
the
workspace-deps/06-image-contract
branch
from
September 3, 2026 14:18
32dd4be to
e9bca0e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
变更内容
栈
workspace-deps最后一层(设计 §13、§15 阶段 8–9)。docker/toolkit/install.sh不再安装@openai/codex/@anthropic-ai/claude-code,删除docker/toolkit/bin/codex、bin/claudelauncher wrapper;Dockerfile.workspace与 CI smoke test 同步。镜像只保留底座(node、python、uv、显示栈、a11y-cli);agent CLI 由依赖管理器装到/data,首次启用走安装对话框。internal/workspace/contract.go及全部校验;WorkspaceInitPath/WorkspaceBridgePath迁为容器启动参数常量;删除ErrWorkspaceImageIncompatible/CodeWorkspaceImageIncompatible及 bots/handlers 中的分支与前端 i18n;删除docker/workspace-contract.json与 CI 中的 contract 校验;原 contract 测试改为覆盖模板 bootstrap 失败路径。理由见设计 §13:tini/bridge 缺失由容器启动路径先行暴露,contract 对它们从未真正生效;其余能力(node/python/uv/a11y/display)在使用点报错更具体;agent CLI 的存在与版本由依赖管理器的 discovery 与
agent_dependency_missing承接,用户有可点的补救动作,而不是「镜像不兼容,请重建」。验证
go test ./...全绿;golangci-lint涉及包干净;全库 grepImageIncompatible|workspace-contract|CurrentWorkspaceContractVersion仅剩设计文档。shellcheck docker/toolkit/install.sh告警数不增加;docker.ymlYAML 解析通过。docker.yml的 CI 验证。🤖 Generated with Claude Code
https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ