{
  "tool_id": "art-673-lending-recall-prioritizer",
  "tool_version": "1.0.0",
  "display_name": "Lending Recall Prioritizer",
  "mcp_name": "compute_lending_recall_prioritizer",
  "mandate_type": "compliance_control",
  "wave": 114,
  "gpu": false,
  "url": "https://ainumbers.co/tools/673-lending-recall-prioritizer.html",
  "description": "Deterministic ranking arithmetic over a caller-declared synthetic recall queue. Ranks declared recalls by due date ascending, then declared quantity ascending, then declared id ascending (a deterministic total order), and flags a recall urgent when its due date is 0 or 1 day after the caller-declared as_of date (due-within-one-day); past-due and further-out recalls are ranked but never flagged. Dates are strict YYYY-MM-DD calendar dates parsed and differenced with pure integer civil-day arithmetic -- no Date object, no runtime clock: as_of is an input, never today. No securities-lending tape, no borrow list, no cutoff feed, no register, no network: every recall, date, and quantity is a caller-declared input, never fetched or inferred. This is a prioritizer of declared inputs under named rules, NOT live recall data, NOT an instruction to recall, return, or borrow any security, and NOT a check of any live feed -- the not_proven discipline applies. An absent or invalid as_of, recall list, id, due date, or quantity resolves to a fail-closed payload naming each rejected input, never a silently repaired queue. Settled ranking arithmetic; it cites no external standard.",
  "input_schema_ref": "tools/673-lending-recall-prioritizer.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:31d9a8356f9e3c350463c2c5b981a0d7bb78e11ba3d90412bb123ee4963b0719","valid_from":"2026-09-04"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-09-06"}],
  "export_capability": ["json"],
  "standards_basis": "not_applicable",
  "cited_clause_digest": [],
  "compute_proof": {"type":"ZkVmReceipt","system":"risc0","receiptFormat":"groth16-bn254","imageId":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","seal":"KTqc9EOnYLEE8+JSKEqKXHQM5hK01hOavmMmyvLnGtIv4DgCq60qivXwvvybxQCuOMd6JLEsZP/Gtufxen2xkRjtc0cbYwCmcblWzX5SYquEvtiN2ntEW0y53NbHmrV/EloHnHZbEcnJDE/JUsdNiNYa2oBK7MwcxsjzOqj6maEd1r3Z6y9EymMKKL/wDJTA3C0qlMjRn1A34aO2hXaX8gphQHlfYF5Bfxf1ZGAs4Ekq2Lx8DweVZ18Jxhe3o+F6HclqnHSISspnKf+QVffDHkeobGAIslFi8b4lqMssfzIIhdIQr3iF0QAVRohHFvtjlqWr19G/nPbXJ00K03vScw==","journal":{"chaingraph_version":"0.4.0","kernel_digest":"sha256:31d9a8356f9e3c350463c2c5b981a0d7bb78e11ba3d90412bb123ee4963b0719","output":{"overall":"QUEUE_RANKED","queue":["R-A","R-B"],"trace":"R-A due 2026-09-04 is 1 day from as_of -> urgent; rank by due date then qty","urgent":["R-A"]}}},
  "compute_proof_ready": "ready"
}
