{"count":16,"capabilities":[{"id":"calc.stats","version":"1.0.0","summary":"Deterministic descriptive statistics for a numeric series.","tags":["calculation","statistics","deterministic"],"input_schema":{"type":"object","properties":{"values":{"type":"array","items":{"type":"number"},"minItems":1,"maxItems":10000},"percentiles":{"type":"array","items":{"type":"number","minimum":0,"maximum":100}}},"required":["values"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"count":{"type":"integer"},"sum":{"type":"number"},"min":{"type":"number"},"max":{"type":"number"},"mean":{"type":"number"},"median":{"type":"number"},"stdev":{"type":"number"},"variance":{"type":"number"},"percentiles":{"type":"object"}},"required":["count","mean","median","percentiles"],"additionalProperties":false},"failure_modes":["NaN/Infinity rejected"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"numeric summarization off-model removes a whole class of arithmetic hallucination","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_73bbc21466da","gate":{"capability":"calc.stats","version":"1.0.0","total":2,"passed":2,"failed":0,"ok":true,"avg_latency_ms":0.187,"failures":[]}},{"id":"calc.unit_convert","version":"1.0.0","summary":"Deterministic unit conversion (length, mass, time, data, temperature).","tags":["calculation","units","deterministic"],"input_schema":{"type":"object","properties":{"value":{"type":"number"},"from":{"type":"string"},"to":{"type":"string"}},"required":["value","from","to"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"value":{"type":"number"},"from":{"type":"string"},"to":{"type":"string"},"result":{"type":"number"},"dimension":{"type":"string"}},"required":["value","from","to","result","dimension"],"additionalProperties":false},"failure_modes":["cross-dimension conversions rejected with a structured error"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"unit arithmetic is a known LLM failure mode; agents want it exact","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_e0abb1e403b6","gate":{"capability":"calc.unit_convert","version":"1.0.0","total":3,"passed":3,"failed":0,"ok":true,"avg_latency_ms":0.009,"failures":[]}},{"id":"code.semver_compare","version":"1.0.0","summary":"Compare semantic versions or test a version against a constraint.","tags":["code","semver","dependency"],"input_schema":{"type":"object","properties":{"a":{"type":"string"},"b":{"type":"string"},"version":{"type":"string"},"constraint":{"type":"string"}},"required":[],"additionalProperties":false},"output_schema":{"type":"object","properties":{"a":{"type":"string"},"b":{"type":"string"},"comparison":{"type":"integer"},"relation":{"type":"string"},"version":{"type":"string"},"constraint":{"type":"string"},"satisfies":{"type":"boolean"}},"required":[],"additionalProperties":false},"failure_modes":["non-semver strings rejected (no 4-part or date versions)"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"dependency reasoning shows up in most build/deploy agent workflows","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_85fbb730c8e6","gate":{"capability":"code.semver_compare","version":"1.0.0","total":4,"passed":4,"failed":0,"ok":true,"avg_latency_ms":0.054,"failures":[]}},{"id":"data.dedupe","version":"1.0.0","summary":"Deduplicate JSON records exactly, optionally by key subset.","tags":["data","dedupe","cleaning"],"input_schema":{"type":"object","properties":{"records":{"type":"array","minItems":1,"maxItems":5000},"keys":{"type":"array","items":{"type":"string"}},"case_insensitive":{"type":"boolean"}},"required":["records"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"unique":{"type":"array"},"kept":{"type":"integer"},"removed":{"type":"integer"},"duplicates":{"type":"array"}},"required":["unique","kept","removed","duplicates"],"additionalProperties":false},"failure_modes":["exact/canonical matching only — no fuzzy dedupe (see data.record_link)"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"dedupe precedes almost every aggregation an agent does","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_fa8c0ca9a94b","gate":{"capability":"data.dedupe","version":"1.0.0","total":1,"passed":1,"failed":0,"ok":true,"avg_latency_ms":0.034,"failures":[]}},{"id":"data.record_link","version":"1.0.0","summary":"Fuzzy-match records across two lists by a key field.","tags":["data","entity-resolution","matching"],"input_schema":{"type":"object","properties":{"left":{"type":"array","items":{"type":"object"},"minItems":1,"maxItems":1000},"right":{"type":"array","items":{"type":"object"},"minItems":1,"maxItems":1000},"left_key":{"type":"string"},"right_key":{"type":"string"},"threshold":{"type":"number","minimum":0.5,"maximum":1}},"required":["left","right","left_key","right_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"matches":{"type":"array"},"unmatched_left":{"type":"array"},"unmatched_right":{"type":"array"}},"required":["matches","unmatched_left","unmatched_right"],"additionalProperties":false},"failure_modes":["character-similarity only (no semantic matching)","capped at 250k comparisons"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion","re-identification of individuals from de-identified data"],"safety_class":"deterministic_transform","demand_hypothesis":"cross-source entity joins are a constant multi-agent workflow need","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_b54d51075771","gate":{"capability":"data.record_link","version":"1.0.0","total":1,"passed":1,"failed":0,"ok":true,"avg_latency_ms":57.493,"failures":[]}},{"id":"json.canonicalize","version":"1.0.0","summary":"RFC 8785 (JCS) canonical form + sha256 of any JSON value.","tags":["json","canonicalization","hashing","jcs","provenance"],"input_schema":{"type":"object","properties":{"value":{}},"required":["value"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"canonical":{"type":"string"},"sha256":{"type":"string"},"bytes":{"type":"integer"}},"required":["canonical","sha256","bytes"],"additionalProperties":false},"failure_modes":["non-JSON-serializable payloads are rejected at the schema gate"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"content-addressing is the primitive under receipts and attestations; agents need it identical cross-language","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_747b89491cdf","gate":{"capability":"json.canonicalize","version":"1.0.0","total":1,"passed":1,"failed":0,"ok":true,"avg_latency_ms":0.041,"failures":[]}},{"id":"json.diff","version":"1.0.0","summary":"Structural diff of two JSON values with per-path changes.","tags":["json","diff","verification"],"input_schema":{"type":"object","properties":{"a":{},"b":{}},"required":["a","b"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"equal":{"type":"boolean"},"changes":{"type":"array"},"change_count":{"type":"integer"}},"required":["equal","changes","change_count"],"additionalProperties":false},"failure_modes":["change list capped at 500","list diffs are positional, not move-aware"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"output verification between agents needs a neutral, deterministic diff","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_cab59ff2f609","gate":{"capability":"json.diff","version":"1.0.0","total":2,"passed":2,"failed":0,"ok":true,"avg_latency_ms":0.024,"failures":[]}},{"id":"json.path_extract","version":"1.0.0","summary":"Extract values at dotted/indexed paths from a JSON value.","tags":["json","extraction","path"],"input_schema":{"type":"object","properties":{"value":{},"paths":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":200}},"required":["value","paths"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"results":{"type":"array"}},"required":["results"],"additionalProperties":false},"failure_modes":["no wildcard/filter syntax — literal paths only"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"field extraction from API responses is the most common micro-task in tool pipelines","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_a60a5a8feab2","gate":{"capability":"json.path_extract","version":"1.0.0","total":1,"passed":1,"failed":0,"ok":true,"avg_latency_ms":0.017,"failures":[]}},{"id":"json.repair","version":"1.0.0","summary":"Repair malformed JSON (LLM output, logs) into parseable JSON.","tags":["json","repair","llm-output","parsing"],"input_schema":{"type":"object","properties":{"text":{"type":"string","maxLength":60000}},"required":["text"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"ok":{"type":"boolean"},"parsed":{},"repaired":{"type":"string"},"changed":{"type":"boolean"},"steps":{"type":"array","items":{"type":"string"}}},"required":["ok","parsed","repaired","changed","steps"],"additionalProperties":false},"failure_modes":["irreparably corrupted input returns ok=false with the best repair attempt","semantic ambiguity is resolved mechanically, not by intent"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"every LLM pipeline hits malformed JSON; deterministic repair beats re-prompting on cost and latency","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_24a106fbe935","gate":{"capability":"json.repair","version":"1.0.0","total":4,"passed":4,"failed":0,"ok":true,"avg_latency_ms":0.096,"failures":[]}},{"id":"json.schema_infer","version":"1.0.0","summary":"Infer a JSON Schema from example instances.","tags":["json","schema","inference"],"input_schema":{"type":"object","properties":{"examples":{"type":"array","minItems":1,"maxItems":100}},"required":["examples"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"schema":{"type":"object"},"examples_used":{"type":"integer"}},"required":["schema","examples_used"],"additionalProperties":false},"failure_modes":["inferred schemas are permissive generalizations, not specifications"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"agents receiving unknown API payloads need a schema to negotiate against","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_2e6a83933f92","gate":{"capability":"json.schema_infer","version":"1.0.0","total":1,"passed":1,"failed":0,"ok":true,"avg_latency_ms":0.022,"failures":[]}},{"id":"json.validate","version":"1.0.0","summary":"Validate a JSON instance against a JSON Schema (draft 2020-12).","tags":["json","schema","validation"],"input_schema":{"type":"object","properties":{"instance":{},"schema":{"type":"object"}},"required":["instance","schema"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"valid":{"type":"boolean"},"errors":{"type":"array"},"error_count":{"type":"integer"}},"required":["valid","errors","error_count"],"additionalProperties":false},"failure_modes":["invalid schemas are rejected with a structured error","error list capped at 50"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"schema validation is the handshake primitive of a2a interop; agents need it verifiable and off-model","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_cc136ac7e13f","gate":{"capability":"json.validate","version":"1.0.0","total":2,"passed":2,"failed":0,"ok":true,"avg_latency_ms":0.427,"failures":[]}},{"id":"table.csv_to_json","version":"1.0.0","summary":"Parse CSV/TSV text into JSON row objects (delimiter auto-detected).","tags":["csv","table","transform"],"input_schema":{"type":"object","properties":{"csv":{"type":"string","maxLength":60000},"delimiter":{"type":"string","maxLength":1},"has_header":{"type":"boolean"}},"required":["csv"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"rows":{"type":"array"},"columns":{"type":"array"},"count":{"type":"integer"},"delimiter":{"type":"string"}},"required":["rows","columns","count"],"additionalProperties":false},"failure_modes":["all cells returned as strings (no type coercion)","ragged rows padded/truncated to header width"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"CSV is the lingua franca of exported data; agents constantly need it structured","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_03652d67775e","gate":{"capability":"table.csv_to_json","version":"1.0.0","total":1,"passed":1,"failed":0,"ok":true,"avg_latency_ms":0.761,"failures":[]}},{"id":"table.json_to_csv","version":"1.0.0","summary":"Serialize an array of JSON objects to CSV.","tags":["csv","table","transform"],"input_schema":{"type":"object","properties":{"rows":{"type":"array","minItems":1,"maxItems":5000,"items":{"type":"object"}},"columns":{"type":"array","items":{"type":"string"}}},"required":["rows"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"csv":{"type":"string"},"columns":{"type":"array"},"count":{"type":"integer"}},"required":["csv","columns","count"],"additionalProperties":false},"failure_modes":["missing keys become empty cells"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"the inverse transform of csv_to_json; pairs compose into pipelines","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_3d4eac768a01","gate":{"capability":"table.json_to_csv","version":"1.0.0","total":1,"passed":1,"failed":0,"ok":true,"avg_latency_ms":0.019,"failures":[]}},{"id":"table.markdown_extract","version":"1.0.0","summary":"Extract structured tables from markdown text.","tags":["markdown","table","extraction"],"input_schema":{"type":"object","properties":{"markdown":{"type":"string","maxLength":60000}},"required":["markdown"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"tables":{"type":"array"},"count":{"type":"integer"}},"required":["tables","count"],"additionalProperties":false},"failure_modes":["only pipe-style tables with a separator row are detected"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"models emit markdown tables; downstream tools need arrays","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_8b262ab93b1b","gate":{"capability":"table.markdown_extract","version":"1.0.0","total":1,"passed":1,"failed":0,"ok":true,"avg_latency_ms":0.017,"failures":[]}},{"id":"text.date_normalize","version":"1.0.0","summary":"Normalize arbitrary date strings to ISO 8601.","tags":["dates","normalization","iso8601"],"input_schema":{"type":"object","properties":{"dates":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":500},"dayfirst":{"type":"boolean"}},"required":["dates"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"results":{"type":"array"},"parsed":{"type":"integer"},"failed":{"type":"integer"}},"required":["results","parsed","failed"],"additionalProperties":false},"failure_modes":["ambiguous day/month resolved by the dayfirst flag (default month-first)","missing components default (year required)"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"date normalization is a classic silent-failure zone for LLMs; determinism wins","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_2e32ec99f102","gate":{"capability":"text.date_normalize","version":"1.0.0","total":2,"passed":2,"failed":0,"ok":true,"avg_latency_ms":0.753,"failures":[]}},{"id":"text.regex_extract","version":"1.0.0","summary":"Bounded, safe regex extraction over text.","tags":["text","regex","extraction"],"input_schema":{"type":"object","properties":{"text":{"type":"string","maxLength":60000},"pattern":{"type":"string","maxLength":300},"flags":{"type":"array","items":{"enum":["i","m","s"]}},"max_matches":{"type":"integer","minimum":1,"maximum":1000}},"required":["text","pattern"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"matches":{"type":"array"},"count":{"type":"integer"},"truncated":{"type":"boolean"}},"required":["matches","count","truncated"],"additionalProperties":false},"failure_modes":["catastrophic-backtracking-shaped patterns rejected upfront","Python `re` dialect"],"prohibited_uses":["processing data the caller has no right to process","attempting to trigger code execution or resource exhaustion"],"safety_class":"deterministic_transform","demand_hypothesis":"pattern extraction is cheaper here than one model call in any pipeline","baseline":"generic model completion: slower, non-deterministic, costlier, and unverifiable","published":true,"ag_id":"agid_badab91249a4","gate":{"capability":"text.regex_extract","version":"1.0.0","total":2,"passed":2,"failed":0,"ok":true,"avg_latency_ms":0.083,"failures":[]}}],"publish_gate":"an identity is only published after its fixture suite passes fully"}