Alignment model

Conformance keeps the implementations aligned.

StructuredMerge keeps four reference implementations aligned by testing native code against shared fixtures and normalized result shapes.

Spec

The ruleset draft names the merge vocabulary: owners, match behavior, read behavior, attachments, diagnostics, and review state.

Fixtures

The fixture corpus turns that vocabulary into cases that can be run by independent implementations.

Implementations

Go, TypeScript, Rust, and Ruby provide native runtime surfaces while reporting against the same contract.

Implementation track

Shared families before broad claims.

Area Requirement
Diagnostics and result contracts Same category names and report shapes across implementations.
Text, JSON, and JSONC Early alignment target for parsing, matching, and merge-resolution behavior.
TOML and YAML Config-family suites with explicit backend capability reporting.
Source-language families Go, TypeScript, Rust, and Ruby fixture families for code-aware merge cases.
Review and replay Unresolved cases should be reported in a form that can be reviewed and replayed.

What a new implementation needs

A new language implementation does not need to copy another runtime's internals. It needs to consume the public fixture corpus, expose the relevant family packages, and report unsupported or unresolved behavior explicitly.

That keeps runtime choice separate from merge semantics.

Conformance signals

  • Native tests run against shared fixtures
  • Skipped cases are visible
  • Backend limits are declared
  • Diagnostics use shared names
  • Review state is stable enough to replay

Inspect the current conformance work.

Read the matrix Browse fixtures