feat(deploy): expand DeployTargetPort to canonical 7-op contract (S0, early-cut)#370
Merged
Merged
Conversation
…(S0) Additively expand the deploy target port to the Archetype 7 canonical 7-op lifecycle contract, the rebase point for the sibling cloud-adapter slices (#342 Deno Deploy, #343 Aspire) which consume this port. - Add DeployOperation (plan/emit/up/down/status/logs/rollback/secrets) and keep the legacy build/install/uninstall verbs as LegacyDeployOperation aliases; DeployTargetOperation is their union. - Add optional 7-op method signatures on DeployTargetPort via a shared DeployTargetOperationHandler; retain the legacy build/install/uninstall methods so the shipped WindowsServiceDeployTarget stub and command-registry_test stay green untouched (stub evolves at S8). - Reserve the linux-service registry key at the type level via KnownDeployTargetKey (no adapter registered yet; that is S8). - Export the new contract types from extension-points for sibling slices. - rollback/secrets are declared present-but-deferred (bodies land in #341). Pure type-level + registry-shape; no bare-metal bodies, no OsServicePort, no config. Independently mergeable. Refs #339 #340 #327 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN
rickylabs
marked this pull request as ready for review
July 3, 2026 09:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Standalone, additive expansion of
DeployTargetPortto the canonical 7-op deployment-adapter contract (plan/emit·up·down·status·logs·rollback·secrets), retaining the legacybuild/install/uninstallverb aliases so the shipped 3-op seed and its stub adapter keep compiling unchanged.This is S0 of the bare-metal slice (#339/#340, PR #364), cut into its own PR so it can merge early and unblock the downstream slices that consume the expanded port — #342 (Deno Deploy marquee, PR #359) and #343 (Aspire, PR #363) — without waiting for the full bare-metal implementation (S5→S11).
Type-level only: no runtime behavior changes, no adapter rewiring, no CLI surface changes. PR #364 rebases onto this; git drops the now-identical patch cleanly.
Changes
deploy-target-port.ts— canonical 7-opDeployTargetPortcontract + retained legacy verb aliases (additive union).deploy-target-port_test.ts— asserts the 7-op names, the retained legacy aliases, canonical-subset adapters, and the reservedlinux-serviceregistry key.deploy-target-registry-port.ts— reserves thelinux-servicekey at the type level.extension-points.ts— surfaces the expanded operation set.Validation
deno check --unstable-kvon all 4 changed files — clean.deno testdeploy-target-port_test.ts— 4 passed / 0 failed.deno lint(scoped wrapper) — 0 findings.packages/cliis outside the CIfmt:checkscope; files are byte-identical to the CI-green source commit.SKILL
netscript-doctrine— Archetype 7 (Deployment Target Adapter); the 7-op canonical contract this PR realizes.netscript-cli— the CLI kernel/domain/ports layering that hostsDeployTargetPort.netscript-harness— slice/gate workflow this S0 cut belongs to.netscript-pr— branch/PR conventions (explicit refspec, Closes/Refs keyword, this SKILL chapter).Refs #339, #340, #327, #342, #343 (partial S0 of #339/#340; PR #364 remains the closer for the full bare-metal slice)
🤖 Generated with Claude Code
https://claude.ai/code/session_012wKHquACkXnWPDgJYhhFjN