Behavioral Conflict Lab · Early-stage OSS

The merge is clean.
The behavior?
Let's check.

Two changes can pass their tests separately and still break a requirement together. MergeWitness investigates that interaction and records a counterexample you can replay.

01 / OBSERVE02 / REPRODUCE03 / VERIFY
Specimen 001 / tenant pricing × cache

Correct alone.
Wrong together.

A demonstrated synthetic fixture: tenant-specific pricing meets a cache keyed only by SKU. Alpha's cached price can reach Beta.

INTERACTION EXPLORERIllustrated trace · no code execution
No interaction demonstrated in this state
  1. 01
    Alpha requests a productThe shared product price is returned.
  2. 02
    Beta requests the same productThe same shared product price is returned.
  3. 03
    Check the declared requirementThere is no tenant-specific pricing requirement yet.
THE REQUIREMENT

A tenant must receive its own price, regardless of which tenant made the previous request.

This explorer explains the published fixture. Run the repository's documented workflow to generate actual evidence.

The value is the sequence: Alpha first, then Beta, for the same SKU. Ordinary checks in the fixture remain green while the explicit behavior probe exposes the combined defect.

From revisions to evidence

Make the failure
inspectable.

The verifier evaluates observed results. An AI assistant may help propose a repair; it does not decide that the repair passed.

01

Compare four states

Base, change A, change B, and their combination. Keep revisions and declared checks identifiable.

02

Probe a requirement

Run an explicit behavioral check. Record what the probe exercised, expected, and observed.

03

Preserve a witness

Keep a reproducible sequence and its evidence. A result is meaningful within the probe's scope.

04

Check a candidate repair

Verify against frozen declared checks and feature checks. A candidate passing those checks is a bounded result.

An honest boundary

A lab with
receipts.

MergeWitness is a working open-source prototype created for the IBM Bob 2.0 Hackathon. Its original submission is preserved while judging is unresolved.

Read the frozen prototype documentation ↗
EXISTING PROTOTYPE

Concrete, inspectable foundations

Node.js core, CLI, MCP server, React lab, tests, retained evidence, two synthetic scenarios, and an MIT license.

NEXT / PLANNED

Stronger verification and isolation

Immutable repair attempts, broader evidence bundles, sandbox validation, developer experience, and optional Codex, Claude, and Gemini adapters.

CURRENT LIMIT

Trusted code and synthetic fixtures

External repository execution requires isolation work. No witness found by a probe does not certify a merge as safe. Product adoption and comparative performance remain to be established.

Built for maintainers and engineering teams

Bring a requirement.
Look for the interaction.

Start with the documented synthetic cases. Inspect the reports, understand the limits, and help shape a tool whose conclusions come with evidence.

Explore the open-source prototype ↗