From 8c9fdca5a63020a824e3917c7efe9f8be95a2e5a Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 24 Feb 2026 18:08:28 +0000 Subject: [PATCH] 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 --- ...026-01-29-code-signing-design-original.md} | 0 .../2026-01-29-code-signing-design.md | 29 +++++++++++++++++ .../2026-01-29-code-signing-impl-original.md} | 0 .../completed/2026-01-29-code-signing-impl.md | 19 +++++++++++ ...2026-01-29-core-devops-design-original.md} | 0 .../2026-01-29-core-devops-design.md | 32 +++++++++++++++++++ .../2026-01-29-core-devops-impl-original.md} | 0 .../completed/2026-01-29-core-devops-impl.md | 27 ++++++++++++++++ ...6-01-29-sdk-generation-design-original.md} | 0 .../2026-01-29-sdk-generation-design.md | 28 ++++++++++++++++ ...026-01-29-sdk-generation-impl-original.md} | 0 .../2026-01-29-sdk-generation-impl.md | 27 ++++++++++++++++ ...2026-01-29-sdk-release-design-original.md} | 0 .../2026-01-29-sdk-release-design.md | 24 ++++++++++++++ .../2026-01-29-sdk-release-impl-original.md} | 0 .../completed/2026-01-29-sdk-release-impl.md | 21 ++++++++++++ 16 files changed, 207 insertions(+) rename docs/plans/{2026-01-29-code-signing-design.md => completed/2026-01-29-code-signing-design-original.md} (100%) create mode 100644 docs/plans/completed/2026-01-29-code-signing-design.md rename docs/plans/{2026-01-29-code-signing-impl.md => completed/2026-01-29-code-signing-impl-original.md} (100%) create mode 100644 docs/plans/completed/2026-01-29-code-signing-impl.md rename docs/plans/{2026-01-29-core-devops-design.md => completed/2026-01-29-core-devops-design-original.md} (100%) create mode 100644 docs/plans/completed/2026-01-29-core-devops-design.md rename docs/plans/{2026-01-29-core-devops-impl.md => completed/2026-01-29-core-devops-impl-original.md} (100%) create mode 100644 docs/plans/completed/2026-01-29-core-devops-impl.md rename docs/plans/{2026-01-29-sdk-generation-design.md => completed/2026-01-29-sdk-generation-design-original.md} (100%) create mode 100644 docs/plans/completed/2026-01-29-sdk-generation-design.md rename docs/plans/{2026-01-29-sdk-generation-impl.md => completed/2026-01-29-sdk-generation-impl-original.md} (100%) create mode 100644 docs/plans/completed/2026-01-29-sdk-generation-impl.md rename docs/plans/{2026-01-29-sdk-release-design.md => completed/2026-01-29-sdk-release-design-original.md} (100%) create mode 100644 docs/plans/completed/2026-01-29-sdk-release-design.md rename docs/plans/{2026-01-29-sdk-release-impl.md => completed/2026-01-29-sdk-release-impl-original.md} (100%) create mode 100644 docs/plans/completed/2026-01-29-sdk-release-impl.md diff --git a/docs/plans/2026-01-29-code-signing-design.md b/docs/plans/completed/2026-01-29-code-signing-design-original.md similarity index 100% rename from docs/plans/2026-01-29-code-signing-design.md rename to docs/plans/completed/2026-01-29-code-signing-design-original.md diff --git a/docs/plans/completed/2026-01-29-code-signing-design.md b/docs/plans/completed/2026-01-29-code-signing-design.md new file mode 100644 index 0000000..1c228de --- /dev/null +++ b/docs/plans/completed/2026-01-29-code-signing-design.md @@ -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. diff --git a/docs/plans/2026-01-29-code-signing-impl.md b/docs/plans/completed/2026-01-29-code-signing-impl-original.md similarity index 100% rename from docs/plans/2026-01-29-code-signing-impl.md rename to docs/plans/completed/2026-01-29-code-signing-impl-original.md diff --git a/docs/plans/completed/2026-01-29-code-signing-impl.md b/docs/plans/completed/2026-01-29-code-signing-impl.md new file mode 100644 index 0000000..39a1f42 --- /dev/null +++ b/docs/plans/completed/2026-01-29-code-signing-impl.md @@ -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 diff --git a/docs/plans/2026-01-29-core-devops-design.md b/docs/plans/completed/2026-01-29-core-devops-design-original.md similarity index 100% rename from docs/plans/2026-01-29-core-devops-design.md rename to docs/plans/completed/2026-01-29-core-devops-design-original.md diff --git a/docs/plans/completed/2026-01-29-core-devops-design.md b/docs/plans/completed/2026-01-29-core-devops-design.md new file mode 100644 index 0000000..5ae972a --- /dev/null +++ b/docs/plans/completed/2026-01-29-core-devops-design.md @@ -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 diff --git a/docs/plans/2026-01-29-core-devops-impl.md b/docs/plans/completed/2026-01-29-core-devops-impl-original.md similarity index 100% rename from docs/plans/2026-01-29-core-devops-impl.md rename to docs/plans/completed/2026-01-29-core-devops-impl-original.md diff --git a/docs/plans/completed/2026-01-29-core-devops-impl.md b/docs/plans/completed/2026-01-29-core-devops-impl.md new file mode 100644 index 0000000..0800f6d --- /dev/null +++ b/docs/plans/completed/2026-01-29-core-devops-impl.md @@ -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. diff --git a/docs/plans/2026-01-29-sdk-generation-design.md b/docs/plans/completed/2026-01-29-sdk-generation-design-original.md similarity index 100% rename from docs/plans/2026-01-29-sdk-generation-design.md rename to docs/plans/completed/2026-01-29-sdk-generation-design-original.md diff --git a/docs/plans/completed/2026-01-29-sdk-generation-design.md b/docs/plans/completed/2026-01-29-sdk-generation-design.md new file mode 100644 index 0000000..db7e6d3 --- /dev/null +++ b/docs/plans/completed/2026-01-29-sdk-generation-design.md @@ -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` diff --git a/docs/plans/2026-01-29-sdk-generation-impl.md b/docs/plans/completed/2026-01-29-sdk-generation-impl-original.md similarity index 100% rename from docs/plans/2026-01-29-sdk-generation-impl.md rename to docs/plans/completed/2026-01-29-sdk-generation-impl-original.md diff --git a/docs/plans/completed/2026-01-29-sdk-generation-impl.md b/docs/plans/completed/2026-01-29-sdk-generation-impl.md new file mode 100644 index 0000000..e67a529 --- /dev/null +++ b/docs/plans/completed/2026-01-29-sdk-generation-impl.md @@ -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 diff --git a/docs/plans/2026-01-29-sdk-release-design.md b/docs/plans/completed/2026-01-29-sdk-release-design-original.md similarity index 100% rename from docs/plans/2026-01-29-sdk-release-design.md rename to docs/plans/completed/2026-01-29-sdk-release-design-original.md diff --git a/docs/plans/completed/2026-01-29-sdk-release-design.md b/docs/plans/completed/2026-01-29-sdk-release-design.md new file mode 100644 index 0000000..4827499 --- /dev/null +++ b/docs/plans/completed/2026-01-29-sdk-release-design.md @@ -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 diff --git a/docs/plans/2026-01-29-sdk-release-impl.md b/docs/plans/completed/2026-01-29-sdk-release-impl-original.md similarity index 100% rename from docs/plans/2026-01-29-sdk-release-impl.md rename to docs/plans/completed/2026-01-29-sdk-release-impl-original.md diff --git a/docs/plans/completed/2026-01-29-sdk-release-impl.md b/docs/plans/completed/2026-01-29-sdk-release-impl.md new file mode 100644 index 0000000..c22920f --- /dev/null +++ b/docs/plans/completed/2026-01-29-sdk-release-impl.md @@ -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.