feat(changelog): one source file per release, generated outputs
Release notes now live in changelog/<version>.md (front matter with version and date, then ## App and ## VS Code sections grouped into New, Improvements, Fixes, Misc) plus changelog/unreleased.md for what has not shipped. `bun run changelog:build` renders CHANGELOG.md, packages/vscode/CHANGELOG.md, and changelog/index.json from them; `changelog:check` fails when the outputs are behind and runs in CI and in release:prepare. `oc-dev create-release` promotes unreleased.md to the versioned file dated today and rebuilds. The existing history was split mechanically: every bullet kept, sorted into groups by keyword, five hand-typed headers with one-digit days normalised to YYYY-MM-DD (the update dialog matched none of them). The generated files keep today's release headers, which the update dialog, the release workflow, and the website match by regex. Claude-Session: https://claude.ai/code/session_01VqV56Hez25hTxXH4ipJfzH
This commit is contained in:
@@ -42,7 +42,7 @@ Shared contracts must define intentional behavior for every applicable runtime:
|
||||
- Do not add dependencies unless explicitly requested.
|
||||
- Never add or log secrets, bearer tokens, pairing credentials, or sensitive user data.
|
||||
- Keep changes minimal and preserve unrelated worktree changes.
|
||||
- `CHANGELOG.md` and `packages/vscode/CHANGELOG.md` are the maintainer's release-time work: they get written once, as one story, when the maintainer asks to update the changelog. Until that request, treat both files as read-only — a fix, feature, or merged PR lands without a changelog line.
|
||||
- Release notes are the maintainer's release-time work: they get written once, as one story, in `changelog/unreleased.md` when the maintainer asks to update the changelog. Until that request, treat `changelog/` as read-only — a fix, feature, or merged PR lands without a changelog line. `CHANGELOG.md`, `packages/vscode/CHANGELOG.md`, and `changelog/index.json` are generated from `changelog/*.md` by `bun run changelog:build`; never edit them by hand.
|
||||
- Enforce security and correctness in core/runtime logic, not only UI visibility or prompts.
|
||||
- Keep entrypoints and bridges thin; place domain logic in focused owning modules.
|
||||
- Update owning documentation when module ownership, contracts, or invariants change.
|
||||
|
||||
Reference in New Issue
Block a user