File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44
55## [ 未发布]
66
7+ ### 文档
8+
9+ - 明确区分 PyPI 首次安装与已有工具升级,并补充 ` uv ` 安装位置和版本未更新时的排查步骤。
10+ - 将已经完成的 PyPI 可信发布能力归档为发布基线,并增加可审计的 ` 0.11.1 ` 发布记录。
11+ - 更新发生重定向的 Codex 与 Windsurf 官方文档链接。
12+
713## [ 0.11.1] - 2026-07-13
814
915### 文档
1016
1117- 完善公开仓库首页、源码安装边界、支持渠道、贡献流程和路线图。
12- - 将一次性的公开仓库检查清单转换为可重复执行的版本、GitHub Release、 PyPI 和回滚手册 。
18+ - 将一次性的公开仓库检查清单转换为可重复执行的版本、PyPI、Yank 和事件处理手册 。
1319- 增加英文项目概览、行为准则以及 Issue/Pull Request 仓库协作模板。
1420- 明确项目采用单一维护者模式,不招募共同维护者,并收紧贡献、支持和发布审批承诺。
1521- 修复 Claude Code Skills 官方文档链接。
Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ hmem integrate codex . --with-rules
3232
3333此时无论 ` AGENTS.md ` 是否已存在都会处理:不存在则创建仅含简短路由的文件;已存在则保留原内容,只追加或更新一个受管区块。路由仅要求在用户保存、恢复或继续上次任务时使用 ` session-handoff ` Skill。
3434
35- ` .agents/skills ` 是 Codex 官方约定的仓库级 Skill 目录。新会话仍建议显式说“恢复上次任务”,避免把所有历史无条件注入上下文。参见 [ Codex Customization:Skills] ( https://developers.openai .com/codex/concepts/ customization#skills ) 。
35+ ` .agents/skills ` 是 Codex 官方约定的仓库级 Skill 目录。新会话仍建议显式说“恢复上次任务”,避免把所有历史无条件注入上下文。参见 [ Codex Customization:Skills] ( https://learn.chatgpt .com/docs/ customization/overview #skills ) 。
3636
3737## Claude Code
3838
@@ -82,7 +82,7 @@ hmem integrate copilot .
8282hmem integrate windsurf .
8383```
8484
85- 默认根据 [ Windsurf Skills] ( https://docs.windsurf.com/windsurf /cascade/skills ) 创建 ` .windsurf/skills/session-handoff/SKILL.md ` ;指定 ` --with-rules ` 时再创建 ` .windsurf/rules/handoff-memory.md ` 。规则使用 ` model_decision ` 触发方式。
85+ 默认根据 [ Windsurf Skills] ( https://docs.devin.ai/desktop /cascade/skills ) 创建 ` .windsurf/skills/session-handoff/SKILL.md ` ;指定 ` --with-rules ` 时再创建 ` .windsurf/rules/handoff-memory.md ` 。规则使用 ` model_decision ` 触发方式。
8686
8787## Cline
8888
Original file line number Diff line number Diff line change 22
33本文定义 Handoff Memory 的长期 PyPI 发布流程,覆盖版本决策、发布 Pull Request、Trusted Publishing、发布后验证、Yank 和事件处理。PyPI 是唯一正式分发渠道;仓库源码公开不等同于已经发布发行包。
44
5+ 当前发布基线已经由 ` 0.11.1 ` 完成验证:GitHub Environment、Trusted Publisher、Actions allow-list、标签工作流和安装后冒烟测试均已打通。证据见 [ ` 0.11.1 ` 发布记录] ( releases/0.11.1.md ) 。后续常规发布应复用并核验这套基线,不重复创建 Pending Publisher。
6+
57## 发布职责与稳定约束
68
79- 项目由 ` yuangyong ` 单独维护,版本范围、发布时间和发布批准均由维护者决定。
@@ -114,6 +116,8 @@ python -m twine check dist/*
114116
115117## 4. 首次配置 PyPI 可信发布
116118
119+ 本节只用于首次创建 PyPI 项目。` handoff-memory ` 已在 ` 0.11.1 ` 发布时完成配置;常规发布只需在推送标签前确认现有 Trusted Publisher、GitHub Environment 和 Actions allow-list 没有漂移。
120+
117121在 GitHub 仓库创建 Environment:
118122
119123``` text
@@ -190,7 +194,7 @@ python -m venv $smoke
190194- [ ] ` uv tool install handoff-memory ` 和 ` pipx install handoff-memory ` 至少各完成一次全新环境验证。
191195- [ ] 在外部临时目录完成 ` init ` 、` check --strict ` 、` save ` 、` resume ` 、` history ` 和 ` show latest ` 冒烟流程。
192196
193- 将版本号、提交 SHA、PR、CI、标签、PyPI URL、文件哈希、验证结果和任何例外写入发布记录 。
197+ 将版本号、提交 SHA、PR、CI、标签、PyPI URL、文件哈希、验证结果和任何例外写入 ` docs/releases/X.Y.Z.md ` 。仓库不使用 GitHub Release,因此该文件是每个正式版本的长期发布记录 。
194198
195199## 7. 失败、撤回与安全事件
196200
@@ -216,7 +220,7 @@ python -m venv $smoke
216220
217221## 发布记录模板
218222
219- 每次正式发布复制以下字段到发布 Issue 或其他可审计记录中 :
223+ 每次正式发布复制以下字段到 ` docs/releases/X.Y.Z.md ` ;如果发布过程另有 Issue,可从记录中链接该 Issue :
220224
221225``` text
222226版本:
Original file line number Diff line number Diff line change 22
33Handoff Memory 当前处于 Alpha 阶段。路线图表达唯一维护者当前考虑的优先级和完成条件,不承诺固定日期;实际顺序会根据安全问题、兼容性变化、维护成本和用户反馈调整。
44
5- ## 近期:可重复发布
5+ ## 已完成:0.11.1 可重复发布基线
66
77- 建立由正式版本标签触发的 PyPI 单一分发流程。
88- 使用 PyPI Trusted Publishing 和受保护 Environment,避免长期发布 Token。
99- 保证发布质量门和 PyPI 上传使用同一份构建产物。
1010- 保持发布 Job 最小权限,并让外部 Action 固定到完整提交 SHA。
11+ - 完成 ` uv tool ` 、` pipx ` 和核心命令的独立安装后冒烟测试。
12+ - 保存 PyPI 文件哈希、来源证明、发布工作流与验证结果,形成可审计的[ 发布记录] ( releases/0.11.1.md ) 。
13+
14+ ## 近期:发布维护与质量门
15+
1116- 为 Markdown 外部链接建立定期检查,及时发现厂商文档迁移。
1217- 持续验证 Windows 并发保存锁在公开 CI 中的长期稳定性。
1318- 增加覆盖率报告、格式基线、静态类型与复杂度质量门。
14- - 提供可独立验证的安装后冒烟测试和发布记录。
1519
1620版本决策、质量门、PyPI、Yank 与事件处理流程见[ 发布手册] ( RELEASING.md ) 。
1721
Original file line number Diff line number Diff line change 1+ # 0.11.1 发布记录
2+
3+ ## 基本信息
4+
5+ - 版本:` 0.11.1 `
6+ - 发布日期:2026-07-13
7+ - 维护者:` yuangyong `
8+ - 发布 PR:[ yuangyong/handoff-memory #6 ] ( https://github.com/yuangyong/handoff-memory/pull/6 )
9+ - 目标提交:` 9e4bb9c6196bcf2571097d089936bda8d9bb7ea1 `
10+ - 主分支 CI:[ GitHub Actions 29241740108] ( https://github.com/yuangyong/handoff-memory/actions/runs/29241740108 )
11+ - 发布工作流:[ GitHub Actions 29242720296] ( https://github.com/yuangyong/handoff-memory/actions/runs/29242720296 )
12+ - 标签:` v0.11.1 `
13+ - PyPI:[ handoff-memory 0.11.1] ( https://pypi.org/project/handoff-memory/0.11.1/ )
14+
15+ ## 发行文件
16+
17+ | 文件 | 大小 | SHA-256 |
18+ | --- | ---: | --- |
19+ | ` handoff_memory-0.11.1-py3-none-any.whl ` | 43,254 字节 | ` 1d3f0f084b78f3aea3291e74fb1a7b418818bdbb35787ad7ef7856710fcf5d36 ` |
20+ | ` handoff_memory-0.11.1.tar.gz ` | 107,794 字节 | ` f0a2fba1a6d4ed50968770dde3139ea78cae62633353d50eea12fe1b109eeea6 ` |
21+
22+ 两个文件的 SHA-256 均与发布工作流保存的同一份 Actions Artifact 一致。PyPI Integrity API 显示二者都由 GitHub 仓库 ` yuangyong/handoff-memory ` 、工作流 ` release.yml ` 和 Environment ` pypi ` 通过 Trusted Publishing 上传。
23+
24+ ## 发布后验证
25+
26+ - ` uv tool install --no-cache --default-index https://pypi.org/simple handoff-memory==0.11.1 ` 在全新工具环境安装成功。
27+ - ` pipx install handoff-memory==0.11.1 ` 在全新工具环境安装成功。
28+ - 两种安装方式执行 ` hmem --version ` 和 ` hmem help ` 均成功。
29+ - 从 PyPI 安装的 ` hmem ` 在外部临时项目中完成 ` init ` 、` check --strict ` 、` save ` 、` resume ` 、` history ` 和 ` show latest ` 冒烟流程。
30+ - PyPI 页面包含 Wheel 与源码包,没有被 Yank 的文件。
31+
32+ ## 已知问题与例外
33+
34+ 以下仓库级设置按维护者决策保持未启用,不作为本次或后续 PyPI 发布阻塞条件:
35+
36+ - GitHub Secret Scanning。
37+ - Secret Scanning Push Protection。
38+ - Private Vulnerability Reporting。
39+ - 仓库级 GitHub Actions 完整 SHA 强制。
40+ - GitHub Immutable Releases。
41+
42+ 发布工作流中的外部 Action 仍固定到完整提交 SHA;OIDC、最小权限、版本一致性和产物不可替换要求均已通过验证。
43+
44+ ## Yank 决策
45+
46+ 不 Yank。` 0.11.1 ` 安装、命令入口、核心流程、文件哈希和来源证明均验证通过。
You can’t perform that action at this time.
0 commit comments