Skip to content

refactor(submitqueue): retire legacy entity JSON serializers - #780

Merged
behinddwalls merged 1 commit into
mainfrom
preetam/codex/356-retire-entity-serializers
Oct 6, 2026
Merged

behinddwalls merged 1 commit into
mainfrom
preetam/codex/356-retire-entity-serializers

Conversation

@behinddwalls

@behinddwalls behinddwalls commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Why?

The internal queue migration landed in #703, but unused JSON serializers remained on the full Request, Batch, and Build entities. These are the final serialization helpers covered by #356; production publishers, consumers, and DLQ reconciliation already use the proto contracts.

What?

  • Remove the remaining ToBytes/FromBytes helpers and their serializer-only tests, preserving lifecycle behavior tests and regenerating Bazel dependencies.
  • Verify unknown-field tolerance for all 11 current internal proto payloads without losing known fields.
  • Document the original hard-cutover rollout, including dead-letter handling and legacy enum/timestamp incompatibilities. This cleanup does not change the current wire format or message IDs.

Test Plan

  • ✅ ./tool/bazel test //submitqueue/... //service/submitqueue/... --test_output=errors — all 55 test targets pass, including contract, gateway, orchestrator, and DLQ tests.
  • ✅ make lint, make check-tidy, and make check-gazelle.
  • ✅ ./tool/bazel test //test/e2e/submitqueue:go_default_test --test_output=summary --sandbox_writable_path="$HOME/.docker" --test_filter=TestE2EIntegration — fake-provider end-to-end suite, passing on retry after one invocation received RPC Unimplemented responses. The writable path permits macOS Docker buildx to update its activity file.
  • ✅ ./tool/bazel test //test/e2e/submitqueue:go_default_test --test_output=summary --sandbox_writable_path="$HOME/.docker" --test_filter='TestGitMergeE2E/TestLand_(SingleChange_ReachesTheTargetBranch|Stack_LandsInOrderInOneRefUpdate)' — real-Git single-change and stacked-change cases pass with the cleanup.
  • ⚠️ The combined E2E run encountered real-Git failures: Git rejected the Docker-mounted /srv/git/sandbox.git as having dubious ownership. The full TestGitMergeE2E suite also reproduces this on unchanged main at 276bfcc2; its individual single-change/stack cases pass in isolation on that baseline. This pre-existing macOS/Docker ownership issue is outside the queue-contract cleanup.

aifx verify passed its ureview/artifact checks but could not complete its Go lint/coverage adapters; coverage reports a missing .arcconfig in this OSS repository. Repository-native checks above are the validation source.

Issue

Closes #356

## Summary

### Why?

The internal queue migration landed in #703, but unused JSON serializers remained on the full Request, Batch, and Build entities. These are the final serialization helpers covered by #356; production publishers, consumers, and DLQ reconciliation already use the proto contracts.

### What?

- Remove the remaining ToBytes/FromBytes helpers and their serializer-only tests, preserving lifecycle behavior tests and regenerating Bazel dependencies.
- Verify unknown-field tolerance for all 11 current internal proto payloads without losing known fields.
- Document the original hard-cutover rollout, including dead-letter handling and legacy enum/timestamp incompatibilities. This cleanup does not change the current wire format or message IDs.

## Test Plan

- ✅ `./tool/bazel test //submitqueue/... //service/submitqueue/... --test_output=errors` — all 55 test targets pass, including contract, gateway, orchestrator, and DLQ tests.
- ✅ `make lint`, `make check-tidy`, and `make check-gazelle`.
- ✅ `./tool/bazel test //test/e2e/submitqueue:go_default_test --test_output=summary --sandbox_writable_path="$HOME/.docker" --test_filter=TestE2EIntegration` — fake-provider end-to-end suite, passing on retry after one invocation received RPC Unimplemented responses. The writable path permits macOS Docker buildx to update its activity file.
- ✅ `./tool/bazel test //test/e2e/submitqueue:go_default_test --test_output=summary --sandbox_writable_path="$HOME/.docker" --test_filter='TestGitMergeE2E/TestLand_(SingleChange_ReachesTheTargetBranch|Stack_LandsInOrderInOneRefUpdate)'` — real-Git single-change and stacked-change cases pass with the cleanup.
- ⚠️ The combined E2E run encountered real-Git failures: Git rejected the Docker-mounted `/srv/git/sandbox.git` as having dubious ownership. The full `TestGitMergeE2E` suite also reproduces this on unchanged `main` at `276bfcc2`; its individual single-change/stack cases pass in isolation on that baseline. This pre-existing macOS/Docker ownership issue is outside the queue-contract cleanup.

`aifx verify` passed its ureview/artifact checks but could not complete its Go lint/coverage adapters; coverage reports a missing `.arcconfig` in this OSS repository. Repository-native checks above are the validation source.

## Issue

Closes #356

# Conflicts:
#	submitqueue/entity/batch_test.go
#	submitqueue/entity/request_test.go

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# interactive rebase in progress; onto 8ddc4c4
# Last command done (1 command done):
#    pick 31c46f1 # refactor(submitqueue): retire legacy entity JSON serializers
# No commands remaining.
# You are currently rebasing branch 'preetam/codex/356-retire-entity-serializers' on '8ddc4c49b'.
#
# Changes to be committed:
#	modified:   submitqueue/core/messagequeue/README.md
#	modified:   submitqueue/core/messagequeue/messagequeue_test.go
#	modified:   submitqueue/entity/BUILD.bazel
#	modified:   submitqueue/entity/batch.go
#	modified:   submitqueue/entity/batch_test.go
#	modified:   submitqueue/entity/build.go
#	modified:   submitqueue/entity/build_test.go
#	modified:   submitqueue/entity/request.go
#	modified:   submitqueue/entity/request_test.go
#
@behinddwalls
behinddwalls force-pushed the preetam/codex/356-retire-entity-serializers branch from b318492 to 0311a4b Compare October 6, 2026 20:55
@behinddwalls
behinddwalls added this pull request to the merge queue Oct 6, 2026
Merged via the queue into main with commit 25abb2d Oct 6, 2026
15 checks passed
@behinddwalls
behinddwalls deployed to stack-rebase October 6, 2026 21:06 — with GitHub Actions Active
@behinddwalls
behinddwalls deleted the preetam/codex/356-retire-entity-serializers branch October 6, 2026 21:07

This branch was successfully deployed

1 active deployment
stack-rebase — 0311a4b4 Deployed Oct 6, 2026 by behinddwalls via Rebase Stack #567
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.

submitqueue: port internal queue contracts to proto (submitqueue/core/messagequeue)

2 participants