格式遵循 Keep a Changelog。
2.9.12 — 2026-04-02
新增
- Copilot 部署适配器 —
pactkit-copilot适配器包通过 entry_points 注册。pactkit update --format copilot部署 skills、commands、agents 和copilot-instructions.md到.github/。 - OCP 规则头分发 —
_build_command_rules_header()基于profile.rules_import_style分发,不再硬编码 profile 名称。 - 多栈自动检测 —
pactkit init自动检测多栈并写入stack: [python, typescript]列表语法。 - 两层模块图 —
visualize --mode module生成维度子图。 - Prompt 模板同步 — 所有部署格式统一使用规范 prompt 模板渲染。
修复
- OpenCode
rules_import_style— 从"instructions"改为"inline",匹配实际行为。
2.9.11 — 2026-04-01
修复
- Rules 模板变量 —
_deploy_rules()现通过_render_prompt()渲染{PROJECT_CONFIG_DIR}等模板变量。此前 Codex/OpenCode 部署的 rules 包含原始模板字符串。 - Copilot Agent YAML 损坏 — Agent
tools:字段被逐字符迭代([R, e, a, d, ...]→[Read, Write, ...])。 - Copilot 重复注解 —
(terminal only) (terminal only)修复为单次注解。 - Skill CLI 引用 — 所有 SKILL.md 文件现经过
_replace_slash_commands()处理。
2.9.10 — 2026-04-01
修复
- Skill 脚本
__future__导入 —load_script()现将from __future__ import annotations提升到_SHARED_HEADER之前,修复部署的spec_linter.pySyntaxError。 - Lessons 表格自动修复 —
append_lesson()追加前调用_repair_table_structure(),修复:缺失表头、错误表头格式、数据行在表头之前。
2.9.9 — 2026-04-01
新增
- GitHub Copilot 适配器支持 — 新增
copilotFormatProfile。pactkit init --format copilot部署到项目.github/目录。 - 动态
--formatCLI 选项 —init、update、upgrade命令从VALID_FORMATS动态派生选项,无需硬编码。
修复
- 排除命令引用清理 —
strip_excluded_command_references()清理所有渲染 prompt 中被排除格式的/project-sprint引用。
2.9.4 — 2026-03-31
修复
- Init playbook DIP 违规 — 消除
DETECTED_ENV运行时 IDE 检测;所有硬编码路径替换为模板变量。 - 全量 DIP 审计 — 修复 doctor skill、core-protocol 规则和 done 命令中的硬编码 IDE 路径。
- tree-sitter 升级为核心依赖 — 不再可选;CI 安装已更新。
--focus扫描优化 —_scan_files现仅扫描聚焦子目录,不再扫描整个项目根目录。- SCAN_EXCLUDES 扩展 — 从 13 扩展到 30+ 条目,覆盖 Go、Java、Node、IDE 和 VCS 目录。
2.9.3 — 2026-03-31
新增
- 多语言调用链修复(STORY-slim-069)— dispatch hint 注释解析(
pactkit-trace: dispatches_to)和继承边链接从 Python 扩展到 Go(struct embedding)、Java(extends/implements)、TypeScript(class extends)的 tree-sitter 分析器。 - CLI 可视化参数暴露(HOTFIX-slim-070)—
--entry、--focus、--reverse、--depth、--max-nodes现可通过pactkit visualizeCLI 访问。
修复
- 4 类调用链断链(STORY-slim-068)— dict.update 扫描冲突、动态分发提示、抽象方法孤立节点、跨包 stub 边。
- 嵌套子图 call graph(STORY-slim-067)— 支持 fan-in/fan-out 分析和子图分组。
- 边去重 + 环修复(HOTFIX-slim-069)— 重复边使用 ×N 标签,消除假阳性环检测。
2.9.2 — 2026-03-30
修复
- FormatProfile.excluded_commands — OpenCode/Codex 排除
project-sprint(需要子代理团队,仅 Claude Code 支持)。Doctorcheck_config_drift现尊重格式级排除。 - 冗余 pactkit.yaml 组件列表 — 移除
.opencode/pactkit.yaml中的显式 agents/commands/skills/rules 列表(缺省 = 部署全部)。 - 孤立 Spec 清理 — 移除 7 个已归档的旧前缀 Spec 文件。
2.9.1 — 2026-03-30
新增
- 拓扑感知追踪 — ApiCallParser(tree-sitter-typescript)和 AgentParser(LangGraph/YAML/MCP)实现多拓扑代码追踪。Plan/Act 阶段新增拓扑门禁。
修复
- Monorepo 子目录检测 — TopologyParser.detect() 现扫描直接子目录,修复 monorepo 布局的误判。
- Doctor 误报漂移警告 —
check_config_drift()现搜索全局部署目录,而非仅项目本地路径。 - 规范 lessons.md 表头 — Init 强制
| Date | Lesson | Context |表头,防止 AI 自创列名。
2.9.0 — 2026-03-28
新增
pactkit init默认部署所有 IDE 配置 — CLI 默认--format all,一次性部署 Claude Code + OpenCode + Codex 配置,无需逐个指定--format。
修复
- 入口点部署器循环导入 — 延迟加载 entry_point 部署器,修复 pipx 环境下
pactkit init的ValueError。
2.8.0 — 2026-03-27
新增
- 3-IDE 默认安装 —
pip install pactkit现在自动安装所有三个 IDE 适配器(Claude Code + OpenCode + Codex)。
修复
- OpenCode 命令架构 — 将 OpenCode 从纯 skills 模式恢复为
commands/+skills/双重架构。OpenCode 从commands/*.md自动发现命令,而skills/中的嵌入式技能由 AI 代理按需加载。 - Spec 版本混淆 —
/project-plan不再从pactkit.yaml(工具版本)读取版本号。现在明确从项目清单(pyproject.toml、package.json)读取。
变更
- 跨 IDE 命令架构:
- Claude Code:纯 skills(
skills/project-*/SKILL.md),前缀/ - OpenCode:commands + skills(
commands/project-*.md+skills/pactkit-*/SKILL.md),前缀/ - Codex:纯 skills(
skills/project-*/SKILL.md),前缀$
- Claude Code:纯 skills(
2.7.0 — 2026-03-27
新增
- Commands → Skills 迁移(STORY-slim-063)— 11 个 PDCA 命令现以
skills/{name}/SKILL.md子目录格式部署(Claude Code 格式)。VALID_SKILLS从 10 扩展至 21 项。 - 旧版命令清理 — 升级时自动移除
commands/中的旧版project-*.md文件。 - Codex FormatProfile(STORY-slim-060)— 在核心中重新添加
codexprofile 以支持薄适配器模式。pactkit-codex首次发布至 PyPI。 - 3 包协调发布 — 首次同时发布
pactkit、pactkit-opencode和pactkit-codex。
修复
- board.py update_task(HOTFIX-slim-061)— 现可识别项目符号格式的 Done 区域条目。
- visualize --lazy focus(HOTFIX-slim-062)— 移除硬编码的 focus 刷新;新增文件名匹配。
变更
- 统一部署摘要显示
Skills (embedded + commands)计数。 - 跨格式隔离:Skills 迁移不影响 OpenCode 和 Codex。
2.6.0 — 2026-03-26
新增
- DeployerProtocol & DeployerBase(STORY-slim-057)— 提取 deployer 接口和共享基类,采用注册表模式实现基于适配器的插件架构。
- pactkit-opencode 适配器包(STORY-slim-058)— 将所有 8 个 OpenCode 专属函数提取为独立包,通过 entry_points 自动注册。
- 入口点自动发现 — 导入时扫描
pactkit.deployers入口点组,实现零配置适配器注册。
移除
- Codex Profile(STORY-slim-059)— 移除废弃的 codex FormatProfile 及所有引用。VALID_FORMATS 通过 FORMAT_PROFILES.keys() 自动收缩。
- 核心中的 OpenCode 函数 — 8 个函数(约 300 行)迁移至 pactkit-opencode 适配器。deployer.py 体积减少 17%。
变更
- deploy() 通过注册表分发,替代 if/elif 链。新格式只需调用 register_deployer()。
2.5.0 — 2026-03-26
新增
- E2E CLI 覆盖率 100% — 60 个基于子进程的 E2E 测试,覆盖全部 25 个 CLI 子命令
python -m pactkit— 包支持模块调用方式作为替代入口
修复
- Mermaid 引号注入 — 文件/函数名包含
"不再破坏.mmd图表渲染 - O(N×E) 被调用者解析 —
_resolve_callee()使用预建后缀索引实现 O(1) 查找 - 模块索引冲突 — 不同目录下同名文件不再导致节点静默丢失
- Focus 子串误匹配 —
--focus auth.py不再匹配oauth.py - BFS O(N²) Pop — 所有 BFS 位置改用
deque.popleft()替代list.pop(0) - 非原子写入 —
pactkit.yaml、.mmd文件和atomic_write()均使用 tmp+rename 模式 - Deployer 编码 — 3 处裸
read_text()调用指定encoding='utf-8' - 大文件 OOM —
MAX_FILE_BYTES=1MB防护避免自动生成的超大文件导致 OOM - Sprint 冗余操作 — 消除重复的 visualize/clean/context 运行
2.4.1 — 2026-03-26
修复
- CI 模板覆盖 —
pactkit update不再覆盖pactkit.yaml中自定义的ci.install_cmd - Board ID 验证 — 现支持开发者前缀 ID(
HOTFIX-slim-052、STORY-alice-001)
新增
- Board
move_story命令 — 通过 CLI 在看板分区间移动 Story - PyPI 自动发布 — Tag 触发 CI 通过可信发布者(OIDC)自动发布到 PyPI
变更
- 闭源迁移 — 源码仓库转为私有;公共入口移至 pactkit-public
2.4.0 — 2026-03-25
新增
- 多架构拓扑分析 —
pactkit visualize现在理解代码结构之外的 3 种项目拓扑:- PDCA 拓扑 — 工作流图中的 Plan→Act→Check→Done 序列边
- 服务拓扑 — 解析
docker-compose.yml、openapi.yaml、*.proto生成服务依赖图 - 前端拓扑 — 解析 Next.js(App/Pages Router)、Vue Router 生成 page→component→hook→store 链
- 跨拓扑影响 — 回归分析横跨所有拓扑类型
- 统一分层图 — 将代码 + 拓扑维度合并为一张可视化图
修复
- 拓扑自动检测可靠性提升
- CI 多语言测试覆盖的依赖配置
- Spec/PRD 交叉引用一致性(4 处问题)
2.3.0 — 2026-03-22
新增
- 25 个确定性 CLI 子命令 — 核心操作现在以 Python 代码运行,而非 prompt:
clean、regression、context、lint、test-map、coverage-gate、doctor、spec-lint、spec-status等 - 覆盖率门禁 —
pactkit coverage-gate执行三级阈值(≥80% 通过、50-79% 警告、<50% 阻止) - 自动版本同步 —
pactkit update --if-needed版本匹配时跳过重部署 - E2E 测试框架 —
pactkit.yaml中的配置驱动 E2E 策略 - Spec Linter 增强 — W007 需求-AC 覆盖检查、W008 占位符检测、E007 按子节验证
修复
- Plan 阶段大型 Spec 生成卡顿(拆分为子步骤)
- Explore 子代理无界搜索(有界委托模式)
- 25+ 处 CLI 与 prompt 交叉引用完整性缺口
2.2.0 — 2026-03-20
新增
- 上下文感知规则加载 — 每个命令只加载所需规则,token 使用量减少 20-83%
- 栈感知 CI 流水线 — 支持 Python、Node.js、Go、Java,配置正确的 setup 和测试运行器
- GitHub Enterprise (GHE) 支持 —
ci.github_host和ci.actions_ref配置
2.1.0 — 2026-03-17
新增
- 多格式部署 — 新增 AI 工具格式只需一个注册表条目,所有下游代码自动适配
- 模板变量 — 48 个硬编码路径替换为部署时解析的命名占位符
- 文档 Schema 注册表 —
pactkit schema [type]CLI 查看文档结构规则 - 懒加载规则 — 每轮系统 prompt 开销减少 62%
修复
/project-init环境检测改进- 配置合并时保留用户条目(不再覆盖)
早期版本
- 1.5.0 — PDCA 质量门禁、基于影响的回归、Done/Release/PR 命令拆分、社区标准
- 1.4.0 — Spec Linter(14 条规则)、主动澄清门禁、Act 前一致性检查、自动 PR
- 1.3.0 — CI/CD 流水线生成、Issue 追踪集成、Hook 模板、Doctor 诊断
- 1.0.0 — 首次公开发布。9 个 Agent、13 个命令、3 个 Skill、6 条宪章规则