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
feat: generate and serve OpenAPI/Swagger spec (#55) (#121)
* feat: resume coderabbit when claude addresses feedback
* docs: track design specs in git, add release pipeline spec (#70)
Change gitignore to only exclude superpowers plans (ephemeral) while
tracking specs (lasting decision records). Add release pipeline design
spec covering changesets, goreleaser, Helm OCI publish, and site deploy.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* build: register bun workspaces, add version anchors for changesets
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* ci: add changesets Version PR workflow
* ci: add per-package tagging workflow with appVersion sync
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* build: add goreleaser config for engine releases
* ci: replace release.yml with goreleaser-based engine release workflow
* ci: add Cloudflare Pages site deploy workflow
* ci: add Helm chart OCI publish workflow
* fix: address code review findings for release pipeline
- Fix race condition: sync appVersion and commit before pushing tags
- Add Dockerfile.goreleaser to avoid double-compilation in Docker builds
- Add concurrency control to release-tags.yml
- Add permissions block to site-deploy.yml
- Pin Trivy action to v0.28.0 instead of @master
- Update spec to reflect appVersion sync approach
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add OpenAPI spec design for issue #55
* build: add swaggo/swag dependency for OpenAPI spec generation
* refactor: export response types, add named API request/response types
* docs: add swag global API annotations and health endpoint stubs
* docs: add swag annotations to api.go handlers
* docs: add swag annotations to handleRun and handleCancel
* feat: generate initial Swagger 2.0 spec via swaggo/swag
* feat: serve OpenAPI spec at GET /api/v1/openapi.json
* ci: add make spec target and OpenAPI spec freshness check
Adds `make spec` to regenerate the OpenAPI spec locally and a GitHub
Actions job that re-runs swag on CI and fails if the committed spec
has drifted from the annotations.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: address pre-push review findings
- Add @description to all 12 API handler annotations
- Add StatusResponse named type; replace map[string]string in budget
mutation responses
- Add w.WriteHeader(http.StatusOK) to handleOpenAPISpec for consistency
- Add field-level comments to budget.TeamBudget (enforcement values,
token limit units)
- Regenerate swagger.json/yaml
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address CodeRabbit review findings
- Remove hardcoded @host localhost:8080 from global API annotations so
the spec is served host-agnostic
- Add omitempty to StartedAt on ExecutionSummary, ExecutionDetail, and
StepSummary to match CompletedAt behaviour and align wire format with
schema
- Replace http.Error (text/plain) with writeJSONError in budget/usage
handlers so 400/500 responses honour the documented ErrorResponse
contract; log internal errors via s.Logger instead of leaking details
- Pin swag install in CI spec job to v1.16.6 for reproducible builds
- Sync govulncheck step with main's known-unfixable exclusion filter
- Regenerate swagger.json/yaml
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: use named response types and fix govulncheck filter exit code
- Replace all ad-hoc map[string]any response payloads with their
declared named types (ExecutionListResponse, WorkflowListResponse,
WorkflowDetailResponse, WorkflowVersionListResponse) so runtime
responses match the documented Swagger types and are validated at
compile time
- Add || true to the ACTIONABLE grep pipeline so grep's non-zero exit
when all vulns are excluded doesn't abort the step under set -e
- Regenerate swagger.json/yaml
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: pin swag version in Makefile spec target comment to v1.16.6
Matches the version pinned in the CI spec freshness job to avoid
mismatched generated specs between local and CI runs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments