Skip to content

fix(identity): close DeepCode coexistence boundaries - #7

Merged
yuanchenglu merged 53 commits into
developfrom
coexistence-boundary-audit
Jul 28, 2026
Merged

yuanchenglu merged 53 commits into
developfrom
coexistence-boundary-audit

Conversation

@yuanchenglu

@yuanchenglu yuanchenglu commented Jul 28, 2026 •

Copy link
Copy Markdown
Owner

Scope

Close S1-02-E and the S1-02 parent task by enforcing DeepCode-owned user, persistence, process, network, configuration, and lifecycle boundaries while preserving explicitly classified upstream compatibility identifiers.

Implemented

  • load and write only deepcode.json(c) / .deepcode by default
  • ignore OpenCode-only configuration, environment variables, project cache, plugins, and TUI migration sources
  • keep OpenCode trees and shell configuration byte-identical in coexistence fixtures
  • move Agent/Plan/Session, plugin, project-cache, mDNS, logging, OAuth, MCP, ACP, Provider headers, and CLI identity to DeepCode
  • make DEEPCODE_CONFIG_CONTENT dynamic and read DEEPCODE_API_KEY at the explicit OpenCode-compatible Provider boundary
  • fail closed for unverified upstream WebUI proxy, Account service, IDE extension, GitHub Agent, install, and upgrade channels
  • retain internal @opencode-ai/*, service tags, Provider/protocol/schema identifiers only where classified and non-default

Permanent validation gates

  • Core and CLI package typecheck
  • Linux/Windows generic unit
  • Linux/Windows installation lifecycle
  • Linux/Windows Core isolation
  • Linux/Windows complete config, RuntimeFlags, and permission regression
  • Linux opencode|OPENCODE inventory artifact
  • generated client
  • HttpApi exerciser with timeout
  • Linux/Windows Playwright E2E

Validated implementation head 2442d6b11b7eb7add9ff6685af04e81c3615c657:

  • typecheck #116 / 30354218370: SUCCESS
  • test #118 / 30354218292: SUCCESS
  • lifecycle: 17 pass / 0 fail on each OS
  • Core isolation: 6 pass / 0 fail on each OS
  • full config/permission: Linux 305 pass, Windows 308 pass, 0 failures
  • generated client, HttpApi, Linux E2E, and Windows E2E: SUCCESS

String classification

The final inventory contains 4,168 occurrences. Every occurrence is classified as test/fixture, internal package/service, documentation/spec, internal module/path, internal Flag compatibility, development/build tooling, S1-03 release boundary, disabled upstream channel, upstream schema/provider/protocol, or compile/protocol metadata. Unclassified user-boundary occurrences: 0.

Evidence

  • docs/open-source-readiness/evidence/S1-02/README.md
  • docs/open-source-readiness/evidence/S1-02/test-results/S1-02-E-boundary-audit.md
  • docs/open-source-readiness/PLAN.md v1.3
  • docs/open-source-readiness/HANDOFF_2026-07-28.md

Out of scope / next task

DeepCode launcher and binary naming, archives, manifest, checksum, SBOM, rollback, purge, and GitHub Release/upgrade channels remain S1-03. Product release status remains NO-GO until Gate 1 is complete.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 69ed7874eb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/test.yml Outdated
yuanchenglu and others added 24 commits July 28, 2026 16:59
English:
Move remaining user-visible environment, path, process, UI, OAuth, MCP, ACP, plugin, project-cache, and CLI boundaries to DeepCode. Fail closed for unverified upstream UI, account, IDE, and GitHub-agent channels while preserving explicitly classified package, schema, protocol, and provider compatibility identifiers.

简体中文:
将剩余用户可见环境变量、路径、进程、UI、OAuth、MCP、ACP、插件、项目缓存和 CLI 边界切换到 DeepCode;对未验证的上游 UI、账户、IDE 和 GitHub Agent 渠道实行 fail-closed,同时保留已分类的包、Schema、协议和 Provider 兼容标识。
English:
Restore internal Flag compatibility property names in tests, align DeepCode-owned network and telemetry assertions, fix plugin dependency typing, import Product for CLI errors, and read DEEPCODE_API_KEY at the OpenCode-compatible provider boundary.

简体中文:
恢复测试中的内部 Flag 兼容属性名,同步 DeepCode 自有网络与遥测断言,修复插件依赖类型和 CLI Product 导入,并在 OpenCode 兼容 Provider 边界读取 DEEPCODE_API_KEY。
English:
Make the internal OPENCODE_CONFIG_CONTENT compatibility getter resolve DEEPCODE_CONFIG_CONTENT dynamically, and update config persistence tests to assert the canonical deepcode.json path.

简体中文:
将内部 OPENCODE_CONFIG_CONTENT 兼容属性改为动态读取 DEEPCODE_CONFIG_CONTENT,并让配置持久化测试断言规范 deepcode.json 路径。
English:
Mark S1-02-E and the parent task done, record the 4,168-line string classification and final cross-platform CI, update the master plan to v1.3, and hand off the next unique implementation point to S1-03.

简体中文:
将 S1-02-E 与父任务标记完成,记录 4,168 行字符串分类和最终双平台 CI,将总计划更新至 v1.3,并把下一唯一实施点交接为 S1-03。
@yuanchenglu yuanchenglu changed the title test(identity): close S1-02-E coexistence boundary gaps fix(identity): close DeepCode coexistence boundaries Jul 28, 2026
@yuanchenglu
yuanchenglu merged commit 1ad663e into develop Jul 28, 2026
9 of 14 checks passed
@yuanchenglu
yuanchenglu deleted the coexistence-boundary-audit branch July 28, 2026 12:05
github-actions Bot pushed a commit that referenced this pull request Jul 28, 2026
English:
Update PLAN, evidence, and the remote handoff to record PR #7 merged into develop, the final clean-head CI, and S1-03 as the next unique implementation task.

简体中文:
更新 PLAN、证据和远程交接,记录 PR #7 已合入 develop、最终 clean-head CI,以及 S1-03 为下一唯一实施任务。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant