Skip to content

Commit 34a96e2

Browse files
committed
docs: 对齐 PyPI 发布基线与记录
1 parent c6e0b40 commit 34a96e2

5 files changed

Lines changed: 67 additions & 7 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,18 @@
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 官方文档链接。

‎docs/INTEGRATIONS.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff 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 .
8282
hmem 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

‎docs/RELEASING.md‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
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
版本:

‎docs/ROADMAP.md‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,20 @@
22

33
Handoff 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

‎docs/releases/0.11.1.md‎

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
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` 安装、命令入口、核心流程、文件哈希和来源证明均验证通过。

0 commit comments

Comments
 (0)