pam ▸ docs/generated/ralph_loop_2026-03-16_eventful_metadata_gap.md
updated 2026-03-28

Ralph Loop 2026-03-16: Eventful Metadata Gap

Change

Added replay-prep diagnostics that separate true eventful-score zeros from missing eventful metadata in journal payloads.

Files changed:

  1. research/prepare_replay.py
  2. research/status.py
  3. research/discord_status.py
  4. research/README.md
  5. tests/test_prepare_replay.py

Why

PRD 001 work was being diagnosed as a scanner-calibration problem, but the current journal snapshot shows most replay rows do not carry eventful metadata at all. Without separating those cases, large_move_untagged_rows overstated scanner failure and hid a data-quality issue.

Validation

  1. python3 research/prepare_replay.py --db data/unicorn.db --out research/replay_rows.jsonl
  2. python3 main.py research-status
  3. PYTHONPATH=. pytest -q tests/test_prepare_replay.py

Observed evidence

From the refreshed replay summary:

  1. pair_eventful_metadata_rows=2/1280
  2. pair_eventful_metadata_missing_rows=1278
  3. large_move_rows=28
  4. large_move_missing_eventful_metadata_rows=28
  5. large_move_zero_score_rows=0

Conclusion

The immediate bottleneck is journal payload completeness, not a threshold that is rejecting otherwise scored eventful rows. The next bounded change should target why recent opportunity_scan_results.payload_json entries are missing eventful_score and related fields during continuous-loop collection.