Campaigns and sealed periods

An unattended loop that must not contaminate the last months of data. · 10 min

Two modes

  • Explore — novel edges of the search space, epsilon-greedy novelty, seeded.
  • Exploit — perturbations around ledger survivors (orb, horizon, gap, motion, cluster mates).

Both clip dateRange.end to sealedCutoff. Default cutoff is 18 months before the window end (or the last third if the window is shorter).

Why a sealed tail exists

Automated ticks would otherwise fit the most recent crash or rally. Sealed evaluation is human-triggered, once per ledger row, and is the only path that reads (sealedCutoff, dateRange.end].

Caveat

Lunar nodes are unimplemented (not in the ephemeris). Waveform is a registered family on the ledger; campaign ticks still propose event-study candidates only.

Key points

  • candidatesSearched is a running campaign total stamped on every row.
  • Cron and the Railway worker share a document lock so they cannot tick the same campaign at once.
  • Hash dedup skips a config unless force is set (Lab manual runs force).

References

  • Campaigns — docs/CAMPAIGNS.md
  • Search ledger — docs/LEDGER.md