pam ▸ docs/prds/PRD_001_eventful_market_observation.md
updated 2026-03-28

PRD 001: Eventful Market Observation

Goal

Make Pam observe the parts of Kalshi that are most likely to contain real dislocations instead of repeatedly journaling calm snapshots.

Problem

Pam’s replay loop currently learns from many snapshots with:

  1. no meaningful price change
  2. no meaningful spread change
  3. no real modeled edge

That makes the research loop honest but weak. We need to bias collection toward moments where a trade could plausibly exist.

Requirements

  1. Persist eventfulness features per observation: - yes price move since prior observation - spread move since prior observation - tradeability move since prior observation - time to resolution - eventful score and reasons
  2. Prefer journaling eventful rows by default.
  3. Preserve a small fallback sample when nothing eventful exists so the loop still advances.
  4. Surface the top eventful tickers in research/latest_state.json.

Success Criteria

  1. At least 50% of newly journaled rows have non-zero eventful_score.
  2. Replay rows include eventful metadata.
  3. Human and Discord status summaries expose eventful scan strength.

Non-Goals

  1. Live execution
  2. Cross-venue arbitrage
  3. A production-quality fair value model

Notes

This is the collection-quality layer. It should be optimized for learning signal, not for triggering trades directly.