anda_kip 0.13.0

A Rust SDK of KIP 2.0 (Knowledge Interaction Protocol) for building sustainable AI knowledge memory systems.
Documentation
{
  "name": "execute_kip",
  "description": "Executes KIP 2.0 (Knowledge Interaction Protocol) commands against your Cognitive Nexus — your persistent memory. Read with KQL (FIND), change cognition with KML (ASSERT / MUTATE / ENSURE / CREATE / UPDATE / TRANSITION / SET RETENTION / MERGE / PURGE), and ground or introspect with META (DESCRIBE / LIST / SEARCH / VERIFY / VALIDATE / PREVIEW / HISTORY / CHANGES / EXPORT CAPSULE). Remember: a Proposition existing is not the same as it being true — raw FIND reads claims, BELIEF projects what is currently believed. Never rewrite an Assertion to correct it; record a new one with SUPERSEDING.",
  "parameters": {
    "type": "object",
    "properties": {
      "command": {
        "type": "string",
        "description": "A single complete KIP 2.0 command (KQL / KML / META). Mutually exclusive with operations."
      },
      "operations": {
        "type": "array",
        "description": "Several KIP commands in one round-trip. This is a batch, not a transaction: set execution.mode to atomic if the whole set must commit or abort together. Several mutations that belong to one cognitive transition should instead be written as one MUTATE { ... } command.",
        "items": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "object",
              "properties": {
                "op_id": {
                  "type": "string",
                  "description": "A request-local name so this operation's result can be correlated in the response."
                },
                "command": {
                  "type": "string",
                  "description": "A complete KIP command."
                },
                "parameters": {
                  "type": "object",
                  "description": "Parameters scoped to this operation. They override shared parameters with the same keys."
                }
              },
              "required": [
                "command"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      "execution": {
        "type": "object",
        "description": "How the operations relate to one another. Required when more than one operation is sent.",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "independent",
              "sequence",
              "atomic"
            ],
            "description": "independent: unrelated, may run concurrently, failures isolated. sequence: ordered, each state change commits separately and earlier commits are NOT rolled back. atomic: one transaction, all-or-none."
          },
          "on_error": {
            "type": "string",
            "enum": [
              "stop",
              "continue"
            ],
            "description": "What a sequence run does after a failure. Illegal with atomic, which always aborts as a whole."
          },
          "idempotency_key": {
            "type": "string",
            "description": "Names one logical mutation intent. If a response is lost, retry the exact same request with the same key rather than writing again — a lost response is not proof the write failed."
          }
        },
        "required": [
          "mode"
        ],
        "additionalProperties": false
      },
      "parameters": {
        "type": "object",
        "description": "Values bound into the command's :placeholders. Binding is structural, never string interpolation: a placeholder must occupy a complete KIP value position (name: :name, LIMIT :limit, SEARCH CONCEPT :term). Do not embed one inside a quoted string such as \"Hello :name\". Parameter names match [A-Za-z_][A-Za-z0-9_]*."
      },
      "dry_run": {
        "type": "boolean",
        "description": "Validate and plan without committing. A dry run never establishes durable cognitive state."
      }
    },
    "oneOf": [
      {
        "required": [
          "command"
        ]
      },
      {
        "required": [
          "operations"
        ]
      }
    ],
    "additionalProperties": false
  }
}