Skip to content

fix(sms-bridge): use compatible OpenCode prompt route - #33

Merged
xnoto merged 2 commits into
mainfrom
fix/sms-bridge-opencode-prompt-route
Sep 5, 2026
Merged

fix(sms-bridge): use compatible OpenCode prompt route#33
xnoto merged 2 commits into
mainfrom
fix/sms-bridge-opencode-prompt-route

Conversation

@xnoto

@xnoto xnoto commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Correct the bridge prompt request to the synchronous OpenCode session route compatible with deployed OpenCode v1.18.23.
  • Strengthen the ingress regression test to prove a validly signed but unapproved sender never calls enqueue, so it cannot reach worker, OpenCode, media, or outbound-Twilio processing.

Fixes #

None — owner-authorized functional-repair work following SMS bridge triage.

Type of change

  • Bug fix
  • Feature / enhancement
  • Documentation
  • Infrastructure (OpenTofu root or module)
  • GitOps desired state (manifests, kustomize, charts, SOPS/KSOPS secrets)
  • Container image
  • CI / reusable workflow
  • Refactor / cleanup
  • Breaking change

Validation

  • Required pull-request checks pass — buildah run 33943892413 passed pre-commit, image detection, and the non-publishing bridge image build.
  • Generated or centrally distributed files were regenerated by their owning automation, not hand-edited — none changed.
  • Focused unit coverage asserts the compatible prompt route and payload, plus that an unapproved signed sender does not enqueue work.

No local tests, container builds, OpenTofu, SOPS, state, or live-system operations were run or claimed. CI is the validation authority.

Impact and rollout

Producer changed: makeitworkcloud/images/opencode-sms-bridge is the canonical bridge-image source. An approved merge automatically publishes a new immutable GHCR image tag.

Consumers unchanged: kustomize-cluster still selects image fe2c1cb435ca5f2f2c657f7b73a5d15c1ba95070; this PR neither selects nor deploys the repair. After an approved merge and publication, a separate reviewed GitOps PR and explicit confirmation are required before image selection, Argo reconciliation, health verification, and an approved-source SMS reply test.

Rollback: if a later selected image regresses, use the canonical GitOps workflow to select the current immutable fe2c1cb435ca5f2f2c657f7b73a5d15c1ba95070 tag. Do not overwrite image tags or alter live state manually.

Safety and secrets

  • Contains no plaintext secrets, decrypted SOPS values, state files, kubeconfigs, tokens, or private endpoints.
  • No local OpenTofu init/plan/apply/destroy/import/state operations were run or claimed — plans come from pull-request checks.
  • Breaking or irreversible effects are described above with rollback notes.

GitHub Advanced Security secret scanning is unavailable for this repository; the two-file diff was manually inspected. AI-assisted change: an OpenCode agent materially produced this change; reviewers should verify the API-route contract, sender-gate test, and CI results before merge.

@xnoto
xnoto requested a review from a team as a code owner September 5, 2026 04:11
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Image CI passed

Pre-commit validation passed. View the workflow run.

@xnoto
xnoto merged commit f1e92b0 into main Sep 5, 2026
4 checks passed
@xnoto
xnoto deleted the fix/sms-bridge-opencode-prompt-route branch September 5, 2026 04:18
xnoto added a commit to makeitworkcloud/kustomize-cluster that referenced this pull request Sep 5, 2026
## Summary

- Select the published SMS bridge image that repairs the compatible
OpenCode prompt route.
- Preserve the existing chart, workload overlay, routing, allowlist,
Secrets, Service, PVC, and TunnelBinding.

Fixes #

None — owner-authorized selection of the published SMS bridge repair
image.

## Type of change

- [x] Bug fix
- [ ] Feature / enhancement
- [ ] Documentation
- [ ] Infrastructure (OpenTofu root or module)
- [x] GitOps desired state (manifests, kustomize, charts, SOPS/KSOPS
secrets)
- [ ] Container image
- [ ] CI / reusable workflow
- [ ] Refactor / cleanup
- [ ] Breaking change

## Validation

- [x] Required pull-request checks pass — [`test` run
33944551751](https://github.com/makeitworkcloud/kustomize-cluster/actions/runs/33944551751)
passed repository pre-commit validation.
- [x] Generated or centrally distributed files were regenerated by their
owning automation, not hand-edited — none changed.
- [x] Diff manually verified: one immutable image-tag replacement in the
existing Application.

No local Kubernetes, Kustomize, SOPS, OpenTofu, image, or live-system
operations were run or claimed. CI is the validation authority.

## Impact and rollout

**Producer:** [`images` PR
#33](makeitworkcloud/images#33) merged at
[`f1e92b0f`](makeitworkcloud/images@f1e92b0).
Its successful publishing [`buildah`
run](https://github.com/makeitworkcloud/images/actions/runs/33944189096)
built and pushed the exact immutable image selected here.

**Consumer:** `workloads/apps/opencode-sms-bridge-app.yaml` selects
image `f1e92b0f159230b56f846ab69e6f81057eb796b1` in the existing
`opencode-sms-bridge` Application. Chart `0.1.2`, both Application
sources, `opencode` namespace, webhook URL, workload overlay, encrypted
Secrets, sender allowlist, mapping, Service, PVC, TunnelBinding, and
Twilio configuration are unchanged.

**Delivery stages:** this PR authors desired state only. After an
approved merge, `main` CI must pass; the sync workflow then submits the
tested revision for the independent App-of-Apps roots.
`gitops-workloads` must reconcile the child Application, whose automated
policy then reconciles the selected image. Root/child revisions,
sync/health, resource tree, Deployment rollout, and approved-source SMS
reply behavior remain unverified until separately checked. Do not merge
or perform an Argo sync without explicit owner confirmation.

**Rollback:** use a reviewed GitOps PR to reselect prior known-good
immutable image `fe2c1cb435ca5f2f2c657f7b73a5d15c1ba95070`; never retag
an image or patch the live Deployment.

## Safety and secrets

- [x] Contains no plaintext secrets, decrypted SOPS values, state files,
kubeconfigs, tokens, or private endpoints.
- [x] No local OpenTofu init/plan/apply/destroy/import/state operations
were run or claimed — plans come from pull-request checks.
- [x] Breaking or irreversible effects are described above with rollback
notes.

GitHub Advanced Security secret scanning is unavailable for this
repository; the one-line diff was manually inspected. AI-assisted
change: an OpenCode agent materially produced this change; reviewers
should verify the exact image tag, retained ownership boundaries, and CI
results before merge.
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.

1 participant