Repository navigation
Closed
Labels
Description
Goal
Write the existing OpenDirector tag and daily release practice into the repository so cuts are not only tribal knowledge.
Current published tags: v0.1.0, v0.1.1, and v0.1.2, each with a GitHub Release. In-tree version fields stay at the last cut (currently 0.1.2) until the next one lands.
Related: #7 (release readiness go/no-go). This issue does not replace #7.
Policy to record
- Public tags use SemVer with a
vprefix:vMAJOR.MINOR.PATCH. Do not introduce a second public stream (CalVer, date tags, or nightly tags). - Daily patch cuts stay on
v0.1.xaround 04:00 Asia/Shanghai after the ~02:00 nightly, when there are merges since the last tag and Release checks plus the last nightly gate-parity are green. Skip if there are no merges, or if that gate is red or still running. Advisory nightly lanes (browser-production,browser-extended,perf-outputs) do not block. - Do not tag every merge. The cut is one tag after that day's landed work, plus a version-bump PR that aligns npm/
package-lock,pyproject.toml, local API OpenAPI, DeepSeek ACPclientInfo, and the Claude plugin manifest (same set as [build] bump the release version to 0.1.2 #248 / [build] bump the release version to 0.1.1 #204). - Bump MINOR only for a named milestone. Bump MAJOR only when declaring a supported public product (
v1.0.0). - Each published tag is immutable, points at one main SHA (after the version-bump PR), and ships a GitHub Release with English notes listing merges since the previous tag. Do not retag, and do not create a floating
latestgit tag. - Nightly CI is a gate, not a public release. If installable nightlies are added later, they must be GitHub prereleases (for example
v0.1.3-nightly.YYYYMMDD) and must not become the repository's latest release.
Deliverable
- Add
docs/development/release.mdwith the policy above, short and operational. - Link it from
docs/README.md(development process). A short pointer fromCONTRIBUTING.mdand/or [RFC] First release scope and readiness checklist #7 is welcome if it stays a link, not a second copy. - English only for the new doc and this issue.
Acceptance
- The policy is in the repository and discoverable from the docs index.
- It matches the current daily cut practice and does not invent a second tag family.
- Version-field alignment and the Release/nightly gate are stated clearly.
- Documentation-only change; no unrelated test or code churn.
Activity
hsliuustc0106 commentedon Nov 11, 2026
Policy update (Hongsheng, 2026-11-11): the public SemVer stream is not frozen on
v0.1.x.v0.N.x) around 04:00 Asia/Shanghai, with the same gate (Release checks plus the last nightlygate-paritylane). Skip a patch morning when there are no merges, or when that gate is red or still running. Advisory nightly lanes still do not block.v0.2.0,v0.3.0, and so on, at the same morning window. Use the same version-field alignment and an English GitHub Release. On a minor-cut morning, that cut isv0.(N+1).0, not another patch; daily patches then continue on the new minor.v1.0.0only when declaring a supported public product.#272 will be updated to match.
[docs] release: record SemVer tags and daily cuts
[docs] release: cut a minor every 14 days
Record SemVer daily patches and the 14-day minor (ThinkFlowLab#272)