JSON keyed conflicts list
json-keyed-conflicts-list · version 1.0.0 · JSON & JSONL · free, no key needed
List deterministic content and order conflicts from a three-way JSON keyed-array comparison without resolving them.
Use when you need to: list keyed array merge conflicts · inspect JSON three way conflicts · find edit edit conflicts by key.
Decide before calling
Read the versioned contract and the supported scope below. Reuse json-keyed-conflicts-list@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-keyed-conflicts-list@1.0.0 for list keyed array merge conflicts. 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
- list keyed array merge conflicts
- inspect JSON three way conflicts
- find edit edit conflicts by key
- detect delete edit JSON conflicts
- check keyed merge is clean
- enumerate array order conflicts
Not supported
- return a merged array
- choose conflict resolutions
Behavior
- Implements RFC 8259 JSON, RFC 6901 pointer decoding, and packet-defined R23 keyed merge rules version 1.0.0.
- Conflicts are ordered by lexicographic key, followed by the optional global order conflict.
Input
base(array of any JSON value, required): max items 256left(array of any JSON value, required): max items 256right(array of any JSON value, required): max items 256key_pointer(string, required): min length 1; max length 1024
Output
reference(constant "RFC 8259 + RFC 6901 + ComputeFirst R23 keyed merge rules", required)version(constant "r23-json-keyed-merge-1.0.0", required)clean(boolean, required)conflict_count(integer, required): min 0; max 512conflicts(array of object, required): max items 512
Limits
- max input bytes: 262144
- max items per array: 256
- max nodes: 20000
- max depth: 32
- max conflicts: 512
- max output bytes: 524288
Example
Request input:
{
"base": [
{
"id": "x",
"n": 0
}
],
"left": [
{
"id": "x",
"n": 1
}
],
"right": [
{
"id": "x",
"n": 2
}
],
"key_pointer": "/id"
}
Response:
{
"result": {
"reference": "RFC 8259 + RFC 6901 + ComputeFirst R23 keyed merge rules",
"version": "r23-json-keyed-merge-1.0.0",
"clean": false,
"conflict_count": 1,
"conflicts": [
{
"conflict_id": "key:x",
"kind": "edit_edit",
"key": "x",
"base": {
"id": "x",
"n": 0
},
"left": {
"id": "x",
"n": 1
},
"right": {
"id": "x",
"n": 2
}
}
]
}
}
How to call it
MCP
Connect https://computefirst.net/mcp (setup), then call execute with:
{
"id": "json-keyed-conflicts-list",
"version": "1.0.0",
"input": {
"base": [
{
"id": "x",
"n": 0
}
],
"left": [
{
"id": "x",
"n": 1
}
],
"right": [
{
"id": "x",
"n": 2
}
],
"key_pointer": "/id"
}
}
HTTP (no key)
curl -X POST https://computefirst.net/v1/tools/json-keyed-conflicts-list/versions/1.0.0/execute \
-H "Content-Type: application/json" \
-d '{"base":[{"id":"x","n":0}],"left":[{"id":"x","n":1}],"right":[{"id":"x","n":2}],"key_pointer":"/id"}'
The machine-readable contract is at /v1/tools/json-keyed-conflicts-list/versions/1.0.0.
CLI
node cli.mjs run json-keyed-conflicts-list 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 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 array merge verify: Verify a candidate JSON array against the deterministic three-way merge result and return an exact witness.
- JSON fence extract: List Markdown fenced code blocks (CommonMark 0.31.2) with exact spans, unwrapped content and an RFC 8259 JSON check.
- JSON schema additional find: Find every member a JSON Schema 2020-12 "additionalProperties": false forbids, with the member's JSON Pointer.