{"ok":true,"site":{"host":"forecast-ledger.jacobmackey.com","url":"https://forecast-ledger.jacobmackey.com/","type":"live","desc":"Forecast Ledger","tools":[{"name":"audit_forecast_record","kind":"act","impl":"imperative","description":"Audit the full prospective DE-LU forecast record, expose running evidence and integrity conditions, and focus the visible dashboard on the record summary. Does not issue the deferred formal verdict.","title":"Audit forecast record","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_price_baselines","kind":"answer","impl":"imperative","description":"Compare the model with a pre-registered persistence baseline over an optional scored date range and focus the visible track-record view on that comparison.","title":"Compare price baselines","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"start_date":{"type":"string","description":"Optional first scored delivery date, YYYY-MM-DD."},"end_date":{"type":"string","description":"Optional last scored delivery date, YYYY-MM-DD."},"baseline":{"type":"string","enum":["B1","B2"],"default":"B1"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_worst_forecast_days","kind":"act","impl":"imperative","description":"Rank the worst scored forecast days by persistence skill or model MAE, show those days first in the visible ledger, and open the worst day for inspection.","title":"List worst forecast days","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":10,"default":5},"baseline":{"type":"string","enum":["B1","B2"],"default":"B1"},"ranking":{"type":"string","enum":["SKILL","MODEL_MAE"],"default":"SKILL"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_missed_runs","kind":"act","impl":"imperative","description":"Inspect every missed forecast run, including retrospective ledger entries, and filter the visible ledger to missed days without backfilling them.","title":"Inspect missed runs","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"show_forecast_day","kind":"act","impl":"imperative","description":"Open one delivery day in the visible ledger and return its seal, forecast-quality and hourly error evidence, or its miss record if no forecast was sealed.","title":"Show forecast day","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"date":{"type":"string","description":"Delivery date in YYYY-MM-DD format."}},"required":["date"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_research_protocol","kind":"act","impl":"imperative","description":"Inspect the frozen evaluation calls, information-cutoff rules, or both, optionally including the exact cutoff evidence for one scored day, and open the matching visible protocol view.","title":"Inspect research protocol","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"topic":{"type":"string","enum":["ALL","EVALUATION","INFORMATION_CUTOFF"],"default":"ALL"},"date":{"type":"string","description":"Optional scored delivery date for exact information-cutoff evidence."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_data_app_cards","kind":"answer","impl":"imperative","description":"List mounted Data app cards with exact stable cardIds, titles, source queryIds, and image availability in the current tab and filters. Offscreen cards are included; unmounted tabs are not. Read-only; does not change the view.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_data_app_card_image","kind":"answer","impl":"imperative","description":"Export one mounted Data app card by its exact cardId from list_data_app_cards. Returns a PNG as base64 data with pixel width/height, filename, source IDs, and current view metadata for slides or documents. Captures the current rendered card, including filters and presentation; no clipboard, download, navigation, or data writes. Hidden, duplicate, loading, failed-to-load, changing, oversized, or unsupported cards fail explicitly. Decode data as base64 to save a PNG; do not print the image bytes as text.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"cardId":{"type":"string","minLength":1,"maxLength":200},"scale":{"type":"number","minimum":1,"maximum":3,"default":2}},"required":["cardId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_data_app_card_images","kind":"answer","impl":"imperative","description":"Export up to 8 unique mounted Data app cardIds as PNG images in requested order. Same read-only capture and base64 format as get_data_app_card_image; validates every ID before rendering and returns all images or an error, never a partial batch. Maximum 4 MiB per PNG and 8 MiB total; lower scale or split a large batch. Does not open inactive tabs.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"cardIds":{"type":"array","minItems":1,"maxItems":8,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"scale":{"type":"number","minimum":1,"maximum":3,"default":2}},"required":["cardIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Finance & Crypto","favicon":"/favicons/forecast-ledger.jacobmackey.com.png","apiSurface":"spec","toolCount":9}}