Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .opencode/memory/DEVELOPMENT_JOURNAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2229,3 +2229,7 @@ Tag v0.7.2 on 652c3a9c. Release workflow 32803930372 passed all four stages; nin
## 2026-08-25 v0.7.3 Preparation

Release candidate adds Coweb/Co Web: managed pi-web install under ~/.coco/agent/webui, native coweb dispatch, session browsing and chat controls, Co Web PWA/icon branding, and a strict public SSE proxy. Local and public end-to-end tests verified prompt acceptance, connected/event streaming, text deltas, and agent_end through raw SSH reverse forwarding. Cloudflare Quick Tunnel buffers pi-web SSE and is documented as unsuitable for interactive chat.

## 2026-08-25 v0.7.4 Preparation

Release candidate fixes Coweb distribution: install.sh now creates a managed bare coweb wrapper next to coco, and uninstall.sh removes only that wrapper. Installer suite validates install and removal of both binaries.
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ Read this file before changing the repository.
## Current Truth

- Worktree: `/root/coco-tmp/coco-v053-migration`
- Current branch: `release/v0.7.3`
- Current branch: `release/v0.7.4`
- Released version: `0.7.2`
- Current target: publish `0.7.3` (Coweb / Co Web)
- Current target: publish `0.7.4` (coweb distribution fix)
- Active plan: `DEVELOPMENT_PLAN.md`
- Work items: `development/work-items/0.7.0/`
- Execution journal: `.opencode/memory/DEVELOPMENT_JOURNAL.md`
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## [0.7.4] - 2026-08-25

### Coweb Distribution

- The installer now creates a bare `coweb` launcher alongside `coco`, and the uninstaller removes only its managed wrapper.
- Public release installs can open the Co Web frontend with `coweb` immediately; no manual symlink or wrapper is needed.


## [0.7.3] - 2026-08-25

### Co Web
Expand Down
4 changes: 2 additions & 2 deletions DEVELOPMENT_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Last updated: 2026-08-18
## Current State

- Released: `v0.7.2` at `652c3a9c`
- Development branch: `release/v0.7.3`
- Next target: publish `v0.7.3`; Coweb / Co Web web frontend
- Development branch: `release/v0.7.4`
- Next target: publish `v0.7.4`; bare coweb distribution fix
- npm: not published
- Website: https://bit-cook.github.io/coco/
- Research pages: `/research.html` and `/research-zh-CN.html`
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ curl -fsSL https://bit-cook.github.io/coco/install.sh | bash
Or install an explicitly reviewed release:

```bash
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.3/install.sh
COCO_VERSION=0.7.3 bash install.sh
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.4/install.sh
COCO_VERSION=0.7.4 bash install.sh
```

The installer verifies the exact-tag release tarball and the pinned public Agnes credential against their published SHA-256 values, safely extracts CoCo, and preserves existing `~/.coco/agent` configuration during updates and reinstalls.
Expand Down
4 changes: 2 additions & 2 deletions development/AGENT_BRIEF.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Use this short brief when joining CoCo development.
## Current State

- Released: `v0.6.3`, commit `016597c`
- Development branch: `release/v0.7.3`
- Next target: publish `v0.7.3`
- Development branch: `release/v0.7.4`
- Next target: publish `v0.7.4`
- npm: not published
- Website: https://bit-cook.github.io/coco/

Expand Down
22 changes: 11 additions & 11 deletions documentation/completeness-manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schema": "coco-documentation-completeness-v2",
"product_version": "0.7.3",
"product_version": "0.7.4",
"status": "complete",
"complete": true,
"generation": {
Expand All @@ -26,9 +26,9 @@
"path": "CHANGELOG.md",
"category": "historical-inherited",
"source": {
"bytes": 498408,
"lines": 5439,
"sha256": "04645374f666a8c0de23beaef390184835e9e33af64119015d737cb9f702231c"
"bytes": 498704,
"lines": 5447,
"sha256": "892cc594659f53d7c7e42b77ba1e4439069bc572d641e80a1e44a6c73ff6117e"
},
"locales": {
"en": {
Expand Down Expand Up @@ -70,18 +70,18 @@
"source": {
"bytes": 7603,
"lines": 124,
"sha256": "85e6e51b47a9f145806d264c50722b4daf9d77fb74ec16dd885ea38557da419b"
"sha256": "529ff86564035fc23652210d922fbcf4e1c7b2d4428a18d45a6e77d13fc2b49f"
},
"locales": {
"en": {
"bytes": 4881,
"lines": 99,
"sha256": "da5effa8bb044f6e3a32f9ebf49e02f9916106cec3a21ff023f0d419fd389fe1"
"sha256": "0ebaaaf23fa8e52e2fdc4e5827ba9f1ea8cae4cd710fb3cefacf1697d7e51fbb"
},
"zh-CN": {
"bytes": 6253,
"lines": 116,
"sha256": "db9ff29a1eba784ca15899dec648dbecb24a942894f8ffb4a940f718d6fdf010"
"sha256": "3f4e53af324f4068732297d0f02245d35acf4649f2c8189c933a0720e163d0e1"
}
}
},
Expand Down Expand Up @@ -123,12 +123,12 @@
"en": {
"bytes": 9210,
"lines": 145,
"sha256": "528d5c81826797a11a3765f06b98510ec37ad9f9de1cd517e8af10bf774f0048"
"sha256": "ed207b894cf15f4a9d865a56d964b6808b6aa626b469ededf00362a6ed83d574"
},
"zh-CN": {
"bytes": 8762,
"lines": 145,
"sha256": "f815c26da67b9bafe528ac9da106716477dd5440bca02f8b13bfb71f1b6bb103"
"sha256": "6168f32bc44cfe26b887a4b68fbf84e7f275b5e1a3074d8eadb22f1a4a61a108"
}
}
},
Expand Down Expand Up @@ -418,12 +418,12 @@
"en": {
"bytes": 32035,
"lines": 812,
"sha256": "8ac81411cd797c572e0acf8159e6c04d12baf6a25a0eb4097846a37c43ef6d5f"
"sha256": "43f26e8a4893b005055e937196d8ad1bb71f5469c89b62190f79bab70aff2f55"
},
"zh-CN": {
"bytes": 36296,
"lines": 928,
"sha256": "fdf8f8a609ecb4d95a1085d87e01c4abd9f2c625020146df4fa955537fd83e4b"
"sha256": "142c4bee56b6672252531bdeed8b0ad2fb795861ab60842817af2f07be57c76f"
}
}
},
Expand Down
4 changes: 2 additions & 2 deletions documentation/en/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ curl -fsSL https://bit-cook.github.io/coco/install.sh | bash
Or install an explicitly reviewed release:

```bash
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.3/install.sh
COCO_VERSION=0.7.3 bash install.sh
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.4/install.sh
COCO_VERSION=0.7.4 bash install.sh
```

The installer verifies the exact-tag release tarball and the pinned public Agnes credential against their published SHA-256 values, safely extracts CoCo, and preserves existing `~/.coco/agent` configuration during updates and reinstalls. Fresh installs work with Agnes max immediately and show models for Agnes, IDEPub, StepFun, Achai, and DeepSeek, including `deepseek-v4-flash` and `deepseek-v4-pro`. Achai credentials come from `ACHAI_API_KEY` or an existing OpenCode secret; CoCo does not bundle an Achai key. Set `AGNES_API_KEY` to override the default Agnes credential, set `DEEPSEEK_API_KEY` on a fresh install to import a DeepSeek credential, or configure another provider after installation.
Expand Down
4 changes: 2 additions & 2 deletions documentation/en/docs/coco-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ curl -fsSL https://bit-cook.github.io/coco/install.sh | bash
To install a reviewed release, download that release's `install.sh` and run it with the matching `COCO_VERSION`:

```bash
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.3/install.sh
COCO_VERSION=0.7.3 bash install.sh
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.4/install.sh
COCO_VERSION=0.7.4 bash install.sh
```

Upgrade by running the stable installer again. It verifies the release artifact and preserves existing `~/.coco/agent` configuration during updates and reinstalls. `coco update` is not available.
Expand Down
6 changes: 3 additions & 3 deletions documentation/en/docs/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ The stable launcher selects the newest non-prerelease release and runs that rele
To install an explicitly reviewed release, download the installer for that exact tag and pass the matching version:

```bash
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.3/install.sh
COCO_VERSION=0.7.3 bash install.sh
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.4/install.sh
COCO_VERSION=0.7.4 bash install.sh
```

The installer verifies checksums and archive structure before replacing an installation. It uses a candidate-and-rollback process so a failed update does not intentionally destroy a working installation.
Expand Down Expand Up @@ -82,7 +82,7 @@ The official release currently publishes a self-contained offline ZIP for Linux
Before transferring or extracting, download the ZIP and its external sidecar from the same exact release and verify it outside the archive:

```bash
sha256sum --check coco-0.7.3-offline-linux-x64.zip.sha256
sha256sum --check coco-0.7.4-offline-linux-x64.zip.sha256
```

The inner `SHA256SUMS` detects corruption after extraction but does not authenticate the ZIP by itself. After external verification and transfer, extract it and run:
Expand Down
4 changes: 2 additions & 2 deletions documentation/zh-CN/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ curl -fsSL https://bit-cook.github.io/coco/install.sh | bash
或者安装经过明确审阅的固定版本:

```bash
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.3/install.sh
COCO_VERSION=0.7.3 bash install.sh
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.4/install.sh
COCO_VERSION=0.7.4 bash install.sh
```

安装程序会根据已发布的 SHA-256 值验证固定标签发行包和公开 Agnes 凭据,安全解压 CoCo,并在更新或重新安装时保留现有的 `~/.coco/agent` 配置。
Expand Down
4 changes: 2 additions & 2 deletions documentation/zh-CN/docs/coco-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ curl -fsSL https://bit-cook.github.io/coco/install.sh | bash
如需安装已审阅的发布版,请下载该发布版的 `install.sh`,并使用匹配的 `COCO_VERSION` 运行:

```bash
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.3/install.sh
COCO_VERSION=0.7.3 bash install.sh
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.4/install.sh
COCO_VERSION=0.7.4 bash install.sh
```

升级时再次运行稳定安装程序。它会验证发行包,并在更新和重新安装时保留现有的 `~/.coco/agent` 配置。`coco update` 不可用。
Expand Down
6 changes: 3 additions & 3 deletions documentation/zh-CN/docs/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ curl -fsSL https://bit-cook.github.io/coco/install.sh | bash
如果需要审阅一个特定发布版,下载该标签对应的安装程序,并显式指定同一版本:

```bash
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.3/install.sh
COCO_VERSION=0.7.3 bash install.sh
curl -fsSLO https://github.com/bit-cook/coco/releases/download/v0.7.4/install.sh
COCO_VERSION=0.7.4 bash install.sh
```

安装程序会校验发行包;更新或重装时会保留既有的 `~/.coco/agent` 配置。
Expand Down Expand Up @@ -68,7 +68,7 @@ curl -fsSL https://bit-cook.github.io/coco/install.sh | bash
传输或解压前,从同一个精确 Release 下载 ZIP 及其外部 sidecar,并在归档外验证:

```bash
sha256sum --check coco-0.7.3-offline-linux-x64.zip.sha256
sha256sum --check coco-0.7.4-offline-linux-x64.zip.sha256
```

ZIP 内部的 `SHA256SUMS` 只能检测解压后的损坏,不能单独认证 ZIP。完成外部验证和传输后,解压并运行:
Expand Down
14 changes: 13 additions & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ set -euo pipefail

umask 077

COCO_VERSION="${COCO_VERSION:-0.7.3}"
COCO_VERSION="${COCO_VERSION:-0.7.4}"
printf '%s\n' "$COCO_VERSION" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$' || { printf 'coco: COCO_VERSION must be a stable X.Y.Z version\n' >&2; exit 1; }
COCO_RELEASE_BASE="https://github.com/bit-cook/coco/releases/download/v${COCO_VERSION}"
AGNES_KEY_URL="https://github.com/bit-cook/coco/releases/download/installer-v0.1.1.1/agnes.key"
Expand Down Expand Up @@ -34,11 +34,14 @@ CANDIDATE_DIR="${INSTALL_PARENT}/.${INSTALL_NAME}.coco-candidate-$$"
ROLLBACK_DIR="${INSTALL_PARENT}/.${INSTALL_NAME}.coco-rollback-$$"
AGENT_BACKUP="${TMPDIR_install}/agent-backup"
PREVIOUS_LINK="${TMPDIR_install}/previous-link"
PREVIOUS_COWEB="${TMPDIR_install}/previous-coweb"
HAD_INSTALL=0
HAD_AGENT=0
HAD_LINK=0
HAD_COWEB=0
SWAPPED=0
LINKED=0
COWEB_LINKED=0
COMMITTED=0
CREATED_MODELS=0
CREATED_AUTH=0
Expand All @@ -50,7 +53,9 @@ cleanup() {
if [ "$CREATED_MODELS" -eq 1 ]; then rm -f "$COCO_AGENT_DIR/models.json"; fi
if [ "$CREATED_AUTH" -eq 1 ]; then rm -f "$COCO_AGENT_DIR/auth.json"; fi
if [ "$LINKED" -eq 1 ]; then rm -f "$COCO_BIN_DIR/coco"; fi
if [ "$COWEB_LINKED" -eq 1 ]; then rm -f "$COCO_BIN_DIR/coweb"; fi
if [ "$HAD_LINK" -eq 1 ]; then mv "$PREVIOUS_LINK" "$COCO_BIN_DIR/coco"; fi
if [ "$HAD_COWEB" -eq 1 ]; then mv "$PREVIOUS_COWEB" "$COCO_BIN_DIR/coweb"; fi
if [ "$SWAPPED" -eq 1 ]; then
if [ "$HAD_AGENT" -eq 1 ] && [ -e "$COCO_AGENT_DIR" ]; then
mv "$COCO_AGENT_DIR" "$AGENT_BACKUP"
Expand Down Expand Up @@ -443,6 +448,7 @@ verify_config() {
link_binary() {
mkdir -p "$COCO_BIN_DIR"
if [ -L "$COCO_BIN_DIR/coco" ] || [ -f "$COCO_BIN_DIR/coco" ]; then mv "$COCO_BIN_DIR/coco" "$PREVIOUS_LINK"; HAD_LINK=1; elif [ -e "$COCO_BIN_DIR/coco" ]; then die "Refusing non-regular binary link path"; fi
if [ -L "$COCO_BIN_DIR/coweb" ] || [ -f "$COCO_BIN_DIR/coweb" ]; then mv "$COCO_BIN_DIR/coweb" "$PREVIOUS_COWEB"; HAD_COWEB=1; elif [ -e "$COCO_BIN_DIR/coweb" ]; then die "Refusing non-regular coweb link path"; fi
if [ "$COCO_BIN_DIR" = "$(dirname "$COCO_INSTALL_DIR/bin/coco")" ]; then
install -m 755 "$COCO_INSTALL_DIR/bin/coco" "$COCO_BIN_DIR/coco"
elif [ -x "$COCO_INSTALL_DIR/runtime/node/bin/node" ]; then
Expand All @@ -455,6 +461,12 @@ EOF
ln -s "$COCO_INSTALL_DIR/bin/coco" "$COCO_BIN_DIR/coco"
fi
LINKED=1
cat > "$COCO_BIN_DIR/coweb" <<EOF
#!/usr/bin/env bash
exec "$COCO_BIN_DIR/coco" coweb "\$@"
EOF
chmod 700 "$COCO_BIN_DIR/coweb"
COWEB_LINKED=1
fail_at_test_seam COCO_INSTALL_TEST_FAIL_AFTER_LINK "Injected failure after binary link"
}

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "coco",
"version": "0.7.3",
"version": "0.7.4",
"description": "CoCo Agent — a general AI assistant with strong coding and terminal capabilities",
"author": "BitCook <10547589+bit-cook@users.noreply.github.com> (https://github.com/bit-cook)",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion resources/capability-matrix.v1.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"capabilities":[{"evidence":["scripts/state-paths.mjs","scripts/state-transaction.mjs"],"id":"managed-state-safety","status":"production"},{"evidence":["scripts/task-runner.mjs","scripts/task-state.mjs"],"id":"durable-background-tasks","status":"production"},{"evidence":["scripts/task-events.mjs","scripts/task-logs.mjs","scripts/task-receipts.mjs"],"id":"task-evidence","status":"production"},{"evidence":["resources/coco-goal.mjs","resources/coco-loop.mjs"],"id":"goal-and-session-loop","status":"production"},{"evidence":["scripts/mcp-config.mjs","resources/coco-mcp.mjs"],"id":"mcp-stdio-client","status":"production"},{"evidence":["resources/provider-registry.v1.json","resources/provider-model-seeds.v1.json","scripts/provider-sync.mjs"],"id":"managed-providers","status":"production"},{"evidence":["scripts/custom-provider-setup.mjs"],"id":"custom-openai-provider","status":"production"},{"evidence":["scripts/apply-coco-identity-patch.mjs","resources/coco-language.mjs"],"id":"bilingual-tui","status":"production-with-debt"},{"evidence":["dist/modes/interactive/theme/coco-orange.json","dist/modes/interactive/theme/coco-orange-light.json"],"id":"paired-themes","status":"production"},{"evidence":["scripts/worktree-tasks.mjs"],"id":"worktree-task-isolation","status":"production"},{"evidence":["scripts/control-service.mjs","vscode/extension.js"],"id":"local-control-and-vscode","status":"production"},{"evidence":["scripts/runtime-integrity.mjs","scripts/verify-package-closure.mjs"],"id":"release-integrity","status":"production"},{"evidence":["scripts/execution-mode.mjs","scripts/execution-provider.mjs"],"id":"execution-policy-contract","status":"contract"},{"evidence":["scripts/plan-edit-verify.mjs"],"id":"plan-edit-verify","status":"contract"},{"evidence":["scripts/repo-map.mjs"],"id":"repository-map","status":"experimental"},{"evidence":["examples/extensions/subagent/index.ts"],"id":"subagent-orchestration","status":"experimental"},{"evidence":["scripts/build-offline-bundle.mjs"],"id":"offline-bundle","status":"platform-limited"},{"evidence":["scripts/provider-readiness.mjs","scripts/provider-status.mjs","scripts/provider-sync.mjs","scripts/bootstrap-state.mjs","scripts/diagnostics.mjs","documentation/zh-CN/docs/provider-readiness.md"],"id":"unified-provider-lifecycle","status":"contract"},{"evidence":["resources/coco-model-panel-contract.mjs","resources/coco-model-panel-renderer.mjs","resources/coco-model-panel-controller.mjs","resources/coco-model-panel-presenter.mjs","resources/coco-model-panel-adapter-contract.mjs","documentation/zh-CN/docs/model-panel-adapter-rfc.md"],"id":"stable-key-tui-i18n","status":"contract"},{"evidence":["documentation/zh-CN/docs/strategy-roadmap-2026.md"],"id":"project-memory-checkpoints","status":"planned"},{"evidence":["documentation/zh-CN/docs/strategy-roadmap-2026.md"],"id":"controlled-workflows","status":"planned"},{"evidence":["documentation/zh-CN/docs/strategy-roadmap-2026.md"],"id":"os-enforced-sandbox","status":"planned"}],"schemaVersion":1,"statuses":["production","production-with-debt","contract","experimental","platform-limited","planned"],"version":"0.7.3"}
{"capabilities":[{"evidence":["scripts/state-paths.mjs","scripts/state-transaction.mjs"],"id":"managed-state-safety","status":"production"},{"evidence":["scripts/task-runner.mjs","scripts/task-state.mjs"],"id":"durable-background-tasks","status":"production"},{"evidence":["scripts/task-events.mjs","scripts/task-logs.mjs","scripts/task-receipts.mjs"],"id":"task-evidence","status":"production"},{"evidence":["resources/coco-goal.mjs","resources/coco-loop.mjs"],"id":"goal-and-session-loop","status":"production"},{"evidence":["scripts/mcp-config.mjs","resources/coco-mcp.mjs"],"id":"mcp-stdio-client","status":"production"},{"evidence":["resources/provider-registry.v1.json","resources/provider-model-seeds.v1.json","scripts/provider-sync.mjs"],"id":"managed-providers","status":"production"},{"evidence":["scripts/custom-provider-setup.mjs"],"id":"custom-openai-provider","status":"production"},{"evidence":["scripts/apply-coco-identity-patch.mjs","resources/coco-language.mjs"],"id":"bilingual-tui","status":"production-with-debt"},{"evidence":["dist/modes/interactive/theme/coco-orange.json","dist/modes/interactive/theme/coco-orange-light.json"],"id":"paired-themes","status":"production"},{"evidence":["scripts/worktree-tasks.mjs"],"id":"worktree-task-isolation","status":"production"},{"evidence":["scripts/control-service.mjs","vscode/extension.js"],"id":"local-control-and-vscode","status":"production"},{"evidence":["scripts/runtime-integrity.mjs","scripts/verify-package-closure.mjs"],"id":"release-integrity","status":"production"},{"evidence":["scripts/execution-mode.mjs","scripts/execution-provider.mjs"],"id":"execution-policy-contract","status":"contract"},{"evidence":["scripts/plan-edit-verify.mjs"],"id":"plan-edit-verify","status":"contract"},{"evidence":["scripts/repo-map.mjs"],"id":"repository-map","status":"experimental"},{"evidence":["examples/extensions/subagent/index.ts"],"id":"subagent-orchestration","status":"experimental"},{"evidence":["scripts/build-offline-bundle.mjs"],"id":"offline-bundle","status":"platform-limited"},{"evidence":["scripts/provider-readiness.mjs","scripts/provider-status.mjs","scripts/provider-sync.mjs","scripts/bootstrap-state.mjs","scripts/diagnostics.mjs","documentation/zh-CN/docs/provider-readiness.md"],"id":"unified-provider-lifecycle","status":"contract"},{"evidence":["resources/coco-model-panel-contract.mjs","resources/coco-model-panel-renderer.mjs","resources/coco-model-panel-controller.mjs","resources/coco-model-panel-presenter.mjs","resources/coco-model-panel-adapter-contract.mjs","documentation/zh-CN/docs/model-panel-adapter-rfc.md"],"id":"stable-key-tui-i18n","status":"contract"},{"evidence":["documentation/zh-CN/docs/strategy-roadmap-2026.md"],"id":"project-memory-checkpoints","status":"planned"},{"evidence":["documentation/zh-CN/docs/strategy-roadmap-2026.md"],"id":"controlled-workflows","status":"planned"},{"evidence":["documentation/zh-CN/docs/strategy-roadmap-2026.md"],"id":"os-enforced-sandbox","status":"planned"}],"schemaVersion":1,"statuses":["production","production-with-debt","contract","experimental","platform-limited","planned"],"version":"0.7.4"}
Loading
Loading