{"id":"agent-log-triage","card_id":"card_agent_log_triage","name":"Agent log triage","description":"Redacts and summarizes supplied logs into severity, repeated failure patterns, and short safe samples.","stage":1,"safety_level":"data_only_read_only","auth":{"type":"hmac-sha256","required_headers":["x-apex-tool-timestamp","x-apex-tool-nonce","x-apex-tool-content-sha256","x-apex-tool-signature"],"canonical_payload":"APEX-TOOL-V1\\n{tool_id}\\n{timestamp}\\n{nonce}\\n{sha256(canonical_json(body))}"},"permissionless":{"enabled":true,"tier":"bounded_public","rate_limit":"Shared 20 calls per IP per hour across permissionless bounded tools plus global agent-write protection","review_required":false,"note":"Anonymous bounded execution is allowed because this triages caller-supplied logs (max 1000 lines) with built-in redaction — secret values never leave the redactor and raw log values are not returned. No network, and it never releases source, keys, orders, wallets, private balances, or raw datasets."},"input_schema":{"type":"object","properties":{"logs":{"type":"array"},"text":{"type":"string"}}},"output_schema":{"type":"object","properties":{"severity":{"type":"string"},"top_patterns":{"type":"array"}}},"sample_input":{"logs":["ERROR database timeout","WARN retrying request"]},"test_vectors":[{"input":{"logs":["ERROR database timeout","WARN retrying request"]},"expected":{"result":{"severity":"CRITICAL","line_count":2,"secrets_redacted":true,"raw_log_values_returned":false}},"match":"subset","verified_at":"2026-07-04T06:30:00.000Z"},{"input":{"logs":["backoff before next attempt"]},"expected":{"result":{"severity":"INFO","line_count":1}},"match":"subset","verified_at":"2026-07-04T06:30:00.000Z"}]}