From d11907e8a73f80d81e3b6e876ff3aa8dd1d43440 Mon Sep 17 00:00:00 2001 From: "sanze.li" <2522048902@qq.com> Date: Wed, 27 May 2026 16:42:45 +0800 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20rename=20runtime=5Fbundle=20?= =?UTF-8?q?=E2=86=92=20sopify=5Fbundle,=20check-runtime-smoke=20=E2=86=92?= =?UTF-8?q?=20check-bundle-smoke?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit T4 naming refactor — file renames + all import/reference updates. No behavior change; 639 tests pass. --- .githooks/pre-commit | 2 +- .github/workflows/ci.yml | 2 +- .gitignore | 3 +++ .sopify-skills/blueprint/design.md | 2 +- .sopify-skills/blueprint/tasks.md | 2 +- CONTRIBUTING.md | 6 +++--- CONTRIBUTING_CN.md | 4 ++-- README.md | 5 +++-- README.zh-CN.md | 5 +++-- installer/payload.py | 2 +- installer/{runtime_bundle.py => sopify_bundle.py} | 4 ++-- installer/validate.py | 2 +- scripts/{check-runtime-smoke.sh => check-bundle-smoke.sh} | 2 +- scripts/release-preflight.sh | 2 +- tests/test_installer_validate.py | 6 +++--- tests/test_runtime_engine.py | 4 ++-- 16 files changed, 29 insertions(+), 24 deletions(-) rename installer/{runtime_bundle.py => sopify_bundle.py} (97%) rename scripts/{check-runtime-smoke.sh => check-bundle-smoke.sh} (99%) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 71b8fcb..2c53289 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -86,7 +86,7 @@ is_release_relevant_file() { runtime/*|installer/*|skills/*|README.md|README.zh-CN.md|CHANGELOG.md) return 0 ;; - scripts/sopify_runtime.py|scripts/model_compare_runtime.py|scripts/check-runtime-smoke.sh|scripts/release-sync.sh|scripts/release-preflight.sh|scripts/sync-skills.sh|scripts/check-version-consistency.sh) + scripts/sopify_runtime.py|scripts/model_compare_runtime.py|scripts/check-bundle-smoke.sh|scripts/release-sync.sh|scripts/release-preflight.sh|scripts/sync-skills.sh|scripts/check-version-consistency.sh) return 0 ;; *) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a7c94be..45f68e6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,7 @@ jobs: run: python3 -m pytest tests -m "implementation_mirror" -v - name: Run runtime smoke check - run: bash scripts/check-runtime-smoke.sh + run: bash scripts/check-bundle-smoke.sh - name: Run install/payload bootstrap smoke run: python3 scripts/check-install-payload-bundle-smoke.py diff --git a/.gitignore b/.gitignore index 0a80ba3..e1d537e 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,6 @@ evals/skill_eval_report.json Codex/Skills/ Claude/Skills/ Copilot/Skills/ + +# Copilot workspace install product (dogfood / local testing). +.github/copilot-instructions.md diff --git a/.sopify-skills/blueprint/design.md b/.sopify-skills/blueprint/design.md index c3f1141..2f903eb 100644 --- a/.sopify-skills/blueprint/design.md +++ b/.sopify-skills/blueprint/design.md @@ -794,7 +794,7 @@ P6: 直接切 canonical writer 新栈 + 定义 writer_input 契约 2. 停止维护 deep-capable host(Claude / Codex / Copilot)的宿主专属 legacy glue(bridge / renderer / bundle / smoke),但 kernel 通过协议对所有 deep-capable host 保持可达 3. runtime 退场的真实门槛收敛为: - 先解耦仍需保留的非 runtime 面:`installer/validate.py`、`installer/bootstrap_workspace.py`、`installer/inspection.py`、`scripts/install_sopify.py`、`scripts/sopify_init.py` - - 再同步删除 `runtime/`、`installer/runtime_bundle.py`、legacy deep scripts 与 runtime-coupled tests + - 再同步删除 `runtime/`、`installer/sopify_bundle.py`、legacy deep scripts 与 runtime-coupled tests 4. `scripts/sopify_status.py` / `scripts/sopify_doctor.py` 不作为独立解耦目标;它们仅通过 `installer/inspection.py` 的 cutover 继续保留 diff --git a/.sopify-skills/blueprint/tasks.md b/.sopify-skills/blueprint/tasks.md index 4ccb0dd..153019b 100644 --- a/.sopify-skills/blueprint/tasks.md +++ b/.sopify-skills/blueprint/tasks.md @@ -124,7 +124,7 @@ P0→P4c 主航道已全部完成。后续执行遵循以下原则: ## 流程与工具项 -- [ ] Runtime retirement cutover(`target-state-first` 已于 2026-05-22 拍板):先解耦 `installer/validate.py`、`installer/bootstrap_workspace.py`、`installer/inspection.py`、`scripts/install_sopify.py`、`scripts/sopify_init.py`,再同步删除 `runtime/`、`installer/runtime_bundle.py` 与 legacy deep path +- [ ] Runtime retirement cutover(`target-state-first` 已于 2026-05-22 拍板):先解耦 `installer/validate.py`、`installer/bootstrap_workspace.py`、`installer/inspection.py`、`scripts/install_sopify.py`、`scripts/sopify_init.py`,再同步删除 `runtime/`、`installer/sopify_bundle.py` 与 legacy deep path - Phase 1 已完成(方案包 `20260522_runtime_slimming_kernel_extraction`):contract 面清理 −6,400 LOC + engine 重构 + 34 退役测试块清理 −1,400 LOC + installer bundle 纯 Python 重写 + legacy workspace marker 退场。runtime/ 从 ~22K LOC 收至 37 文件 / 16,286 LOC - Phase 2 未启动:installer 5 文件解耦 + runtime/ 全删 + legacy deep path 退场 - [ ] Plan intake checklist(后续新 plan 开包时手工回答以下问题): diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aa2e813..64d8f64 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,7 +29,7 @@ Use these commands when you need maintainer-level control over the vendored runt ```bash # Sync runtime assets into a target workspace (maintainer command) -python3 -c "from installer.runtime_bundle import sync_runtime_bundle; from pathlib import Path; sync_runtime_bundle(Path('.'), Path('/path/to/project'))" +python3 -c "from installer.sopify_bundle import sync_runtime_bundle; from pathlib import Path; sync_runtime_bundle(Path('.'), Path('/path/to/project'))" # Validate the raw input entry in the target workspace python3 /path/to/project/.sopify-runtime/scripts/sopify_runtime.py \ @@ -37,7 +37,7 @@ python3 /path/to/project/.sopify-runtime/scripts/sopify_runtime.py \ # Optional: portable smoke checks in the target workspace python3 -m pytest /path/to/project/.sopify-runtime/tests/test_runtime.py -v -bash /path/to/project/.sopify-runtime/scripts/check-runtime-smoke.sh +bash /path/to/project/.sopify-runtime/scripts/check-bundle-smoke.sh ``` Bundle rules: @@ -112,7 +112,7 @@ python3 scripts/sopify_runtime.py "Refactor the database layer" python3 scripts/runtime_gate.py enter --workspace-root . --request "Refactor the database layer" python3 scripts/sopify_runtime.py "~go plan Refactor the database layer" python3 scripts/sopify_runtime.py "~go finalize" -bash scripts/check-runtime-smoke.sh +bash scripts/check-bundle-smoke.sh ``` Documentation and release validation: diff --git a/CONTRIBUTING_CN.md b/CONTRIBUTING_CN.md index f7f3cab..94a97e6 100644 --- a/CONTRIBUTING_CN.md +++ b/CONTRIBUTING_CN.md @@ -38,7 +38,7 @@ python3 scripts/runtime_gate.py enter \ --request "~go plan 重构数据库层" # 验证 bundle 完整性 -bash scripts/check-runtime-smoke.sh +bash scripts/check-bundle-smoke.sh # 验证“一次安装 + 项目触发 bootstrap + selected bundle 接管” python3 scripts/check-install-payload-bundle-smoke.py @@ -118,7 +118,7 @@ python3 scripts/sopify_runtime.py "重构数据库层" python3 scripts/runtime_gate.py enter --workspace-root . --request "重构数据库层" python3 scripts/sopify_runtime.py "~go plan 重构数据库层" python3 scripts/sopify_runtime.py "~go finalize" -bash scripts/check-runtime-smoke.sh +bash scripts/check-bundle-smoke.sh ``` 文档与发布校验: diff --git a/README.md b/README.md index cb7c773..7b078dd 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,8 @@ Install targets: - `codex:en-US` - `claude:zh-CN` - `claude:en-US` -- `copilot` +- `copilot:zh-CN` +- `copilot:en-US` The protocol works with any host. Verified runtime integrations today: @@ -101,7 +102,7 @@ The protocol works with any host. Verified runtime integrations today: |------|----------------|--------------|---------------------|-------| | `codex` | `codex:zh-CN` / `codex:en-US` | Deep verified | Host install flow, workspace bootstrap, and runtime package smoke are verified | Suitable for daily use | | `claude` | `claude:zh-CN` / `claude:en-US` | Deep verified | Host install flow, workspace bootstrap, and runtime package smoke are verified | Suitable for daily use | -| `copilot` | Bootstrap via `install.sh` | Workspace ready | Workspace bootstrap, instruction distribution, and workspace marker are verified | Trigger wiring coming next | +| `copilot` | `copilot:zh-CN` / `copilot:en-US` | Workspace ready | Workspace bootstrap, instruction distribution, and workspace marker are verified | Trigger wiring coming next | Notes: diff --git a/README.zh-CN.md b/README.zh-CN.md index 3aa0f98..4ffa214 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -93,7 +93,8 @@ python3 scripts/install_sopify.py --target claude:zh-CN --workspace /path/to/pro - `codex:en-US` - `claude:zh-CN` - `claude:en-US` -- `copilot` +- `copilot:zh-CN` +- `copilot:en-US` 协议层适用于任何宿主。当前已验证的 runtime 集成: @@ -101,7 +102,7 @@ python3 scripts/install_sopify.py --target claude:zh-CN --workspace /path/to/pro |------|-------------|--------|----------|------| | `codex` | `codex:zh-CN` / `codex:en-US` | Deep verified | 已验证宿主安装链路、workspace bootstrap,且运行时包已通过 smoke 验证 | 适合日常使用 | | `claude` | `claude:zh-CN` / `claude:en-US` | Deep verified | 已验证宿主安装链路、workspace bootstrap,且运行时包已通过 smoke 验证 | 适合日常使用 | -| `copilot` | 通过 `install.sh` bootstrap | Workspace ready | 已验证 workspace bootstrap、指令分发和 workspace marker | 触发入口即将推出 | +| `copilot` | `copilot:zh-CN` / `copilot:en-US` | Workspace ready | 已验证 workspace bootstrap、指令分发和 workspace marker | 触发入口即将推出 | 说明: diff --git a/installer/payload.py b/installer/payload.py index d9d20a9..f09dc49 100644 --- a/installer/payload.py +++ b/installer/payload.py @@ -12,7 +12,7 @@ from installer.hosts.base import HostAdapter, read_sopify_version, HEADER_TEMPLATE_NAME, render_single_file from installer.models import BootstrapResult, InstallError, InstallPhaseResult -from installer.runtime_bundle import sync_runtime_bundle +from installer.sopify_bundle import sync_runtime_bundle from installer.validate import _normalize_payload_bundle_version, resolve_payload_bundle_root, validate_payload_install from canonical_writer import iso_now diff --git a/installer/runtime_bundle.py b/installer/sopify_bundle.py similarity index 97% rename from installer/runtime_bundle.py rename to installer/sopify_bundle.py index 22016fa..395d180 100644 --- a/installer/runtime_bundle.py +++ b/installer/sopify_bundle.py @@ -12,7 +12,7 @@ DEFAULT_BUNDLE_DIRNAME = ".sopify-runtime" _DIRECTORY_ASSETS = ("runtime", "sopify_contracts", "canonical_writer") -_SCRIPT_ASSETS = ("sopify_runtime.py", "runtime_gate.py", "check-runtime-smoke.sh") +_SCRIPT_ASSETS = ("sopify_runtime.py", "runtime_gate.py", "check-bundle-smoke.sh") _COPY_IGNORE = shutil.ignore_patterns("__pycache__", "*.pyc") @@ -60,7 +60,7 @@ def sync_runtime_bundle(repo_root: Path, workspace_root: Path, *, bundle_dirname bundle_root / "runtime" / "__init__.py", bundle_root / "scripts" / "sopify_runtime.py", bundle_root / "scripts" / "runtime_gate.py", - bundle_root / "scripts" / "check-runtime-smoke.sh", + bundle_root / "scripts" / "check-bundle-smoke.sh", bundle_root / "tests" / "test_runtime.py", ) missing = [path for path in required_paths if not path.exists()] diff --git a/installer/validate.py b/installer/validate.py index 834dcdd..86149f9 100644 --- a/installer/validate.py +++ b/installer/validate.py @@ -51,7 +51,7 @@ def validate_payload_install(payload_root: Path) -> tuple[Path, ...]: def run_bundle_smoke_check(bundle_root: Path, *, payload_manifest_path: Path | None = None) -> str: """Run the vendored bundle smoke check and return its stdout.""" - smoke_script = bundle_root / "scripts" / "check-runtime-smoke.sh" + smoke_script = bundle_root / "scripts" / "check-bundle-smoke.sh" if not smoke_script.is_file(): raise InstallError(f"Missing bundle smoke script: {smoke_script}") diff --git a/scripts/check-runtime-smoke.sh b/scripts/check-bundle-smoke.sh similarity index 99% rename from scripts/check-runtime-smoke.sh rename to scripts/check-bundle-smoke.sh index 91a0c8e..da06769 100755 --- a/scripts/check-runtime-smoke.sh +++ b/scripts/check-bundle-smoke.sh @@ -5,7 +5,7 @@ BUNDLE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" usage() { cat <<'EOF' -Usage: scripts/check-runtime-smoke.sh +Usage: scripts/check-bundle-smoke.sh Run a minimal zero-config smoke test against the current Sopify runtime bundle. This script works both in the repository root and inside a vendored runtime bundle. diff --git a/scripts/release-preflight.sh b/scripts/release-preflight.sh index f95fb40..06e313e 100755 --- a/scripts/release-preflight.sh +++ b/scripts/release-preflight.sh @@ -70,6 +70,6 @@ else fi run_step "Run install/payload bootstrap smoke" python3 "$ROOT_DIR/scripts/check-install-payload-bundle-smoke.py" run_step "Run prompt runtime gate smoke" python3 "$ROOT_DIR/scripts/check-prompt-runtime-gate-smoke.py" -run_step "Run bundle runtime smoke check" bash "$ROOT_DIR/scripts/check-runtime-smoke.sh" +run_step "Run bundle runtime smoke check" bash "$ROOT_DIR/scripts/check-bundle-smoke.sh" echo "[release-preflight] All checks passed." diff --git a/tests/test_installer_validate.py b/tests/test_installer_validate.py index 70c933c..c686647 100644 --- a/tests/test_installer_validate.py +++ b/tests/test_installer_validate.py @@ -21,7 +21,7 @@ def test_smoke_uses_explicit_payload_manifest_env(self) -> None: with tempfile.TemporaryDirectory() as temp_dir: root = Path(temp_dir) bundle_root = root / "bundle" - smoke_script = bundle_root / "scripts" / "check-runtime-smoke.sh" + smoke_script = bundle_root / "scripts" / "check-bundle-smoke.sh" smoke_script.parent.mkdir(parents=True, exist_ok=True) smoke_script.write_text("#!/usr/bin/env bash\nexit 0\n", encoding="utf-8") payload_manifest = root / "payload-manifest.json" @@ -45,7 +45,7 @@ def test_smoke_uses_explicit_payload_manifest_env(self) -> None: def test_failure_details_always_include_exit_status_and_command(self) -> None: with tempfile.TemporaryDirectory() as temp_dir: bundle_root = Path(temp_dir) - smoke_script = bundle_root / "scripts" / "check-runtime-smoke.sh" + smoke_script = bundle_root / "scripts" / "check-bundle-smoke.sh" smoke_script.parent.mkdir(parents=True, exist_ok=True) smoke_script.write_text("#!/usr/bin/env bash\nexit 1\n", encoding="utf-8") @@ -70,7 +70,7 @@ def test_failure_details_always_include_exit_status_and_command(self) -> None: def test_empty_failure_details_fallback_to_xtrace_with_last_subcommand(self) -> None: with tempfile.TemporaryDirectory() as temp_dir: bundle_root = Path(temp_dir) - smoke_script = bundle_root / "scripts" / "check-runtime-smoke.sh" + smoke_script = bundle_root / "scripts" / "check-bundle-smoke.sh" smoke_script.parent.mkdir(parents=True, exist_ok=True) smoke_script.write_text("#!/usr/bin/env bash\nexit 1\n", encoding="utf-8") diff --git a/tests/test_runtime_engine.py b/tests/test_runtime_engine.py index 485bd74..a07e201 100644 --- a/tests/test_runtime_engine.py +++ b/tests/test_runtime_engine.py @@ -5,7 +5,7 @@ from dataclasses import replace -from installer.runtime_bundle import sync_runtime_bundle +from installer.sopify_bundle import sync_runtime_bundle from tests.runtime_test_support import * from runtime._planning import _advance_planning_route @@ -1865,7 +1865,7 @@ def test_synced_runtime_bundle_runs_in_another_workspace(self) -> None: self.assertTrue((bundle_root / "runtime" / "__init__.py").exists()) self.assertTrue((bundle_root / "runtime" / "gate.py").exists()) self.assertTrue((bundle_root / "runtime" / "workspace_preflight.py").exists()) - self.assertTrue((bundle_root / "scripts" / "check-runtime-smoke.sh").exists()) + self.assertTrue((bundle_root / "scripts" / "check-bundle-smoke.sh").exists()) self.assertTrue((bundle_root / "scripts" / "runtime_gate.py").exists()) self.assertFalse((bundle_root / "runtime" / "clarification_bridge.py").exists()) self.assertFalse((bundle_root / "runtime" / "cli_interactive.py").exists()) From 5d6e7c1a5484e7f75c484f5ade50ada4d8d0e2eb Mon Sep 17 00:00:00 2001 From: "sanze.li" <2522048902@qq.com> Date: Wed, 27 May 2026 17:44:04 +0800 Subject: [PATCH 2/3] =?UTF-8?q?chore:=20finalize=2020260526=5Fpre=5Flaunch?= =?UTF-8?q?=5Fhost=5Fand=5Fbundle=5Funification=20=E2=86=92=20history?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit T0-T7 全部完成,归档至 history/2026-05/: - tasks.md: 全部任务标记 done, lifecycle_state → completed - _registry.yaml: status=completed, path 指向 history - history/index.md: 新增归档条目 - blueprint/README.md: 焦点更新为暂无活动 plan --- .sopify-skills/blueprint/README.md | 6 +++--- .../background.md | 0 .../design.md | 0 .../golden-snapshots.json | 0 .../tasks.md | 17 +++++++++-------- .sopify-skills/history/index.md | 1 + .sopify-skills/plan/_registry.yaml | 8 ++++---- 7 files changed, 17 insertions(+), 15 deletions(-) rename .sopify-skills/{plan => history/2026-05}/20260526_pre_launch_host_and_bundle_unification/background.md (100%) rename .sopify-skills/{plan => history/2026-05}/20260526_pre_launch_host_and_bundle_unification/design.md (100%) rename .sopify-skills/{plan => history/2026-05}/20260526_pre_launch_host_and_bundle_unification/golden-snapshots.json (100%) rename .sopify-skills/{plan => history/2026-05}/20260526_pre_launch_host_and_bundle_unification/tasks.md (98%) diff --git a/.sopify-skills/blueprint/README.md b/.sopify-skills/blueprint/README.md index fbb7f55..5f4ac43 100644 --- a/.sopify-skills/blueprint/README.md +++ b/.sopify-skills/blueprint/README.md @@ -13,8 +13,8 @@ ## 当前焦点 -- 当前活动 plan:[推广前宿主分发与 Bundle 统一](../plan/20260526_pre_launch_host_and_bundle_unification/)(P0)。 -- history 归档:已可用;最近归档为 `../history/2026-05/20260522_runtime_slimming_kernel_extraction`。 +- 当前活动 plan:暂无。 +- history 归档:已可用;最近归档为 `../history/2026-05/20260526_pre_launch_host_and_bundle_unification`。 ## 深入阅读入口 @@ -27,5 +27,5 @@ - [Sopify 宿主接入规范 (Protocol v0)](./protocol.md) - [Skill 标准对齐蓝图](./skill-standards-refactor.md) - [变更历史](../history/index.md) -- 最近归档:`../history/2026-05/20260522_runtime_slimming_kernel_extraction` +- 最近归档:`../history/2026-05/20260526_pre_launch_host_and_bundle_unification` diff --git a/.sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification/background.md b/.sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification/background.md similarity index 100% rename from .sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification/background.md rename to .sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification/background.md diff --git a/.sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification/design.md b/.sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification/design.md similarity index 100% rename from .sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification/design.md rename to .sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification/design.md diff --git a/.sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification/golden-snapshots.json b/.sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification/golden-snapshots.json similarity index 100% rename from .sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification/golden-snapshots.json rename to .sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification/golden-snapshots.json diff --git a/.sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification/tasks.md b/.sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification/tasks.md similarity index 98% rename from .sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification/tasks.md rename to .sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification/tasks.md index c28b557..2ea597e 100644 --- a/.sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification/tasks.md +++ b/.sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification/tasks.md @@ -3,7 +3,7 @@ plan_id: "20260526_pre_launch_host_and_bundle_unification" title: "推广前宿主分发与 Bundle 统一" level: standard topic_key: pre_launch_host_and_bundle_unification -lifecycle_state: active +lifecycle_state: completed created_at: "2026-05-26T14:30:00+08:00" --- @@ -66,6 +66,7 @@ created_at: "2026-05-26T14:30:00+08:00" ## T1 | 单一事实源建立 + installer source cutover(合并原 T1+T2) + **动作**: 1. ~~从 **Codex** 树移入 `skills/en/` 和 `skills/zh/`~~ — ✅ 已存在,白名单校验通过(6 个 SKILL.md 仅脚本路径替换,其余与 Codex 等价) @@ -83,7 +84,7 @@ created_at: "2026-05-26T14:30:00+08:00" - 渲染脚本 `render-host-skills.py` 输出的 claude/codex header 与 golden snapshot 内容等价 - skill 文件内部不再引用旧宿主目录路径 -**状态**:pending +**状态**:done --- @@ -103,7 +104,7 @@ created_at: "2026-05-26T14:30:00+08:00" - `install.sh --target copilot` 走统一主链路 - 渲染产物与 golden snapshot 中 copilot:zh-CN 基线内容等价;copilot:en-US 无旧基线(hash == null),只验证新产物存在、可安装、由 `skills/en/` 渲染且通过 smoke -**状态**:pending +**状态**:done --- @@ -137,7 +138,7 @@ created_at: "2026-05-26T14:30:00+08:00" - `installer/resources/copilot/` 目录已删除 - 全量测试通过 -**状态**:pending +**状态**:done --- @@ -161,7 +162,7 @@ created_at: "2026-05-26T14:30:00+08:00" - `runtime_bundle` / `runtime-smoke` 作为文件名和对外接口名不再存在 - CI + 全量测试通过 -**状态**:pending +**状态**:done --- @@ -176,7 +177,7 @@ created_at: "2026-05-26T14:30:00+08:00" - 社区用户按指南可独立完成新宿主接入 - 文档中不再引用 `Claude/`、`Codex/`、`Copilot/` 目录 -**状态**:pending +**状态**:done --- @@ -199,7 +200,7 @@ created_at: "2026-05-26T14:30:00+08:00" - smoke 脚本全通过 - 全量测试通过 -**状态**:pending +**状态**:done --- @@ -233,7 +234,7 @@ created_at: "2026-05-26T14:30:00+08:00" - 旧同步脚本不再引用已删目录 - CI + 全量测试通过 -**状态**:pending +**状态**:done --- diff --git a/.sopify-skills/history/index.md b/.sopify-skills/history/index.md index c720fac..92623e0 100644 --- a/.sopify-skills/history/index.md +++ b/.sopify-skills/history/index.md @@ -4,6 +4,7 @@ ## 索引 +- `2026-05-27` [`20260526_pre_launch_host_and_bundle_unification`](2026-05/20260526_pre_launch_host_and_bundle_unification/) - standard - 推广前宿主分发与 Bundle 统一: 4 套宿主语言内容→2 套语言源 + 安装时 host 渲染,Copilot 纳入统一 registry,runtime_bundle→sopify_bundle 命名收口,三宿主双语言端到端验证通过(6 条安装路径 + 8 项 golden snapshot 全绿),旧宿主目录删除 - `2026-05-26` [`20260522_runtime_slimming_kernel_extraction`](2026-05/20260522_runtime_slimming_kernel_extraction/) - standard - 任务清单: Runtime Slimming — Orchestration Kernel Extraction - `2026-05-22` [`20260522_p7_payload_only_onboarding_mainline`](2026-05/20260522_p7_payload_only_onboarding_mainline/) - standard - P7 Payload-Only Onboarding Mainline: 外部仓库一键初始化(sopify_init.py + bootstrap.sh),Copilot 指令分发(managed block + owned file),统一 workspace marker(sopify.json),README/docs/example 文档收口,ANSI Shadow ASCII art logo - `2026-05-20` [`20260520_p5_contract_surface_shrinkage`](2026-05/20260520_p5_contract_surface_shrinkage/) - standard - P5 Contract Surface Shrinkage: 58 sub-surface 裁定(10 cross-tier / 1 candidate-kernel / 46 deep-only / 1 deleted),Shadow Writer Gap Analysis 结论 B(candidate-kernel 680→210 LOC = StateStore only),Runtime 退场路线写入蓝图(三层分离 + 激进版:无用户零迁移),write_runtime_handoff 死代码删除 8 LOC diff --git a/.sopify-skills/plan/_registry.yaml b/.sopify-skills/plan/_registry.yaml index d2b2fb4..7856c92 100644 --- a/.sopify-skills/plan/_registry.yaml +++ b/.sopify-skills/plan/_registry.yaml @@ -29,18 +29,18 @@ plans: updated_at: "2026-05-05T11:12:58+00:00" - plan_id: "20260526_pre_launch_host_and_bundle_unification" snapshot: - path: ".sopify-skills/plan/20260526_pre_launch_host_and_bundle_unification" + path: ".sopify-skills/history/2026-05/20260526_pre_launch_host_and_bundle_unification" title: "推广前宿主分发与 Bundle 统一" level: "standard" topic_key: "pre_launch_host_and_bundle_unification" - lifecycle_state: "active" + lifecycle_state: "completed" created_at: "2026-05-26T14:30:00+08:00" governance: priority: "p0" priority_source: "explicit" priority_confirmed_at: "2026-05-26T14:30:00+08:00" - status: "active" - note: "推广前必做,当前最高优先级" + status: "completed" + note: "T0-T7 全部完成,2026-05-27 归档" advice: suggested_priority: "p0" suggested_source: "explicit" From 367d5af6a8135f3d6c4354047915dba16353b473 Mon Sep 17 00:00:00 2001 From: "sanze.li" <2522048902@qq.com> Date: Wed, 27 May 2026 17:49:43 +0800 Subject: [PATCH 3/3] docs: consolidate 5 CHANGELOG entries for 2026-05-27 into one --- CHANGELOG.md | 56 ++++++---------------------------------------------- 1 file changed, 6 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 983e722..628c2ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,66 +10,22 @@ Format: Summary → Changed → Plan Packages. File-level details live in `git l ### Summary +- Host bundle unification closeout: `runtime_bundle` → `sopify_bundle` rename, plan `20260526_pre_launch_host_and_bundle_unification` finalized and archived. - Changes across: Docs, Runtime, Scripts, Skills, Tests, Changed. ### Changed - **Docs**: Refined public documentation (5 files) - **Runtime**: Updated runtime internals (2 files) -- **Scripts**: Adjusted maintenance scripts (5 files) +- **Scripts**: Adjusted maintenance scripts (5 files) — `check-runtime-smoke` → `check-bundle-smoke` rename - **Skills**: Synced prompt-layer skills (92 files) -- **Tests**: Updated automated coverage (3 files) -- **Changed**: Updated project files (4 files) - -## [2026-05-27.160548] - 2026-05-27 - -### Summary - -- Changes across: Docs, Runtime, Scripts, Skills, Tests, Changed. - -### Changed - -- **Docs**: Refined public documentation (5 files) -- **Runtime**: Updated runtime internals (2 files) -- **Scripts**: Adjusted maintenance scripts (5 files) -- **Skills**: Synced prompt-layer skills (92 files) -- **Tests**: Updated automated coverage (2 files) -- **Changed**: Updated project files (2 files) - -## [2026-05-27.132948] - 2026-05-27 - -### Summary - -- Changes across: Changed. - -### Changed - -- **Changed**: Updated project files (1 files) - -## [2026-05-27.111148] - 2026-05-27 - -### Summary - -- Changes across: Scripts, Tests, Changed. - -### Changed - -- **Scripts**: Adjusted maintenance scripts (2 files) -- **Tests**: Updated automated coverage (1 files) -- **Changed**: Updated project files (6 files) - -## [2026-05-27.094217] - 2026-05-27 - -### Summary - -- Changes across: Scripts, Tests, Changed. - -### Changed - -- **Scripts**: Adjusted maintenance scripts (2 files) - **Tests**: Updated automated coverage (4 files) - **Changed**: Updated project files (10 files) +### Plan Packages + +- `20260526_pre_launch_host_and_bundle_unification` (completed → archived) + ## [2026-05-26.221112] - 2026-05-26 ### Summary