chore: goals changeset + blocking CI changeset gate #37

Merged
forgejo-admin merged 1 commit from goals-changeset-ci into main 2026-08-02 17:21:29 +00:00

Two things:

  1. The missed changeset for the goals feature (lunacycle: minor) — PR #36 merged without one, so nothing would have moved manifest.yml past 1.0.4. Covers the feature summary and the two migrations (0011 meta resync, 0012 goals tables).

  2. The CI changeset check becomes a gate. The advisory version warned on #36 and nobody saw it. Now pr-validate fails when a PR touches shipped source (the manifest files: payload — apps/, packages/, scripts/, celilo/, manifest.yml, package.json, lockfiles, nx.json) without a .changeset/*.md. Docs/CI/openspec-only PRs stay exempt. Known limitation (commented in the workflow): shallow tree-diff against the base sha, so a PR far behind main can false-positive — escape hatch is an empty changeset or a rebase.

Unit-test verification already exists in pr-validate (unit + hook + seed tests), so nothing was added there.

Merging this puts four pending changesets on main (this one + backup-gate, seed-by-generated-id, spa-smoke) → the release workflow will open the chore: version lunacycle PR → merging that stamps 1.1.0 → publish + celilo module upgrade lunacycle from celilo-mgr.

🤖 Generated with Claude Code

Two things: 1. **The missed changeset for the goals feature** (`lunacycle: minor`) — PR #36 merged without one, so nothing would have moved `manifest.yml` past 1.0.4. Covers the feature summary and the two migrations (0011 meta resync, 0012 goals tables). 2. **The CI changeset check becomes a gate.** The advisory version warned on #36 and nobody saw it. Now `pr-validate` fails when a PR touches shipped source (the manifest `files:` payload — `apps/`, `packages/`, `scripts/`, `celilo/`, `manifest.yml`, `package.json`, lockfiles, `nx.json`) without a `.changeset/*.md`. Docs/CI/openspec-only PRs stay exempt. Known limitation (commented in the workflow): shallow tree-diff against the base sha, so a PR far behind main can false-positive — escape hatch is an empty changeset or a rebase. Unit-test verification already exists in `pr-validate` (unit + hook + seed tests), so nothing was added there. Merging this puts four pending changesets on main (this one + backup-gate, seed-by-generated-id, spa-smoke) → the release workflow will open the `chore: version lunacycle` PR → merging that stamps 1.1.0 → publish + `celilo module upgrade lunacycle` from celilo-mgr. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chore: goals changeset + make the CI changeset check a blocking gate
All checks were successful
pr-validate / validate (pull_request) Successful in 17s
d7afda9f57
The goals feature (PR #36) merged without a changeset because the CI
check was advisory — it warned and nobody saw it. Add the missed minor
changeset, and turn the check into a gate: PRs touching shipped source
(the manifest files: payload) fail without a changeset; docs/CI/spec-only
PRs remain exempt. Unit tests already gate PRs (pr-validate).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign in to join this conversation.
No description provided.