Sprint Item
is-13 of 13 — Task — Thursday PR 3 of 3 (docs-only)
Block Relations
|
|
| Blocked by |
— (independent; but writing it after is-12 lands means it records what actually happened) |
| Blocks |
— |
| Repo/day |
Independent of is-1–is-10 |
Calendar Day
Thursday, July 30, 2026 (PR 3 of 3 — docs-only)
Planned Effort
1 story point (Task) — sprint item is-13
Problem
There is no RELEASING.md in the repository. The eval names release hygiene as the sole remaining gap on an otherwise production-ready repository.
The project documents its deprecation policy (docs/deprecation-policy.md) and its architecture (docs/architecture.md) — but not the release ceremony. A future maintainer has no documented steps for where the version lives, how the changelog is edited, what the tag format is, or how the Release is created.
This matters more than usual because the repository has no owner after Thursday.
Goal
One docs-only PR leaving a short, accurate runbook for whoever picks this repository up next.
Scope
Part A — the document
- New
RELEASING.md at the repository root, documenting the end-to-end manual release flow.
- Capture the actual steps used for
v0.1.0 and the v0.2.0 cut in item is-12 — not an idealised process.
Part B — required content
app.py __version__ (line 3) named as the version bump location.
- The Keep a Changelog edits in
CHANGELOG.md.
- The tag format
vMAJOR.MINOR.PATCH.
- Copying the version section into the Release notes.
- A statement that there is no CI publish workflow and releases are tag-and-notes only.
Part C — cross-references
docs/deprecation-policy.md for the two-release field-removal window.
- Note that
SECURITY.md lists supported versions and should be updated if the project adopts an explicit version support table.
Part D — form
Keep it short: a numbered checklist, not an essay. Use the Pinecone MCP repository's docs/RELEASING.md as a structural reference for section headings, adapted to this project's Flask-only, no-artifact reality.
Out of scope
- Adding a CI publish workflow — the document records that there isn't one; it does not create one.
- A version support table in
SECURITY.md — mention it as a possibility, do not build it.
Acceptance Criteria
Verification
# from the claude-code-chat-browser checkout root
# docs-only: markdown lint / link checks
- The real test: hand
RELEASING.md to someone who has never released this repository and confirm they could cut v0.2.1 from it without asking a question.
- Every file path and line reference in the document resolves to something that exists.
- Confirm
git diff --stat adds only RELEASING.md.
References
- Sprint: Week 31 (Jul 27–31, 2026) — Chen item is-13 (1 pt, Task)
- Week 31 weekly plan — claude-code-chat-browser
- Week 31 issue descriptions — claude-code-chat-browser,
RELEASING.md
- Eval finding: n/a — release hygiene is the sole remaining gap
- Files:
RELEASING.md (new); app.py:3; CHANGELOG.md; docs/deprecation-policy.md; SECURITY.md
- Companion: Thursday is-11
[0.2.0] changelog, is-12 v0.2.0 release
- Context: this repository has no owner after Thursday — the runbook is the handover
Sprint Item
is-13 of 13 — Task — Thursday PR 3 of 3 (docs-only)
Block Relations
Calendar Day
Thursday, July 30, 2026 (PR 3 of 3 — docs-only)
Planned Effort
1 story point (Task) — sprint item is-13
Problem
There is no
RELEASING.mdin the repository. The eval names release hygiene as the sole remaining gap on an otherwise production-ready repository.The project documents its deprecation policy (
docs/deprecation-policy.md) and its architecture (docs/architecture.md) — but not the release ceremony. A future maintainer has no documented steps for where the version lives, how the changelog is edited, what the tag format is, or how the Release is created.This matters more than usual because the repository has no owner after Thursday.
Goal
One docs-only PR leaving a short, accurate runbook for whoever picks this repository up next.
Scope
Part A — the document
RELEASING.mdat the repository root, documenting the end-to-end manual release flow.v0.1.0and thev0.2.0cut in item is-12 — not an idealised process.Part B — required content
app.py__version__(line 3) named as the version bump location.CHANGELOG.md.vMAJOR.MINOR.PATCH.Part C — cross-references
docs/deprecation-policy.mdfor the two-release field-removal window.SECURITY.mdlists supported versions and should be updated if the project adopts an explicit version support table.Part D — form
Keep it short: a numbered checklist, not an essay. Use the Pinecone MCP repository's
docs/RELEASING.mdas a structural reference for section headings, adapted to this project's Flask-only, no-artifact reality.Out of scope
SECURITY.md— mention it as a possibility, do not build it.Acceptance Criteria
RELEASING.mdat the repository root documents the end-to-end manual release flow.app.py__version__(line 3) as the version bump location.CHANGELOG.md, the tag formatvMAJOR.MINOR.PATCH, and copying the version section into the Release notes.Verification
RELEASING.mdto someone who has never released this repository and confirm they could cutv0.2.1from it without asking a question.git diff --statadds onlyRELEASING.md.References
RELEASING.mdRELEASING.md(new);app.py:3;CHANGELOG.md;docs/deprecation-policy.md;SECURITY.md[0.2.0]changelog, is-12 v0.2.0 release