agent-first-data 0.16.0

A naming convention that lets AI agents understand your data without being told what it means.
Documentation
{
  "$schema": "https://cmn.dev/schemas/v1/spore-core.json",
  "id": "agent-first-data",
  "name": "Agent-First Data",
  "version": "0.16.0",
  "domain": "agentfirstkit.com",
  "key": "ed25519.BwbSzqdDYyMN1pPW5snRk3afrJAovHn8aueMvDpfNKVw",
  "synopsis": "A naming convention that lets AI agents understand your data without being told what it means.",
  "intent": [
    "Encode all semantic information in the field name itself so agents parse structured data without external schemas, documentation, or type systems — _ms/_s/_epoch_ms for time, _msats/_sats/_usd_cents for currency, _bytes for size, _secret for auto-redaction",
    "Define a JSONL output protocol where every line carries a code field (startup for config state, tool-defined for status/progress, ok/error for results) plus a trace object for execution context (duration, token counts, cost, data source) — same structure whether the transport is CLI stdout, HTTP response body, MCP tool result, or SSE stream",
    "Provide three output formats via --output json|yaml|plain: JSON is the canonical lossless format, YAML preserves structure with quoted strings and --- separators, plain applies suffix-driven human formatting (epoch_ms → RFC 3339, _bytes → human-readable, _secret → ***, _ms ≥ 1000 → seconds)"
  ],
  "license": "MIT",
  "mutations": [
    "Redesign the SDK to a builders-only API across all four languages, removing legacy build_json_ok/build_json_error constructors and collapsing every _with_options variant into a single function with optional parameters",
    "Introduce AFDATA protocol v1: a finite CLI event stream of (log|progress)* followed by exactly one result or error, with typed envelopes carrying code, message, and an optional trace",
    "Add semantic CLI emitter methods (emit_result/emit_error/emit_progress/emit_log) that validate envelope shape and enforce the single-terminal-event lifecycle at the emitter",
    "Support protocol-compliant early exits so --help and --version emit structured events when --output json|yaml|plain is requested",
    "Route structured logging through protocol v1 log events, including a redacted startup diagnostic capturing resolved config, argv, and environment",
    "Add a machine-readable suffix registry and protocol JSON Schema, bundled as offline reference assets in every language package",
    "Add the _{code}_micro currency suffix for sub-cent precision as integer millionths of a currency unit, aimed at per-token LLM and metered-API pricing",
    "Publish a standard Agent Skill plus a skill-admin CLI subcommand that installs and serves the skill offline",
    "Harden redaction to scrub raw argv secrets, _url userinfo passwords and secret-named query parameters, and secret-flag help defaults",
    "Add optional stdout/stderr file redirection so services separate machine-readable protocol events from diagnostic output",
    "Distribute the afdata CLI as prebuilt binaries via Homebrew and Scoop in addition to crates.io, npm, and PyPI"
  ],
  "bonds": [],
  "tree": {
    "algorithm": "blob_tree_blake3_nfc",
    "exclude_names": [
      ".git",
      ".cmn",
      "node_modules",
      "target",
      "dist",
      "build",
      "__pycache__",
      ".venv"
    ],
    "follow_rules": [
      ".gitignore"
    ]
  }
}