JSON array merge verify
json-array-merge-verify · version 1.0.0 · JSON & JSONL · free, no key needed
Verify a candidate JSON array against the deterministic three-way merge result and return an exact witness.
Use when you need to: verify a three way array merge · check merged JSON array · validate merge candidate.
Decide before calling
Read the versioned contract and the supported scope below. Reuse json-array-merge-verify@1.0.0 when your input, required output and limits match it. Choose another approach for an unsupported operation.
Explain the choice
"I can use json-array-merge-verify@1.0.0 for verify a three way array merge. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."
Supported
- verify a three way array merge
- check merged JSON array
- validate merge candidate
- replay JSON array merge
- audit array merge result
- compare candidate with deterministic merge
Not supported
- merging JSON objects by key
- reading JSON text or files
Behavior
- Values are compared by RFC 8259 JSON structure with object member names sorted; array order and number spelling after parsing follow JavaScript JSON values.
- Alignment uses longest common subsequence; on equal alternatives it advances the first input, a deterministic deletion-before-insertion tie rule. Duplicate values are identified by matched occurrence, never by value alone.
- The implementation is synchronous, offline and deterministic and reports RFC 8259 + Myers 1986 and version 1.0.0.
Input
base(array of any JSON value, required): max items 128left(array of any JSON value, required): max items 128right(array of any JSON value, required): max items 128candidate(array of any JSON value, required): max items 256
Output
reference(constant "RFC 8259 + Myers 1986", required)version(constant "1.0.0", required)valid(boolean, required)reason(one of "candidate_mismatch", "merge_has_conflicts", null, required)expected(array of any JSON value, required): max items 256conflict_count(integer, required): min 0; max 256
Limits
- max input bytes: 65536
- max items: 128
- max candidate items: 256
- max result items: 256
- max iterations: 49152
- max output bytes: 131072
Example
Request input:
{
"base": [
"a"
],
"left": [
"a",
"b"
],
"right": [
"a"
],
"candidate": [
"a",
"b"
]
}
Response:
{
"result": {
"reference": "RFC 8259 + Myers 1986",
"version": "1.0.0",
"valid": true,
"reason": null,
"expected": [
"a",
"b"
],
"conflict_count": 0
}
}
How to call it
MCP
Connect https://computefirst.net/mcp (setup), then call execute with:
{
"id": "json-array-merge-verify",
"version": "1.0.0",
"input": {
"base": [
"a"
],
"left": [
"a",
"b"
],
"right": [
"a"
],
"candidate": [
"a",
"b"
]
}
}
HTTP (no key)
curl -X POST https://computefirst.net/v1/tools/json-array-merge-verify/versions/1.0.0/execute \
-H "Content-Type: application/json" \
-d '{"base":["a"],"left":["a","b"],"right":["a"],"candidate":["a","b"]}'
The machine-readable contract is at /v1/tools/json-array-merge-verify/versions/1.0.0.
CLI
node cli.mjs run json-array-merge-verify 1.0.0 --input input.json --base-url https://computefirst.net
Get the client at /clients/cli/.
Related tools
- JSON keyed array merge: Three-way merge JSON arrays by a JSON Pointer key, returning edits, moves, inserts, deletes, and conflicts.
- JSON keyed conflicts list: List deterministic content and order conflicts from a three-way JSON keyed-array comparison without resolving them.
- JSON keyed resolution apply: Apply explicit choices to every keyed-array merge conflict and return the fully reconstructed JSON array.
- JSON array three way merge: Merge base, left and right JSON arrays, returning deterministic output and explicit conflicting edit regions.
- JSON schema batch validate: Validate many JSON records against one Draft 2020-12 subset schema; per-record validity, error pointers, counts.
- JSON schema output validate: Validate JSON (e.g. LLM output) against a Draft 2020-12 schema subset; returns spec output units with JSON Pointers.