Skip to content

feat(oxc-reference): record TS7 boundary evidence - #38

Merged
swernerx merged 1 commit into
mainfrom
codex/issue-20-ts7-oxc-evidence
Aug 17, 2026
Merged

feat(oxc-reference): record TS7 boundary evidence#38
swernerx merged 1 commit into
mainfrom
codex/issue-20-ts7-oxc-evidence

Conversation

@swernerx

Copy link
Copy Markdown
Owner

Closes #20

Evidence

Runs the real TypeScript 7 Go tsfacts producer over all six representative corpus cases, consumes schema-v1 JSON Lines through the internal Rust boundary, attaches TypeFacts to OXC nodes with response-global fact indices, and performs bounded graph inspection.

The checked macOS arm64 spike record reports:

  • 25 Go-oracle facts and 6,368 graph edges across 651 types, 556 declarations, 866 symbols, and 482 signatures.
  • 22/22 facts mapped and attached for the five OXC-parseable files: 15 exact, 7 normalized, 0 unmapped, 0 ambiguous, and 0 actual-root transport mismatches.
  • Three intentional syntax-recovery facts remain an explicit OXC consumer failure.
  • 1,361 truncated entities, 7 error-state entities, 0 unsupported entities in the live corpus, and separately tested unsupported/unmapped diagnostic paths.
  • Stable non-timing observations across both passes for every case.
  • First/repeated aggregate one-shot time of 634,312,462 ns / 247,002,000 ns, a 13,425,232-byte debug consumer executable, and 11,829,248-byte peak RSS on the recorded host.

These timings are spike evidence, not general performance or warm-project-reuse claims.

Changes

  • Add a one-command end-to-end evidence runner and deterministic machine-readable report.
  • Preserve response-global fact indices when attaching project-wide snapshots file by file.
  • Emit graph counts, sharing, budgets, timings, artifact/memory measurements, layered failures, mapping outcomes, inspection diagnostics, and Go/Rust transport differences.
  • Add a shared canonical fixture and focused Go/Rust tests for unsupported, unmapped, and truncated evidence paths.
  • Record the measured result and conservative migration decision in RFC 0001, ADR-0016, the migration contract, and consumer documentation.

ADR-0016 approves mechanical porting of occurrence identity and attachment plumbing behind the Go oracle. It approves no semantic checker category for replacement. Primitive/literal construction is only the next proposed independent Rust candidate; project loading, resolution, binding, symbols, inference, contextual typing, widening, overload/generic instantiation, narrowing, and recovery remain Go-authoritative.

The producer protocol is unchanged.

Validation

  • ./internal/oxc_reference/run-evidence.sh --output /tmp/ts7-oxc-evidence-final.json — passed all six cases; the JSON gate for repeated stability, ambiguity, and transport mismatches passed.
  • cargo fmt --check --manifest-path internal/oxc_reference/Cargo.toml — passed.
  • cargo clippy --locked --manifest-path internal/oxc_reference/Cargo.toml --all-targets -- -D warnings — passed.
  • cargo test --locked --manifest-path internal/oxc_reference/Cargo.toml — passed: 10 tests, 0 failed.
  • go test ./internal/tsfacts ./internal/occurrencemap ./internal/semanticfacts ./cmd/tsfacts — passed.
  • npx hereby build — passed.
  • npx hereby lint — passed: 0 issues in the main module and _tools.
  • npx hereby format — passed.
  • npx hereby test — passed across all Go packages. The sandboxed macOS run could not start FSEvents streams; the required unsandboxed rerun passed, including internal/fswatch and internal/lsp/lspwatcher.

@swernerx
swernerx merged commit 9fa5173 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.

Run the TS7 to internal OXC/Rust spike and record evidence

1 participant