{"ok":true,"schema":"kelly-lens-artifact-spine-v1","lensId":"markets","service":"kelly-markets-lab","readOnly":true,"publicMutationAllowed":false,"publicUserWriteAllowed":false,"groundTruthWriteAllowed":false,"selected":"AAPL","horizon":"1d","glassLabArtifactBase":"https://glass-lab.up.railway.app?artifact=markets","forecastShowcaseUrl":"/api/markets/summary?symbol=AAPL&horizon=1d","steps":[{"key":"source","label":"Source","description":"Market data feed, price series, macro/news pressure, or settlement source.","required":true,"status":"actively_checked_or_pending","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3Asource"},{"key":"observation","label":"Observation","description":"A tagged market fact candidate KELLY can inspect without treating it as advice.","required":true,"status":"actively_checked_or_pending","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3Aobservation"},{"key":"hypothesis","label":"Forecast hypothesis","description":"The price/odds/pressure forecast KELLY wants reality to test.","required":true,"status":"actively_checked_or_pending","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3Ahypothesis"},{"key":"proof","label":"Proof receipt","description":"The packet that explains what KELLY saw and why the forecast moved.","required":true,"status":"linked_when_kelly_emits_receipt","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3Aproof"},{"key":"replay","label":"Replay","description":"The reconstruction path that proves the market chain can be rebuilt later.","required":true,"status":"linked_when_kelly_emits_receipt","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3Areplay"},{"key":"settlement","label":"Settlement","description":"The reality-close record for the forecast window.","required":true,"status":"linked_when_kelly_emits_receipt","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3Asettlement"},{"key":"calibration","label":"Calibration","description":"The score that separates accuracy from confident language.","required":true,"status":"linked_when_kelly_emits_receipt","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3Acalibration"},{"key":"memory","label":"Memory eligibility","description":"A replay-backed market lesson that may influence future KELLY work.","required":true,"status":"linked_when_kelly_emits_receipt","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3Amemory"}],"proofPresets":[{"id":"markets-24h-next-close","title":"24-hour next-close forecast","horizon":"24 hours","question":"What does KELLY currently forecast for AAPL by the next close?","value":"Short-horizon proof that KELLY can close against observed prices quickly.","signal":"price series, forecast cone, next close, settlement receipt","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3A24h"},{"id":"markets-30d-pressure","title":"30-day pressure forecast","horizon":"30 days","question":"Which source pressures most change KELLY's AAPL forecast?","value":"Medium-horizon proof that KELLY links evidence pressure to forecast movement.","signal":"source pressure, forecast delta, replay, calibration","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3A30d"},{"id":"markets-calibration-edge","title":"Calibration edge watch","horizon":"rolling","question":"Is KELLY becoming better calibrated on AAPL over repeated settlements?","value":"Long-horizon proof that the engine improves by being scored against reality.","signal":"Brier trend, settled P&L, replayable receipt history","glassLabArtifactUrl":"https://glass-lab.up.railway.app?artifact=markets%3AAAPL%3Acalibration"}],"boundary":"This endpoint describes the market proof spine. It does not trade, create proof, write memory, mutate GraphState, or settle outcomes.","generatedAt":"2026-07-08T06:51:48.737Z"}