agent-first-psql 0.8.1

A PostgreSQL interface for AI agents: reliable, structured, explicit, and read-only by default.
Documentation
{
  "$schema": "https://cmn.dev/schemas/v1/spore-core.json",
  "id": "agent-first-psql",
  "name": "Agent-First PSQL",
  "version": "0.8.1",
  "domain": "agentfirstkit.com",
  "key": "ed25519.BwbSzqdDYyMN1pPW5snRk3afrJAovHn8aueMvDpfNKVw",
  "synopsis": "A PostgreSQL interface for AI agents: reliable, structured, explicit, and read-only by default.",
  "intent": [
    "Give AI agents a persistent PostgreSQL client that reuses long-lived database connections and sessions, so agents send SQL requests as JSONL and receive structured JSONL responses without managing connection setup",
    "Bridge ad-hoc psql shell usage and protocol-specific integrations by providing transport-neutral, agent-native request and response framing",
    "Provide predictable machine-readable outputs for row sets, command status, and errors so agent workflows can branch without parsing human-formatted terminal output"
  ],
  "license": "MIT",
  "mutations": [
    "Fix the release smoke test to read errors from the diagnostic stream: it still captured only stdout, so after v0.8.0 split results from diagnostics it failed the platform binary build and left v0.8.0 published without downloadable artifacts",
    "Restore the smoke test's secret-leak assertion, which had been passing against an empty string and so verified nothing; it now checks that a configured secret appears on neither stdout nor stderr",
    "Assert stream redirection against the stream that carries the event: --stderr-file receives a runtime error under the default split, and --output-to stdout moves that same error into --stdout-file",
    "Run the release smoke as part of the project test gate instead of only inside the Release workflow, so a check that can fail a release fails the gate first"
  ],
  "bonds": [
    {
      "relation": "depends_on",
      "uri": "cmn://agentfirstkit.com/b3.3JvaoXaDbsCT6z16jtvCD1oGrPZEsEXGn6g1CWqKCpJF",
      "id": "agent-first-data",
      "reason": "All request/response fields use Agent-First Data suffix conventions and output formats"
    }
  ],
  "tree": {
    "algorithm": "blob_tree_blake3_nfc",
    "exclude_names": [
      ".git",
      ".cmn"
    ],
    "follow_rules": [
      ".gitignore"
    ]
  }
}