docs: archive completed plans
All 8 plan files (4 design + 4 impl) verified as completed against codebase and git history. Each archived with completion summary documenting date, key files built, and test coverage. Archived plans: - core-devops (design + impl): devops/ package fully implemented - code-signing (design + impl): build/signing/ package fully implemented - sdk-generation (design + impl): sdk/ package fully implemented - sdk-release (design + impl): release/sdk.go fully implemented Remaining in docs/plans/: - docs-sync-next-steps.md: reference document for future setup steps Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
db185dec37
commit
8c9fdca5a6
16 changed files with 207 additions and 0 deletions
29
docs/plans/completed/2026-01-29-code-signing-design.md
Normal file
29
docs/plans/completed/2026-01-29-code-signing-design.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Code Signing Design -- Completion Summary
|
||||
|
||||
**Status:** COMPLETED
|
||||
**Date Completed:** 2026-01-29 (initial implementation), verified 2026-02-24
|
||||
**Plan:** Integrate standard code signing tools into the build pipeline (GPG, macOS codesign, notarization)
|
||||
|
||||
## What Was Built
|
||||
|
||||
Full `build/signing/` package with Signer interface and three implementations.
|
||||
|
||||
### Key Files
|
||||
|
||||
- `build/signing/signer.go` -- Signer interface, SignConfig, GPGConfig, MacOSConfig, WindowsConfig
|
||||
- `build/signing/gpg.go` -- GPG detached ASCII-armored signature (.asc)
|
||||
- `build/signing/codesign.go` -- macOS codesign with hardened runtime + notarization
|
||||
- `build/signing/signtool.go` -- Windows placeholder (Available() returns false)
|
||||
- `build/signing/sign.go` -- Orchestration helpers: SignBinaries, NotarizeBinaries, SignChecksums
|
||||
- `build/config.go` -- SignConfig integrated into BuildConfig
|
||||
- `build/buildcmd/cmd_build.go` -- `--no-sign` and `--notarize` CLI flags
|
||||
|
||||
### Test Coverage
|
||||
|
||||
- `build/signing/gpg_test.go`
|
||||
- `build/signing/codesign_test.go`
|
||||
- `build/signing/signing_test.go` (integration tests)
|
||||
|
||||
### Pipeline Integration
|
||||
|
||||
Signing runs after compilation, before archiving. GPG signs checksums.txt after archive creation.
|
||||
19
docs/plans/completed/2026-01-29-code-signing-impl.md
Normal file
19
docs/plans/completed/2026-01-29-code-signing-impl.md
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# Code Signing Implementation -- Completion Summary
|
||||
|
||||
**Status:** COMPLETED
|
||||
**Date Completed:** 2026-01-29 (initial implementation), verified 2026-02-24
|
||||
**Plan:** 9-task implementation plan for GPG checksums signing and macOS codesign/notarization
|
||||
|
||||
## What Was Built
|
||||
|
||||
All 9 tasks from the implementation plan were completed:
|
||||
|
||||
1. Signing package structure (`build/signing/signer.go`)
|
||||
2. GPG signer (`build/signing/gpg.go`)
|
||||
3. macOS codesign + notarization (`build/signing/codesign.go`)
|
||||
4. Windows signtool placeholder (`build/signing/signtool.go`)
|
||||
5. SignConfig added to BuildConfig (`build/config.go`)
|
||||
6. Orchestration helpers (`build/signing/sign.go`)
|
||||
7. CLI integration with `--no-sign` and `--notarize` flags
|
||||
8. Integration tests (`build/signing/signing_test.go`)
|
||||
9. Final verification complete
|
||||
32
docs/plans/completed/2026-01-29-core-devops-design.md
Normal file
32
docs/plans/completed/2026-01-29-core-devops-design.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Core DevOps CLI Design -- Completion Summary
|
||||
|
||||
**Status:** COMPLETED
|
||||
**Date Completed:** 2026-01-29 (initial extraction), hardened through Phase 0-4
|
||||
**Plan:** Portable development environment CLI commands for the core-devops LinuxKit image
|
||||
|
||||
## What Was Built
|
||||
|
||||
Full `devops/` package implementing a portable development environment with sandboxed, immutable LinuxKit-based VMs.
|
||||
|
||||
### Key Files
|
||||
|
||||
- `devops/devops.go` -- DevOps struct with Boot/Stop/Status/IsRunning
|
||||
- `devops/config.go` -- Config loading from ~/.core/config.yaml with defaults
|
||||
- `devops/images.go` -- ImageManager with manifest tracking and multi-source downloads
|
||||
- `devops/sources/source.go` -- ImageSource interface
|
||||
- `devops/sources/github.go` -- GitHub Releases source (gh CLI)
|
||||
- `devops/sources/cdn.go` -- CDN/S3 source with progress reporting
|
||||
- `devops/shell.go` -- SSH and serial console shell access
|
||||
- `devops/serve.go` -- Project mounting (SSHFS) and dev server auto-detection
|
||||
- `devops/test.go` -- Test framework detection and .core/test.yaml support
|
||||
- `devops/claude.go` -- Sandboxed Claude session with auth forwarding
|
||||
- `devops/ssh_utils.go` -- SSH utility functions
|
||||
|
||||
### Test Coverage
|
||||
|
||||
All packages have corresponding `_test.go` files with unit tests.
|
||||
|
||||
### Relevant Commits
|
||||
|
||||
- `392ad68` feat: extract devops packages from core/go
|
||||
- `6e346cb` test(devops): Phase 0 test coverage and hardening
|
||||
27
docs/plans/completed/2026-01-29-core-devops-impl.md
Normal file
27
docs/plans/completed/2026-01-29-core-devops-impl.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Core DevOps CLI Implementation -- Completion Summary
|
||||
|
||||
**Status:** COMPLETED
|
||||
**Date Completed:** 2026-01-29 (initial extraction), hardened through Phase 0-4
|
||||
**Plan:** 13-task implementation plan for `core dev` commands
|
||||
|
||||
## What Was Built
|
||||
|
||||
All 13 tasks from the implementation plan were completed:
|
||||
|
||||
1. Package structure (`devops/devops.go`)
|
||||
2. Config loading (`devops/config.go`)
|
||||
3. ImageSource interface (`devops/sources/source.go`)
|
||||
4. GitHub source (`devops/sources/github.go`)
|
||||
5. CDN source (`devops/sources/cdn.go`)
|
||||
6. ImageManager (`devops/images.go`)
|
||||
7. Boot/Stop/Status (`devops/devops.go`)
|
||||
8. Shell command (`devops/shell.go`)
|
||||
9. Test detection (`devops/test.go`)
|
||||
10. Serve with mount (`devops/serve.go`)
|
||||
11. Claude sandbox (`devops/claude.go`)
|
||||
12. CLI commands (via cmd/ packages in core/cli)
|
||||
13. Integration verified
|
||||
|
||||
### Note
|
||||
|
||||
The CLI commands are registered in the main `core/cli` repo, not in this package. This package provides the library implementation.
|
||||
28
docs/plans/completed/2026-01-29-sdk-generation-design.md
Normal file
28
docs/plans/completed/2026-01-29-sdk-generation-design.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# SDK Generation Design -- Completion Summary
|
||||
|
||||
**Status:** COMPLETED
|
||||
**Date Completed:** 2026-01-29 (initial implementation), verified 2026-02-24
|
||||
**Plan:** Generate typed API clients from OpenAPI specs for TypeScript, Python, Go, and PHP with breaking change detection
|
||||
|
||||
## What Was Built
|
||||
|
||||
Full `sdk/` package with generator interface, four language generators, OpenAPI spec detection, and breaking change detection via oasdiff.
|
||||
|
||||
### Key Files
|
||||
|
||||
- `sdk/sdk.go` -- SDK struct, Config types, Generate/GenerateLanguage/SetVersion
|
||||
- `sdk/detect.go` -- OpenAPI spec detection (config, common paths, Scramble)
|
||||
- `sdk/diff.go` -- Breaking change detection using oasdiff (DiffResult, DiffExitCode)
|
||||
- `sdk/generators/generator.go` -- Generator interface and Registry
|
||||
- `sdk/generators/typescript.go` -- openapi-typescript-codegen (native/npx/Docker)
|
||||
- `sdk/generators/python.go` -- openapi-python-client (native/Docker)
|
||||
- `sdk/generators/go.go` -- oapi-codegen (native/Docker)
|
||||
- `sdk/generators/php.go` -- openapi-generator via Docker
|
||||
- `cmd/sdk/cmd.go` -- CLI: `core sdk diff`, `core sdk validate`
|
||||
- `build/buildcmd/cmd_sdk.go` -- CLI: `core build sdk`
|
||||
|
||||
### Test Coverage
|
||||
|
||||
- `sdk/sdk_test.go`, `sdk/detect_test.go`, `sdk/diff_test.go`
|
||||
- `sdk/breaking_test.go`, `sdk/generation_test.go`
|
||||
- `sdk/generators/{typescript,python,go,php}_test.go`
|
||||
27
docs/plans/completed/2026-01-29-sdk-generation-impl.md
Normal file
27
docs/plans/completed/2026-01-29-sdk-generation-impl.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# SDK Generation Implementation -- Completion Summary
|
||||
|
||||
**Status:** COMPLETED
|
||||
**Date Completed:** 2026-01-29 (initial implementation), verified 2026-02-24
|
||||
**Plan:** 13-task implementation plan for OpenAPI SDK generation
|
||||
|
||||
## What Was Built
|
||||
|
||||
All 13 tasks from the implementation plan were completed:
|
||||
|
||||
1. SDK package structure (`sdk/sdk.go`)
|
||||
2. OpenAPI spec detection (`sdk/detect.go`)
|
||||
3. Generator interface and Registry (`sdk/generators/generator.go`)
|
||||
4. TypeScript generator (`sdk/generators/typescript.go`)
|
||||
5. Python generator (`sdk/generators/python.go`)
|
||||
6. Go generator (`sdk/generators/go.go`)
|
||||
7. PHP generator (`sdk/generators/php.go`)
|
||||
8. Breaking change detection with oasdiff (`sdk/diff.go`)
|
||||
9. Generate wired up to use all generators
|
||||
10. CLI commands (`cmd/sdk/cmd.go`, `build/buildcmd/cmd_sdk.go`)
|
||||
11. SDK config added to release config (`release/config.go`)
|
||||
12. Documentation and examples
|
||||
13. Integration verified
|
||||
|
||||
### Relevant Commits
|
||||
|
||||
- `7aaa215` test(release): Phase 3 -- publisher integration, SDK generation, breaking change detection
|
||||
24
docs/plans/completed/2026-01-29-sdk-release-design.md
Normal file
24
docs/plans/completed/2026-01-29-sdk-release-design.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# SDK Release Integration Design -- Completion Summary
|
||||
|
||||
**Status:** COMPLETED
|
||||
**Date Completed:** 2026-01-29 (initial implementation), verified 2026-02-24
|
||||
**Plan:** Add SDK generation as a release target with version and diff checking
|
||||
|
||||
## What Was Built
|
||||
|
||||
SDK release integration with RunSDK function, breaking change detection, and CLI integration.
|
||||
|
||||
### Key Files
|
||||
|
||||
- `release/sdk.go` -- RunSDK(), SDKRelease, toSDKConfig(), checkBreakingChanges()
|
||||
- `release/sdk_test.go` -- Tests for RunSDK and config conversion
|
||||
- `release/config.go` -- SDKConfig in release Config
|
||||
- `build/buildcmd/cmd_sdk.go` -- `core build sdk` command
|
||||
|
||||
### Design Evolution
|
||||
|
||||
The original plan called for `core release --target sdk`. The implementation evolved to place SDK generation under `core build sdk` instead, which is a cleaner separation of concerns. The core functionality (RunSDK, diff checking, config conversion) is fully implemented in `release/sdk.go` and available for the release pipeline to call.
|
||||
|
||||
### Test Coverage
|
||||
|
||||
- `release/sdk_test.go` -- Tests for nil config, dry run, diff enabled, default output, config conversion
|
||||
21
docs/plans/completed/2026-01-29-sdk-release-impl.md
Normal file
21
docs/plans/completed/2026-01-29-sdk-release-impl.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# SDK Release Implementation -- Completion Summary
|
||||
|
||||
**Status:** COMPLETED
|
||||
**Date Completed:** 2026-01-29 (initial implementation), verified 2026-02-24
|
||||
**Plan:** 7-task implementation plan for `core release --target sdk`
|
||||
|
||||
## What Was Built
|
||||
|
||||
All 7 tasks from the implementation plan were completed (with design evolution noted):
|
||||
|
||||
1. SetVersion added to SDK struct (`sdk/sdk.go`)
|
||||
2. SDK release types and config converter (`release/sdk.go`)
|
||||
3. RunSDK function with diff checking (`release/sdk.go`)
|
||||
4. CLI integration (evolved to `core build sdk` in `build/buildcmd/cmd_sdk.go`)
|
||||
5. runReleaseSDK-equivalent function implemented
|
||||
6. Integration tests (`release/sdk_test.go`)
|
||||
7. Final verification complete
|
||||
|
||||
### Design Evolution
|
||||
|
||||
The `--target sdk` flag on the release command was replaced by a dedicated `core build sdk` subcommand, which provides cleaner UX. The `release/sdk.go` RunSDK function remains available for programmatic use in the release pipeline.
|
||||
Loading…
Add table
Reference in a new issue