Skip to content

Commit f3e63ae

Browse files
paperclip-resolver[bot]claude
andcommitted
feat(ev): add is_suspended/suspended_since to EVOpportunity
Additive optional fields mirroring the sharp-api-go EV engine's flag-gated suspended-opportunity state (EV_SUSPENDED_STATE, sharp-api-go #789). When a live opp's sharp reference is momentarily suspended the server keeps the opp visible with is_suspended=true and ev_percentage hidden (never a stale edge); the opp retains its stable id and updates in-place on resume. Fields default to False/None and are absent from the wire unless the server flag is enabled, so this is fully backward-compatible (no version bump). Type: feat Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 31ba1c1 commit f3e63ae

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

src/sharpapi/models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,12 @@ class EVOpportunity(BaseModel):
302302
# Structured side/segment axes (issue #76 / #689), additive + optional.
303303
team_side: str | None = None
304304
market_segment: str | None = None
305+
# Suspended-state (server flag EV_SUSPENDED_STATE), additive + optional. While the sharp
306+
# reference is momentarily suspended the opp stays visible with is_suspended=True and the
307+
# edge hidden (ev_percentage is 0 / unknown — never a stale edge); suspended_since is the
308+
# unix-seconds timestamp the suspension began. Absent unless the server flag is enabled.
309+
is_suspended: bool = False
310+
suspended_since: float | None = None
305311
# Optional structured refs (additive, non-breaking).
306312
home: TeamRef | None = None
307313
away: TeamRef | None = None

0 commit comments

Comments
 (0)