{
  "tool_id": "art-669-algo-execution-schedule-simulator",
  "tool_version": "1.0.0",
  "display_name": "Algo Execution Schedule Simulator",
  "mcp_name": "compute_algo_execution_schedule_simulator",
  "mandate_type": "analytics_mandate",
  "wave": 113,
  "gpu": false,
  "url": "https://ainumbers.co/tools/669-algo-execution-schedule-simulator.html",
  "description": "Deterministic execution-schedule arithmetic over caller-declared synthetic inputs. Slices a declared order three ways -- VWAP (across a declared volume_profile_pct that must sum to exactly 100, fail closed otherwise), TWAP (across a declared bucket count with a declared remainder rule for indivisible remainders), and POV (a declared participation rate of declared per-bucket volumes, capped at the remaining order) -- and decomposes implementation shortfall against declared arrival and average-fill prices: shortfall_bps = (avg_fill - arrival) / arrival * 10000 and shortfall_cost = (avg_fill - arrival) * order_shares, sign-corrected by side so positive always reads cost. No market data, no feeds, no network, no clock: every profile, volume, and price is a caller-declared input, never fetched or inferred. This is a simulator of schedule arithmetic, NOT personalized investment advice, NOT a recommendation to trade or to choose any method or schedule, and NOT an order router -- it never sends, stages, or routes any order to any venue. An absent or invalid side, order, method, profile, bucket structure, rate, or price resolves to a fail-closed payload naming each rejected input, never a silently repaired schedule. Settled arithmetic (slicing and shortfall decomposition); it cites no external standard.",
  "input_schema_ref": "tools/669-algo-execution-schedule-simulator.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:4bdbc0208024145fd6927060a0ca39b66c00ff5b437427fa38ae6d928628bbed",
      "valid_from": "2026-09-03"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-09-04"
    }
  ],
  "export_capability": [
    "json"
  ],
  "standards_basis": "not_applicable",
  "cited_clause_digest": [],
  "compute_proof_ready": "ready",
  "cycle_preflight": "FAST — 4,646,132 user_cycles max across all 7 fixture vectors (argmax v1), measured exec-only 2026-09-04 against landed origin/main bytes; 0.15x the 30,000,000 line (row expected FAST, confirmed).",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "BJ2lFZJoCrkpR/GHSvvL7HM0IE3sUKcJq+145CHDkAgaRdBxXzSdWDJ1UF6Vn+7SQj9eSHGgLULZJeo23oCWxiKYEma85iRZtxnHeqnYA58sK3SSrnOvlql3fsf7SIgfC0xVqKhzdk/06S4yy3oLcFvvhxiz+gWkBrcs7gDEudgFDQPnCnYxyFm6fuf5uJNNkfK3em/898Q6vqImmzfORC8rrjWHAMdUiVP23/5kDCGnngPeypRf1tYCOkzSb+TUFHRQXT1qM+j7fKB4LPrTwZhTKgx0GzdmADbTfS2vemsZDIlVDo5ICwsiq9drtkD9F+BDi9JVmUDzk64dky3Jag==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:4bdbc0208024145fd6927060a0ca39b66c00ff5b437427fa38ae6d928628bbed",
      "output": {
        "shortfall_bps": 12,
        "shortfall_cost": 6000,
        "slices": [
          10000,
          25000,
          30000,
          20000,
          15000
        ],
        "trace": "slices = 100000 * pct/100 per bucket = [10000,25000,30000,20000,15000]; shortfall_bps = (50.06 - 50) / 50 * 10000 = 12 (buy side, positive = cost); shortfall_cost = (50.06 - 50) * 100000 = 6000"
      }
    }
  }
}
