Orrery.
← All Stars

public Star · 0.1.0

orrery/table-diff

Pure bounded comparison of two caller-provided tabular snapshots.

Use this when

  • You have two small snapshots and need a keyed diff
  • You want a deterministic table verdict without fetching data

Not for

  • Huge tables
  • Fuzzy matching
  • Live dataset fetches

Inputs / Outputs

Inputs

NameTypeNotes
left required object
right required object
key_column required string

Outputs

NameTypeNotes
verdict object
envelope signed-envelope

Example

{
  "method": "tools/call",
  "params": {
    "name": "diff",
    "arguments": {
      "left": {
        "rows": [
          {
            "id": "1",
            "value": "a"
          }
        ]
      },
      "right": {
        "rows": [
          {
            "id": "1",
            "value": "a"
          }
        ]
      },
      "key_column": "id"
    }
  }
}

Tools

diff Compare two small table snapshots using one explicit unique key column · schema
{
  "type": "object",
  "properties": {
    "left": {
      "type": "object",
      "properties": {
        "rows": {
          "type": "array",
          "maxItems": 100,
          "items": {
            "type": "object",
            "minProperties": 1,
            "maxProperties": 25,
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1024
                },
                {
                  "type": "integer"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "digest": {
          "type": "string",
          "maxLength": 200
        }
      },
      "required": [
        "rows"
      ],
      "additionalProperties": false
    },
    "right": {
      "type": "object",
      "properties": {
        "rows": {
          "type": "array",
          "maxItems": 100,
          "items": {
            "type": "object",
            "minProperties": 1,
            "maxProperties": 25,
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1024
                },
                {
                  "type": "integer"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        "digest": {
          "type": "string",
          "maxLength": 200
        }
      },
      "required": [
        "rows"
      ],
      "additionalProperties": false
    },
    "key_column": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    }
  },
  "required": [
    "left",
    "right",
    "key_column"
  ],
  "additionalProperties": false
}

In constellations