Skip to content

Stabilize core commands and automate the release workflow#20

Open
VidGuiCode wants to merge 1 commit into
mainfrom
stabilize-and-automate-release
Open

Stabilize core commands and automate the release workflow#20
VidGuiCode wants to merge 1 commit into
mainfrom
stabilize-and-automate-release

Conversation

@VidGuiCode

Copy link
Copy Markdown
Owner

Stabilization + clean-workflow pass (targets the next release, v0.4.2). No new user-facing features beyond the one missing idempotent command; the focus is clearing confirmed bugs and removing manual, error-prone release steps.

Phase A — stability

  • Doubled identifier fix: issue close/reopen/delete printed Closed FINOPS-FINOPS-1. resolveIssueRef now returns the resolved sequenceId, and confirmations are built from identifier + sequence (works for seq, slug, and UUID refs).
  • label_ids are UUIDs: normalized --json output exposed label names in label_ids; now it returns UUIDs there and keeps names in labels.
  • plane label ensure <name> [color]: idempotent label creation mirroring module ensure / cycle ensure, advertised in discover issue-inputs.
  • Tests added/updated; dist/ rebuilt.

Phase B — clean, stable workflow

  • CI now runs lint + format:check (previously only typecheck/build/test). Surfaced and fixed pre-existing prettier drift in cycle.ts/module.ts/page.ts.
  • Smoke test reads the version from package.json — removes the hardcoded-version release footgun.
  • release.yml (new): pushing a vX.Y.Z tag builds, tests, verify-packs, creates the GitHub release, uploads the .tgz, and verifies the asset returns 200 — removing the upgrade-breaking manual-upload step.
  • verify-pack now smoke-checks label ensure.
  • Root CLAUDE.md pointer; Windows/PowerShell .ps1 execution-policy note in the README; roadmap updated.

Verification

Local gate all green: typecheck, lint, format:check, build, test (92 passing), and verify-pack.

Notes

  • release.yml is new and has not run yet — recommend a v0.4.2-rc.1 dry-run before the real v0.4.2 tag.
  • Release prep (bump package.json to 0.4.2, add the ## 0.4.2 CHANGELOG section) is intentionally not in this PR — it belongs in the release commit.
  • Edits to context/ and skills/ (e.g. the release SKILL rewrite, current-state refresh) are gitignored by this repo and stay local by design.

🤖 Generated with Claude Code

Phase A — stability fixes:
- Fix doubled project identifier in `issue close/reopen/delete` output
  (e.g. "Closed FINOPS-FINOPS-1"); resolveIssueRef now returns the
  resolved sequenceId and confirmations are built from identifier + seq
- Normalized `--json` output: `label_ids` now carries label UUIDs
  instead of names (names stay in `labels`)
- Add idempotent `plane label ensure <name> [color]`, advertised in
  `discover issue-inputs`, mirroring `module ensure`/`cycle ensure`
- Tests for the above; rebuild dist

Phase B — clean, stable workflow:
- CI now runs lint and format:check (previously only typecheck/build/test);
  fixes pre-existing prettier drift in cycle/module/page
- Smoke test reads the version from package.json instead of hardcoding it
- Add release.yml: pushing a vX.Y.Z tag builds, tests, verify-packs,
  creates the GitHub release, uploads the .tgz, and verifies the asset
  is reachable (removes the upgrade-breaking manual-upload footgun)
- verify-pack now smoke-checks `label ensure`
- Add root CLAUDE.md pointer; document the Windows/PowerShell .ps1
  execution-policy workaround in the README; update the roadmap

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant