Skip to content

feat(oxc-reference): add Go-vs-Rust semantic conformance gate - #44

Merged
swernerx merged 3 commits into
mainfrom
codex/issue-41-go-rust-conformance
Aug 17, 2026
Merged

feat(oxc-reference): add Go-vs-Rust semantic conformance gate#44
swernerx merged 3 commits into
mainfrom
codex/issue-41-go-rust-conformance

Conversation

@swernerx

Copy link
Copy Markdown
Owner

Summary

  • run the complete semantic corpus through the real Go tsfacts oracle and the Rust primitive/literal-v1 shadow candidate
  • compare fact identity, all five type-view roots, response-local graph identity, structured primitive/literal/union payloads, diagnostics, states, and truncation with deterministic JSON diffs
  • classify entries as semantic, transport, mapping, unsupported, or budget; fail CI on unexplained semantic/transport mismatches while publishing the full report as an artifact
  • record the exact compatibility threshold and independent-producer replacement checklist in ADR-0018 and the RFC/migration docs

Boundary

This remains a shadow comparison. The Go checker stays authoritative, the Rust candidate still projects the Go-produced graph, and the TS7 producer protocol and production routing are unchanged.

Current gate result

  • 6 corpus cases, 25 facts
  • 125/125 ordered type-view roots preserve identity
  • 7/7 complete in-category records match (1,000,000 ppm)
  • semantic differences: 0
  • transport differences: 0
  • expected unsupported/error observations: 12
  • expected budget/truncation observations: 46
  • separately reported recovery-file mapping differences: 3
  • blocking differences: 0
  • two complete report runs were byte-identical

Validation

  • cargo fmt --manifest-path internal/oxc_reference/Cargo.toml --all -- --check
  • cargo clippy --locked --manifest-path internal/oxc_reference/Cargo.toml --all-targets -- -D warnings
  • cargo test --locked --manifest-path internal/oxc_reference/Cargo.toml — 14 passed
  • ./internal/oxc_reference/run-conformance.sh --output /tmp/ts7-rust-conformance-final.json — passed
  • gofmt -d cmd/tsfacts/*.go internal/semanticfacts/*.go internal/tsfacts/*.go — no diff
  • go test -count=1 ./... — passed
  • go build -tags=noembed -o /tmp/tsfacts-issue41 ./cmd/tsfacts
  • npx hereby lint — 0 issues
  • npx hereby check:format
  • npx hereby build
  • git diff --cached --check

Closes #41

@swernerx
swernerx merged commit 38b873f into main Aug 17, 2026
19 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.

Add Go-vs-Rust semantic conformance gate

1 participant