Skip to content

Add transport-boundary conformance tests (#22) - #39

Merged
AntoineToussaint merged 1 commit into
mainfrom
issue-22-adopt-the-transport-neutral-kubernetes-manifest-bundle
Jul 30, 2026
Merged

Add transport-boundary conformance tests (#22)#39
AntoineToussaint merged 1 commit into
mainfrom
issue-22-adopt-the-transport-neutral-kubernetes-manifest-bundle

Conversation

@AntoineToussaint

Copy link
Copy Markdown
Contributor

Closes #22.

Summary

  • Issue Adopt the transport-neutral Kubernetes manifest bundle contract #22's primary deliverables — adopting the neutral restricted/portable output profile and the manifest-bundle contract — are hard-blocked on core#110, which is still open and absent from any published core release (latest v0.2.52 still ships KUBERNETES_OUTPUT_PROFILE_PROMOTABLE_GITOPS_V1 and the GitOps templating flag). Renaming against a neutral enum that does not exist yet would not compile, so that rename is deferred to when core#110 lands. The shared conformance workflow (.github#3) and the promotion driver (cli#160) are likewise still open, so no reusable workflow or external consumer exists to wire up.
  • What is enforceable today is the boundary itself: the plugin already carries no Git/GitHub/Argo/Flux client code and emits no reconciliation control-plane objects or repository source bindings. This PR locks that in with tests so the boundary can't silently regress before the neutral contract arrives.
  • No production code changes; CI already runs go test ./..., so the new checks run on every push without a bespoke job.

What this does not do (blocked)

  • Rename PROMOTABLE_GITOPS_V1 → neutral restricted/portable profile (needs core#110).
  • Emit the new bundle fields — canonical inventory, entry points, validation evidence, contract version (needs core#110).
  • Adopt the reusable manifest-only conformance workflow (needs .github#3).

Test plan

  • go test .TestDeploymentTemplatesCarryNoTransportBindings, TestRestrictedRenderCarriesNoTransportBindings, TestRuntimeSourceHasNoReconcilerIntegration pass.
  • go vet . and go build ./... clean.
  • Full suite unaffected (test-only addition).

🤖 Generated with Claude Code

Lock in the manifest-only boundary that is enforceable today: neither the
deployment templates nor the rendered restricted tree carry reconciliation
control-plane objects or repository source bindings, and runtime source links
no Git/GitHub/Argo/Flux client, shells out to no git/gh CLI, and embeds no
GitHub API endpoint.

The source check parses the Go AST so a forbidden term in a comment or doc
string is not mistaken for real integration, while os/exec shell-outs and
endpoint literals that a bare import denylist would miss are still caught. The
detector is covered directly by table tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@AntoineToussaint
AntoineToussaint force-pushed the issue-22-adopt-the-transport-neutral-kubernetes-manifest-bundle branch from 14ff10a to 768c187 Compare July 30, 2026 09:05
@AntoineToussaint
AntoineToussaint merged commit 2134f4b into main Jul 30, 2026
2 checks passed
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.

Adopt the transport-neutral Kubernetes manifest bundle contract

1 participant