@@ -7,7 +7,8 @@ How to structure Linear issues for any keep-protocol release. This ensures we ne
771 . ** Every release is a Linear project** with step-by-step issues
882 . ** Issues are chained with blockers** — can't skip ahead
993 . ** Staging before production** — always test before going live
10- 4 . ** Pick up where you left off** — find first unblocked issue
10+ 4 . ** Documentation before tagging** — docs are part of the release, not afterthought
11+ 5 . ** Pick up where you left off** — find first unblocked issue
1112
1213## The Three Remotes
1314
@@ -19,6 +20,30 @@ How to structure Linear issues for any keep-protocol release. This ensures we ne
1920
2021** Flow:** staging → origin → nteg
2122
23+ ## Documentation Files
24+
25+ Every release should consider updating these files:
26+
27+ | File | Purpose | Update When |
28+ | ------| ---------| -------------|
29+ | ** CHANGELOG.md** | Version history | Every release (required) |
30+ | ** README.md** | Human quick-start | API changes, new features |
31+ | ** AGENTS.md** | AI coding assistants | Protocol/SDK changes |
32+ | ** SKILL.md** | ClawHub marketplace | Feature changes, new tags |
33+
34+ ### Documentation Checklist
35+
36+ Before tagging any release, verify:
37+
38+ ```
39+ □ CHANGELOG.md — New version section added with all changes
40+ □ README.md — Version references updated (e.g., "v0.3.0+")
41+ □ README.md — New features documented if user-facing
42+ □ AGENTS.md — Updated if protocol, SDK methods, or wire format changed
43+ □ SKILL.md — Updated if features or tags changed for ClawHub
44+ □ Version string — Updated in pyproject.toml and/or go.mod
45+ ```
46+
2247## Release Issue Template
2348
2449For each release (e.g., v0.3.2), create these issues in order. Each blocks the next.
@@ -33,11 +58,23 @@ KP-XX: Implement [feature name]
3358└── Push to: STAGING only
3459```
3560
36- ### Phase 2: Staging Verification
61+ ### Phase 2: Documentation (NEW)
62+
63+ ```
64+ KP-XX: Update documentation for [feature/version]
65+ ├── Blocked by: Implementation issue(s)
66+ ├── CHANGELOG.md: Add version entry with all changes
67+ ├── README.md: Update if API/usage changes
68+ ├── AGENTS.md: Update if protocol/SDK changes
69+ ├── SKILL.md: Update if features/tags change
70+ └── Acceptance: All docs accurate and consistent
71+ ```
72+
73+ ### Phase 3: Staging Verification
3774
3875```
3976KP-XX: Test [feature] on staging
40- ├── Blocked by: Implementation issue
77+ ├── Blocked by: Documentation issue
4178├── Test plan: Unit tests, integration tests, manual tests
4279├── Branch: Same feature branch on staging
4380└── Acceptance: All tests pass
@@ -50,7 +87,7 @@ KP-XX: Merge to staging main
5087└── Verification: Code on staging/main
5188```
5289
53- ### Phase 3 : Production
90+ ### Phase 4 : Production
5491
5592```
5693KP-XX: Push to origin (production)
@@ -74,7 +111,7 @@ KP-XX: Test vX.Y.Z in clean sandbox
74111└── Verification: New user experience works
75112```
76113
77- ### Phase 4 : Public Release
114+ ### Phase 5 : Public Release
78115
79116```
80117KP-XX: Publish vX.Y.Z to ClawHub
@@ -96,7 +133,10 @@ KP-XX: Sync vX.Y.Z to nteg mirror
96133Implementation
97134 │
98135 ▼
99- Test on Staging ←── YOU ARE HERE (find first unblocked)
136+ Documentation Update ← NEW STEP
137+ │
138+ ▼
139+ Test on Staging
100140 │
101141 ▼
102142Merge to Staging Main
@@ -143,42 +183,46 @@ Example: keep-protocol v0.4.0 — Public Relays
143183
144184Copy the issue structure above. For each feature in the release:
145185- One implementation issue
146- - One test issue (blocked by implementation)
186+ - One documentation issue (blocked by implementation)
187+ - One test issue (blocked by documentation)
147188- Share the remaining release issues (merge, push, tag, sandbox, clawhub, sync)
148189
149190### 3. Set up blockers
150191
151192Each issue should be blocked by the previous one:
152193```
153- Implementation → Test → Merge → Push → Tag → Sandbox → ClawHub → Sync
194+ Implementation → Documentation → Test → Merge → Push → Tag → Sandbox → ClawHub → Sync
154195```
155196
156197### 4. Start work
157198
158199Begin with the implementation issue. The chain guides you through.
159200
160- ## Example: v0.3.2 Release (ensure_server )
201+ ## Example: v0.5.0 Release (with docs )
161202
162203| Issue | Title | Blocked By |
163204| -------| -------| ------------|
164- | KP-11 | Implement ensure_server() | — |
165- | KP-16 | Test on staging | KP-11 |
166- | KP-17 | Merge to staging main | KP-16 |
167- | KP-18 | Push to origin | KP-17 |
168- | KP-19 | Tag v0.3.2 + CI | KP-18 |
169- | KP-20 | Clean sandbox test | KP-19 |
170- | KP-21 | Publish ClawHub | KP-20 |
171- | KP-22 | Sync nteg mirror | KP-21 |
205+ | KP-30 | Implement semantic routing | — |
206+ | KP-31 | Update docs for semantic routing | KP-30 |
207+ | KP-32 | Test on staging | KP-31 |
208+ | KP-33 | Merge to staging main | KP-32 |
209+ | KP-34 | Push to origin | KP-33 |
210+ | KP-35 | Tag v0.5.0 + CI | KP-34 |
211+ | KP-36 | Clean sandbox test | KP-35 |
212+ | KP-37 | Publish ClawHub | KP-36 |
213+ | KP-38 | Sync nteg mirror | KP-37 |
172214
173215## Anti-Patterns (Don't Do These)
174216
175217| Wrong | Right |
176218| -------| -------|
177219| Push feature branch to origin | Push to staging first |
178220| Skip staging tests | Always test on staging |
221+ | Tag before updating docs | Docs are part of the release |
179222| Publish to ClawHub before CI green | Wait for ALL jobs green |
180223| Forget to sync nteg mirror | Always sync after ClawHub |
181224| Create issues without blockers | Chain every issue |
225+ | Update CHANGELOG after release | CHANGELOG before tagging |
182226
183227## Session Handoff
184228
@@ -195,4 +239,5 @@ When starting a session:
195239---
196240
197241* Template established: Feb 3, 2026*
242+ * Updated: Feb 3, 2026 — Added documentation phase to release workflow*
198243* Based on KP-11 release workflow lessons learned*
0 commit comments