You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(changelog): make the first release v0.1.0, and fold in the alpha section
The changelog described a `0.1.0-alpha` release that never happened. There are
no tags in this repository and no published releases, so that heading
documented a version nobody could install, and its two link references at the
bottom (`compare/v0.1.0-alpha...HEAD`, `releases/tag/v0.1.0-alpha`) were dead.
It also appeared twice in a row until recently.
Everything is therefore one release. `[Unreleased]` and `[0.1.0-alpha]` are
merged into a single `## [0.1.0]`, with the Added list split into
**Foundation** (what the alpha section described: the CLI, the intent schema,
the render and SSH work) and **Since** (everything after). Changed / Fixed /
Security / Repository changes carry over unchanged. Content is preserved
line-for-line apart from the two intro paragraphs, which are rewritten into
one; a diff of every non-heading line confirms 356 of 358 lines are identical
and the 2 differences are those intros.
`0.1.0` rather than `0.1.0-alpha`: goreleaser runs with `prerelease: auto`, so
a tag carrying a pre-release suffix is filed as a pre-release, and
`/releases/latest` — which `scripts/install.sh` queries and the README
one-liner depends on — does not return pre-releases. The suffix would have
cost a working install path to restate something `0.x` already says under
semver.
`0.1.0` rather than `1.0.0`: the public surface is not only the CLI flags. It
is `schemas/intent.schema.json`, the ~30 schemas under `schemas/output/`, and
the exit-code contract `AGENTS.md` instructs agents to branch on. The
constitution requires strict semver, so `1.0.0` freezes all of that behind a
major-bump promise before any of it has met a real user. `TODOS.md` still
carries four deferred decisions, one of them an unreconciled overlap between
`scripts/db_cp.sh` and `trond snapshot clone`.
The date is left as `2026-XX-XX` because releases are cut by hand and the date
is not known until someone dispatches the workflow. To stop that placeholder
from shipping, release.yml now checks, before it builds anything, that the top
released section names the tag being released and ends in a real date. Both
failure modes were exercised locally: the file's current state is rejected for
the placeholder, `v0.2.0` against a `[0.1.0]` heading is rejected for the
version mismatch, and a filled-in date is accepted.
Stacked on tronprotocol#222 — that PR's commits are included here and the diff shrinks to
CHANGELOG.md plus the guard step once it merges.
0 commit comments