Session D (night2): Phase 2.5 — intraday refresh + directional movement
Odds-only refresh every 20 min during slate hours (noon–midnight ET), in-process (INTRADAY_REFRESH=0 kill switch; skips full-snapshot slots): - signed delta RELATIVE TO THE GRADED SIDE; direction is the signal. - WITH the grade → STEAM badge, never a re-grade. - AGAINST >=1.0 → re-grade THAT PROP ONLY at the real current line: holds/refuses → VALUE (better entry, same read); drops → PUBLIC revision (grade updates, revised_from_grade preserves the ORIGINAL forever, UI strikethrough on slate strips + ledger cards). - Every run recaptures closing_line/odds → the close is now refresh- fidelity; SYNC goes live by dropping SNAPSHOT_EXPECTED_INTERVAL to 1200. - Ticker MOVE events feed from the refresh (>=1.0 moves). - QUOTA MATH: 36 runs/day/sport x 4 sports <= 144 PropLine calls/day vs 9,000/day free capacity (3 keys x 3,000). Re-grades are internal compute. - POST /api/internal/refresh/all for manual runs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -316,6 +316,10 @@ function buildPlayerStripsFromProps(gameProps, gradeIndex, deltaIndex, now = Dat
|
||||
// Session 55 — settled outcome from the self-learning loop (hit/miss/push
|
||||
// + actual stat) once the game completes. null until settled.
|
||||
outcome: rec.outcome ? { result: rec.outcome.result, actual: rec.outcome.actual } : null,
|
||||
// Session 60 (Phase 2.5) — intraday movement (STEAM/VALUE/revised)
|
||||
// + the ORIGINAL grade when a public revision happened.
|
||||
movement: rec.movement || null,
|
||||
revisedFrom: rec.revised_from_grade || null,
|
||||
});
|
||||
} else {
|
||||
byPlayer[pk].props.push({
|
||||
|
||||
Reference in New Issue
Block a user