STATE: Session 80 — S7 nudge freshness completed; premise corrected report-first
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCNgGSt5qvcLxaeQqa7Zpj
This commit is contained in:
+57
-1
@@ -1,5 +1,5 @@
|
||||
# VYNDR — STATE OF THE WORLD
|
||||
### As of `e311f53` (main, DEPLOYED + fingerprinted live), 2026-07-22. This file opens every future session. **Start with the CURRENT STATUS + OPEN ITEMS block below.**
|
||||
### As of `4f3f433` (main, DEPLOYED + fingerprinted live), 2026-07-22. This file opens every future session. **Start with the CURRENT STATUS + OPEN ITEMS block below.**
|
||||
|
||||
---
|
||||
|
||||
@@ -131,6 +131,62 @@ exist locally; harmless, the data restores completely.
|
||||
`specs/snapshot-retention.md` (Phase 2 report + schema) ·
|
||||
`specs/audit-data/grade-collapse.md` · `specs/audit-data/gate-simulation.md`.
|
||||
|
||||
---
|
||||
|
||||
# 🟢 SESSION 80 — S7 PRICED-LINE NUDGE COMPLETED (freshness) (2026-07-22)
|
||||
|
||||
## 🔴 REPORT-FIRST corrected the order's premise
|
||||
Order claimed "S7 is a shell that doesn't update per selection." **Not true** —
|
||||
`pricedForSelection` is a `useMemo([pricedIndex, selectedPlayer, stat])` and
|
||||
`setSelectedPlayer/setStat` fire on every pick → chips already update per
|
||||
selection (S79 verification stood). **The real gap was FRESHNESS**: the fetch
|
||||
depended on `[sport]` ONLY, so `pricedIndex` was fetched once per sport-change,
|
||||
never refreshed → a page open across a pricing-cron boundary (5 UTC hours)
|
||||
surfaced hour-stale lines. That was the ONLY defect, and the only thing fixed.
|
||||
|
||||
## Fix (display-layer only, one file)
|
||||
- `refreshPriced()` re-fetches when the held snapshot is older than
|
||||
**`PRICED_STALE_MS` (30s = the /api/snapshot cache)** at the moment of use —
|
||||
**on selection change AND on window focus**. Long-open page never shows a
|
||||
stale line. Sport change clears first (no old-sport flash).
|
||||
- **Reversible gate:** whole nudge behind `PRICED_NUDGE_ENABLED = true`. False →
|
||||
empties the surfaced set → S6 link-only fallback. The instant revert lever.
|
||||
|
||||
## Stale-tap (unchanged, already safe)
|
||||
Scan submit re-fetches the live snapshot server-side, so a stale chip tapped →
|
||||
real triplet (still priced) OR honest empty (rotated away). Never lands on
|
||||
nothing.
|
||||
|
||||
## Phase 4 — every case induced live
|
||||
| Case | Result |
|
||||
|---|---|
|
||||
| (a) priced selection | `Sam Huff hits → [u0.5 @+105]` (exact) |
|
||||
| (b) change selection | `Tsung Che Cheng hits → [o0.5 @-140]` — updates |
|
||||
| (c) none / off-slate | `[]` / `[]` |
|
||||
| (d) tap → triplet | `book +105 · fair +120` — real |
|
||||
| (e) stale-tap (8.5) | no market → **degrades to empty** |
|
||||
| (f) freshness | refresh-on-stale + focus wired, fingerprint live in chunk |
|
||||
|
||||
## Verdict — S7 FULLY WIRED (not a shell)
|
||||
Correct per-selection · updates on change · fresh on long-open · tap reaches a
|
||||
real triplet · stale-tap degrades honestly. **Scan A byte-identical**
|
||||
(GradeResultCard/PriceTriplet/gradeAdapter/valueState/both scan routes/
|
||||
pricedLines unchanged). Independently revertible via the flag.
|
||||
|
||||
## Method note
|
||||
Scanner page is auth-gated → data-correctness induced via the exact functions
|
||||
the `useMemo` runs + the `/api/scan` endpoint the tap hits (the load-bearing
|
||||
path), not the rendered gated page. Freshness proven by code fingerprint + unit
|
||||
tests asserting the exact refresh logic.
|
||||
|
||||
## Next open (unchanged)
|
||||
edge_pct/ev_pct mislabel = **already checked S(prev), no genuine mislabel** —
|
||||
one metric-CHOICE flagged (GradeResultCard "EDGE" = stat-gap %, tied to the
|
||||
deferred ranking decision). · No settled `p_win` yet · 3 key rotations
|
||||
(PAT stripped locally; Kev must REVOKE on GitHub + rotate internal key + Storage
|
||||
Box password).
|
||||
|
||||
|
||||
---
|
||||
|
||||
# 🟢 SESSION 79 — READ-CARD NO-MARKET EMPTY STATE + PRICED-LINE SURFACER (2026-07-22)
|
||||
|
||||
Reference in New Issue
Block a user