All notable changes to Sopify are documented in this file.
Format: Summary → Changed → Plan Packages. File-level details live in git log.
Extended the existing Cursor user-scope installation so one install covers the IDE and local Agent CLI.
- Cursor Agent CLI: Added bilingual top-level Skills for plan, development, resume, and closeout requests. The CLI selects the entry when relevant, reads the installed Plugin Rule, and keeps IDE/CLI behavior evidence separate.
- Cursor installation: The existing
cursor:<language>target now installs and verifies the CLI entry, replaces stale local copies on reinstall, and keeps settings, proxy, model, account, and Cloud Agent out of scope.
20260828_cursor_agent_cli_entry→ archived after PR #73 merge and independent Cursor release-gate approval; stable release follows this entry.
Added baseline support for local Cursor IDE without per-project Sopify setup.
- Cursor host: Added a user Plugin entry, global Skills/payload, user Hooks, and matching GitHub Pages content. Local IDE evidence covers routing, planning, writer writes, and direct-write rejection. Agent CLI automatic entry and Cloud Agent remain outside scope.
20260819_cursor_support→ release candidate; explicit archive remains a later~go finalizeaction
Added optional EvidentLoop installation and made Sopify's bilingual workflow, repository handoff, and public product surface easier to understand.
- Optional audit companion: Added explicit
--with-evidentloopinstallation with host-native Skill paths, prerequisite checks, healthy-component reuse, and clear partial-success recovery. - Workflow contracts: Clarified the responsibilities and handoffs of Analyze, Design, Develop, KB, and Templates while keeping consultation read-only and archival explicit.
- Public product surface: Added responsive English and Chinese product pages, refreshed workflow and architecture visuals, and documented the optional companion and Python 3.11 requirement.
- Protocol and verification: Tightened plan-package, writer, distribution, and host-consumption contracts with targeted scenarios and full regression coverage.
20260718_evidentloop_optional_audit_integration→ archived tohistory/2026-07/20260720_plain_language_output→ release candidate; archive follows verified publication
Made managed-plan entry intent-first: existing work resumes only when the user explicitly asks to continue or uses ~go, while ordinary questions and small fixes stay on the current request.
- Protocol entry: Added finite state facts and prompt rules for stale pointers, checkpoint answers, valid plan switches, and three parallel-progress signals without new state, locks, or automatic repair.
- Receipt safety: Made plan receipt creation atomic and non-overwriting, with concurrent regression coverage.
- Docs and evidence: Aligned bilingual public docs, recorded bounded Codex and Claude host evidence, and archived the independently reviewed plan package.
20260717_sopify_entry_preflight→ archived tohistory/2026-07/
Added a repo-local, Codex-first MCP registration pilot with dry-run/apply safeguards and real stdio verification. Codex is the first validation target; other supported hosts remain future evidence work rather than being classified as incapable.
- MCP registration: Added
scripts/sopify_mcp_register.py, delegating user config changes to officialcodex mcp get/addcommands and failing closed on conflicts, disabled servers, unsupported MCP SDK versions, and executable startup errors. - Tests: Covered absent, no-op, disabled/conflicting config, apply verification, missing dependency, unsupported SDK versions, and invalid executable paths.
- Docs: Documented the maintainer-only pilot boundary and deferred dependency packaging, doctor integration, and multi-host automation until further host evidence exists.
20260626_mcp_tool_plane_pilot→ archived tohistory/2026-07/
- Changes across: Docs, Scripts, Tests, Changed.
- Docs: Refined public documentation (4 files)
- Scripts: Adjusted maintenance scripts (2 files)
- Tests: Updated automated coverage (2 files)
- Changed: Updated project files (15 files)
Public surface refresh + W0 version model hardening: README rewrite with new hero tagline ("Resumable AI coding — ask first, plans stay with the repo"), bilingual scene illustrations, product-form diagrams, architecture SVG update, installer fail-loud version handling, 4-state status/doctor classifier, and protocol check continuation semantics fix.
- README: New hero tagline (EN/CN), "how it works" body paragraph (managed workflow scoping, git-tracked plans/receipts vs local resume pointers), host compatibility badges (Codex / Claude / Qoder / Copilot),
for-the-badgestyle for all shields. - Illustrations: 3 bilingual scene images (ask / cross-host / decision), 2 product-form release SVGs (EN/CN), architecture SVG regenerated.
- Installer (W0): Fail-loud version handling — 3 silent
0.0.0-devfallbacks replaced withInstallError; 4-state inspection classifier (up_to_date/pinned_old_but_healthy/stale/broken) with status/doctor rendering; bootstrap workspace stale-pin diagnostics. - Protocol check: Continuation semantics fix for handoff pointer handling.
- Docs: Release process preflight updated; getting-started bundle_version example aligned to version model.
- Blueprint: Status L2 active; focus updated to "版本模型闭环 + 公共展示面刷新".
- Codex / Claude / Qoder: PROTOCOL_VERIFIED
- Copilot: BASELINE_SUPPORTED (verification planned for W1a)
P8 Protocol Kernel & Runtime Retirement: deleted runtime (~15.6K LOC), renamed canonical root to .sopify, simplified state to 2 files, onboarded Qoder as PROTOCOL_VERIFIED host, aligned all docs to "development process protocol layer" positioning.
- Runtime deleted: Removed
runtime/directory (46 files / ~15.6K LOC). Protocol kernel (sopify_writer+sopify_contracts+protocol.md) is now the sole truth source. - Canonical root: Renamed
.sopify-skills→.sopifyacross all layers (~481 replacements). Removedplan.directoryconfigurable root. - State model: Simplified from 6 state files + sessions/ to 2 files (
active_plan.json+current_handoff.json). Both gitignored. - Host support: Added Qoder as
PROTOCOL_VERIFIEDhost (home-scope hybrid, bare--target qoder). RenamedDEEP_VERIFIED→PROTOCOL_VERIFIEDfor Codex/Claude. - Product positioning: Established "development process protocol layer" (开发过程协议层) with 4-layer model: 用户层/产品层/能力层/架构层.
- Blueprint: Full narrative sync — ADR-013/017 updated, host capability governance rewritten, Runtime 五层架构 marked RETIRED, Validator → protocol admission.
- Docs: README pair rewritten; architecture SVG regenerated; how-sopify-works fully updated to post-P8 model.
- Authorization: EAR/gate_receipt retired. Audit chain now uses
plan/<id>/receipts/*.json+history/<id>/receipt.md. - Workspace marker:
sopify.jsonupdated — removedruntime_gatecapability,workspace_kindset toexternal.
20260605_p8_protocol_kernel_runtime_retirement→ archived tohistory/2026-06/
Pre-launch consolidation: README rewrite, SVG diagrams, CI golden snapshot auto-fix, output contract upgrade.
- Docs: Complete README pair rewrite for pre-launch (PR #50); JPG → SVG/PNG diagram migration, image compression (PR #51)
- CI: Extract golden snapshot regeneration script + auto-stage in pre-commit hook (PR #53)
- Output Contract: Add density gradient, symbol discipline, desensitization self-check (PR #54)
- Tests: Update golden snapshot markers, add regeneration script to fixtures (PR #51, #53, #54)
- Changes across: Docs, Tests, Changed.
- Docs: Refined public documentation (4 files)
- Tests: Updated automated coverage (1 files)
- Changed: Updated project files (14 files)
Sopify 解决的问题只有一条:AI 会忘,任务不能因为一次对话结束就丢失进度。
v1.0 包含的能力:
- 可恢复工作流:任务在任意时间点中断,下次会话从 project state 恢复,无需重新解释背景
- 三段式结构化流程:需求分析 → 方案设计 → 开发实施,每段均可单独触发或跳过
- Checkpoint 暂停机制:事实缺失时 AI 停下追问,遇到分叉决策时等待用户确认,不猜测推进
- 持久知识库:项目约定、长期偏好、方案包跨会话保留在
.sopify/,git-tracked - 三宿主支持:Copilot、Codex、Claude(ZH/EN 双语),单行命令安装,无侵入性
- 输出契约:所有阶段输出遵循统一格式(状态符、验证摘要、Changes、Next),AI 不自行发明格式
- 一行命令启动:
~go自动检测活动 plan 并恢复执行,无需记住上次做到哪步
当前状态: 656 测试全绿,推广阻断项清零。
- Changes across: Scripts, Tests.
- Scripts: Adjusted maintenance scripts (1 files)
- Tests: Updated automated coverage (1 files)
- Updated 1 active plan package(s); Changes across: Docs, Changed.
- Docs: Refined public documentation (2 files)
- Changed: Updated project files (6 files)
20260529_pre_launch_consolidation(active)
~go exec命令移除,~go自动检测活动 plan 并恢复执行- 预发布安全清理:.gitignore 补全、本地配置取消追踪、残留 pattern 清除
- Runtime:
~go exec全仓移除;bare~go自动路由exec_plan;~go finalize显式路由archive_lifecycle;旧命令输入返回 migration hint - Security:
.gitignore补全敏感路径;.claude/settings.local.json取消追踪;bootstrap_workspace.py移除~summary残留 regex - Docs: README / header templates / blueprint protocol 命令表对齐
- Tests: 658 tests 全过,新增
~go execmigration hint 测试
- Stale stub diagnostics: enriched error messages when workspace stub version mismatches installed bundle
- Removed
reason_codefrom user-facing develop output templates (internal-only field) - Output contract enforcement for all skill stages (PR #48)
- Added renderer scope audit backlog item
- Installer:
_stale_stub_diagnostic()helper inbootstrap_workspace.py; enriched_workspace_bundle_recommendationininspection.py; neutral hint ingate_output.py - Skills: Removed
reason_codecolumn from 6 develop output templates (ZH+EN); added human-readable 说明/Note column to partial templates; updatedoutput-contract.mdanddevelop-rules.md - Tests: 2 new unit tests for stale stub diagnostic; updated golden snapshot hashes
20260528_output_contract_enforcement(completed)
- Host bundle unification closeout:
runtime_bundle→sopify_bundlerename, Copilot 纳入统一 registry. - Skill writing quality convergence: shared writing DNA (6 rules ZH+EN), output template v2 with verification tables, render pipeline fix for top-level
references/inline. - Changes across: Installer, Skills, Tests, Plan Governance.
- Installer:
render_single_file()now inlines top-levelreferences/directory (+8 lines) - Skills: Shared writing DNA + 3 SKILL.md philosophy lines + 4 output templates rewritten with verification summary tables, reason_code, review evidence, status symbol constraint (ZH+EN, 22 files)
- Scripts:
check-runtime-smoke→check-bundle-smokerename, script cleanup - Tests: Golden snapshot hashes updated (8/8 passing)
- Docs: Public documentation and README refinements
20260526_pre_launch_host_and_bundle_unification(completed → archived)20260527_skill_writing_quality(completed → archived)
- Updated 1 active plan package(s); Changes across: Scripts, Changed.
- Scripts: Adjusted maintenance scripts (1 files)
- Changed: Updated project files (52 files)
20260526_pre_launch_host_and_bundle_unification(active)
- Updated 1 active plan package(s); Changes across: Docs, Runtime, Scripts, Skills, Tests, Changed.
- Runtime slimming closeout:
_kernel_turn.py→_orchestration.pyrename, kernel turn direct tests, smoke contract stabilization, docs + archive.
- Docs: Refined public documentation (2 files)
- Runtime: Updated runtime internals — module rename + docstring polish + plan/ package split (15 files)
- Scripts: Adjusted maintenance scripts (2 files)
- Skills: Synced prompt-layer skills (4 files)
- Tests: Updated automated coverage — 5 kernel turn contract tests + rename alignment (6 files)
- Changed: Updated project files (1 files)
20260522_runtime_slimming_kernel_extraction(active)
- Changes across: Runtime, Tests.
- Runtime: Updated runtime internals (5 files)
- Tests: Updated automated coverage (5 files)
- Changes across: Scripts.
- Scripts: Adjusted maintenance scripts (1 files)
- Updated 1 active plan package(s); Changes across: Docs, Runtime, Skills, Tests.
- Docs: Refined public documentation (2 files)
- Runtime: Updated runtime internals (5 files)
- Skills: Synced prompt-layer skills (4 files)
- Tests: Updated automated coverage (2 files)
20260522_runtime_slimming_kernel_extraction(active)
- Updated 1 active plan package(s); Changes across: Runtime, Tests.
- Runtime: Updated runtime internals (5 files)
- Tests: Updated automated coverage (2 files)
20260522_runtime_slimming_kernel_extraction(active)
- Updated 1 active plan package(s); Changes across: Docs, Runtime, Skills, Tests, Changed.
- Docs: Refined public documentation (2 files)
- Runtime: Updated runtime internals (21 files)
- Skills: Synced prompt-layer skills (4 files)
- Tests: Updated automated coverage (1 files)
- Changed: Updated project files (1 files)
20260520_p6_canonical_writer_cutover(active)
- Updated 1 active plan package(s); Changes across: Runtime, Tests, Changed.
- Runtime: Updated runtime internals (21 files)
- Tests: Updated automated coverage (1 files)
- Changed: Updated project files (1 files)
20260520_p6_canonical_writer_cutover(active)
- Updated 1 active plan package(s); Changes across: Scripts, Tests, Changed.
- Scripts: Adjusted maintenance scripts (2 files)
- Tests: Updated automated coverage (3 files)
- Changed: Updated project files (2 files)
20260520_p6_canonical_writer_cutover(active)
- Updated 1 active plan package(s); Changes across: Docs, Runtime, Scripts, Skills, Tests, Changed.
- Docs: Refined public documentation (2 files)
- Runtime: Updated runtime internals (4 files)
- Scripts: Adjusted maintenance scripts (2 files)
- Skills: Synced prompt-layer skills (4 files)
- Tests: Updated automated coverage (2 files)
- Changed: Updated project files (10 files)
20260520_p6_canonical_writer_cutover(active)
- Updated 1 active plan package(s); Changes across: Runtime, Scripts, Tests, Changed.
- Runtime: Updated runtime internals (4 files)
- Scripts: Adjusted maintenance scripts (2 files)
- Tests: Updated automated coverage (2 files)
- Changed: Updated project files (10 files)
20260520_p6_canonical_writer_cutover(active)
- Updated 1 active plan package(s); Changes across: Runtime, Scripts, Tests, Changed.
- Runtime: Updated runtime internals (7 files)
- Scripts: Adjusted maintenance scripts (2 files)
- Tests: Updated automated coverage (4 files)
- Changed: Updated project files (10 files)
20260520_p6_canonical_writer_cutover(active)
- Archived 1 plan package(s); Changes across: Docs, Runtime, Skills, Tests.
- Docs: Refined public documentation (2 files)
- Runtime: Updated runtime internals (1 files)
- Skills: Synced prompt-layer skills (4 files)
- Tests: Updated automated coverage (4 files)
20260520_p5_contract_surface_shrinkage(archived)
- Archived 1 plan package(s); Changes across: Docs, Runtime, Skills.
- Docs: Refined public documentation (2 files)
- Runtime: Updated runtime internals (1 files)
- Skills: Synced prompt-layer skills (4 files)
20260520_p5_contract_surface_shrinkage(archived)
- Archived 1 plan package(s); Changes across: Runtime.
- Runtime: Updated runtime internals (1 files)
20260520_p5_contract_surface_shrinkage(archived)
- Updated 1 active plan package(s); Changes across: Docs, Scripts, Skills, Changed.
- Docs: Refined public documentation (4 files)
- Scripts: Adjusted maintenance scripts (1 files)
- Skills: Synced prompt-layer skills (4 files)
- Changed: Updated project files (12 files)
- Changes across: Docs, Changed.
- Docs: Refined public documentation (1 files)
- Changed: Updated project files (1 files)
- Updated 1 active plan package(s); Changes across: Docs, Scripts, Changed.
- Docs: Refined public documentation (4 files)
- Scripts: Adjusted maintenance scripts (1 files)
- Changed: Updated project files (12 files)
- Changes across: Runtime, Tests, Changed.
- Runtime: Updated runtime internals (2 files)
- Tests: Updated automated coverage (3 files)
- Changed: Updated project files (1 files)
- P4c Host Consumption Governance delivered: host-facing prompt/runtime surfaces now consume canonical protocol facts instead of exposing route taxonomy, blueprint concepts, or internal helper details.
- Changes across: Docs, Runtime, Scripts, Skills, Tests.
- Docs: Added protocol §8 as the host-consumption authority and refreshed blueprint/history bookkeeping.
- Runtime: Converged output, gate status fallback, Next hints, and status/doctor text around handoff/protocol facts.
- Scripts: Added enhancement declaration validation for host capability metadata.
- Skills: Reduced Codex/Claude prompt assets to protocol references and user-facing workflow semantics.
- Tests: Added rendering/status/doctor coverage for de-taxonomy and host-facing labels.
20260510_p4c_host_consumption_governance(archived)
- Archived 1 plan package(s); Changes across: Docs, Runtime, Skills.
- Docs: Refined public documentation (2 files)
- Runtime: Updated runtime internals (2 files)
- Skills: Synced prompt-layer skills (4 files)
20260509_p4b_runtime_surface_consolidation(archived)
- Archived 1 plan package(s); Changes across: Runtime.
- Runtime: Updated runtime internals (2 files)
20260509_p4b_runtime_surface_consolidation(archived)
- Updated 1 active plan package(s); Changes across: Scripts, Changed.
- Scripts: Adjusted maintenance scripts (1 files)
- Changed: Updated project files (1 files)
20260509_p4b_runtime_surface_consolidation(active)
- Archived 1 plan package(s); Changes across: Skills, Tests.
- Skills: Synced prompt-layer skills (12 files)
- Tests: Updated automated coverage (1 files)
20260508_p3b_perimeter_cleanup(archived)
P3a Contract-Aligned Surface Cleanup delivered in full. Execution routing convergence, cancel_scope fix, knowledge_sync audit trail, dead path cleanup (-88 LOC), blueprint milestone compression + P4b split-out.
- Execution routing convergence: authorized ActionProposal → deterministic route derive (
_derive_route_from_authorized_proposal); Router.classify demoted to bare-text legacy fallback - cancel_scope fix: cancel_flow inlined in derive path, fixing default-to-global-cleanup bug when artifacts list is empty
- knowledge_sync audit trail:
knowledge_sync_resultthreaded through full archive pipeline (success / blocked / archive_target_conflict) - Dead code removal: removed 6 unreferenced private functions + 1 orphan constant (-88 LOC)
- Test coverage: +17 routing convergence tests, +2 archive knowledge_sync tests, classify exclusion + checkpoint split coverage filled
- Blueprint restructure: P0–P3a compressed to one-line summaries; runtime weight reduction split out as P4b (runtime_surface_consolidation)
20260507_p3a_contract_aligned_surface_cleanup(archived)
The 102 auto-generated entries below (2026-01-15 to 2026-05-07) have been compressed into phase summaries. Full file-level detail is preserved in git log.
25 releases. Contract-aligned surface cleanup development:
- Execution routing → ActionProposal-based derive pipeline
- cancel_scope hardening and fail-close contract enforcement
- knowledge_sync audit trail through archive lifecycle
- Deterministic guard, signal priority, failure recovery tables
- Fail-close contract fixture + eval entries
- Plan:
20260507_p3a_contract_aligned_surface_cleanup
8 releases. Action intent and proposal authorization:
- ActionIntent model + gate integration
- Action proposal / rejection / authorization flow
- Direct-edit runtime guard with entry_guard_reason_code
- Plan:
20260506_p2_local_action_contracts
6 releases. Checkpoint-gated plan writes and rejection surface:
- Plan materialization auth (checkpoint-gated plan writes)
- Reject surface (proposal_rejected route + host action)
- Advance slices (multi-slice plan orchestration)
- Plans:
20260506_p15_authorization_contract_spec,20260506_p15_reject_surface,20260505_p15_plan_materialization_auth,20260505_p15_advance_slices
42 releases. Core runtime construction:
- Engine, router, gate, handoff, output pipeline
- Checkpoint system (clarification + decision)
- Develop callback + quality loop
- Skill resolver + builtin catalog + runtime skill execution
- KB bootstrap + blueprint scaffold
- Plan registry + plan scaffold + archive lifecycle
- State store (session-scoped review isolation)
- Bundle manifest + install/payload bootstrap
- Convention smoke test (
20260501_convention_smoke) - Prompt-layer skills (Codex/Claude CN/EN)
- Skill sync scripts (
sync-skills.sh,check-skills-sync.sh) - Sub-skill
workflow-learningfor replay/review (sunset in P3b) - User preference layer (
preferences.md,feedback.jsonl) - Config:
workflow.learning.auto_capture(sunset in P3b) - Title color behavior, branding semantics clarification
- Initial version (ruleset and skill structure).