Skip to content

deps: update ts/go deps; sort model JSON keys for byte-exact parity#10

Merged
rjrodger merged 1 commit into
mainfrom
claude/deps-output-parity-72myo6
Jun 22, 2026
Merged

deps: update ts/go deps; sort model JSON keys for byte-exact parity#10
rjrodger merged 1 commit into
mainfrom
claude/deps-output-parity-72myo6

Conversation

@rjrodger

Copy link
Copy Markdown
Contributor

Update dependencies in both implementations:

  • Go: aontu/go -> v0.1.4 (release tag), multisource/go -> v0.3.1.
  • TS: memfs -> 4.57.8. (@types/node 26 is held back: it drops the
    worker_threads TransferListItem type that pino's thread-stream needs,
    which breaks the build.)

Make the unified model output byte-for-byte identical across TS and Go.
Go's encoding/json already sorts object keys, so the TS model producer now
sorts them too (sortKeys in ts/src/producer/model.ts). Go disables
encoding/json HTML escaping (marshalModel) so <, > and & are emitted
literally as JSON.stringify does, and trims the encoder's trailing newline.
Both use a two-space indent; arrays keep their order.

Add parity tests in both languages (ts/test/parity.test.ts and
go/parity_test.go) that assert the same expected byte string, and update
AGENTS.md to record that the model JSON output is now byte-identical.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01UgsNvRoZYcHm2YDovCUQTP

Update dependencies in both implementations:
- Go: aontu/go -> v0.1.4 (release tag), multisource/go -> v0.3.1.
- TS: memfs -> 4.57.8. (@types/node 26 is held back: it drops the
  worker_threads TransferListItem type that pino's thread-stream needs,
  which breaks the build.)

Make the unified model output byte-for-byte identical across TS and Go.
Go's encoding/json already sorts object keys, so the TS model producer now
sorts them too (sortKeys in ts/src/producer/model.ts). Go disables
encoding/json HTML escaping (marshalModel) so <, > and & are emitted
literally as JSON.stringify does, and trims the encoder's trailing newline.
Both use a two-space indent; arrays keep their order.

Add parity tests in both languages (ts/test/parity.test.ts and
go/parity_test.go) that assert the same expected byte string, and update
AGENTS.md to record that the model JSON output is now byte-identical.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UgsNvRoZYcHm2YDovCUQTP
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@rjrodger rjrodger merged commit 0aa00f6 into main Jun 22, 2026
6 checks passed
@rjrodger rjrodger deleted the claude/deps-output-parity-72myo6 branch June 22, 2026 23:10
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.

2 participants