Re-Review: Rework Volatility Bot: small-bump strategy
Verdict: READY
Re-review after refinement. All 3 issues from
review-1839-2026-07-09 are resolved: issue body restructured to match template-issue-feature, project-bots project page created with user-stories section, and arch-bots architecture note created.Template Completeness
Checked against
template-issue-feature (Type = Feature):- [x]
### Type— "Feature" - [x]
### Lineage— "Standalone — identified during initial bot deployment when Volatility Bot produced 0 fires due to flawed entry logic." - [x]
### Repo—ldraney/bots - [x]
### User Story— "As a bot operator / I want the Volatility Bot to independently find and trade... / So that I can profit from normal game momentum swings..." - [x]
### Context— Detailed explanation of 4 current problems plus reworked strategy with entry/exit conditions - [x]
### File Targets— Clear "modify" (1 file) and "do NOT touch" (3 files) sections - [x]
### Feature Flag— "None — this is a rework of an existing bot service." - [x]
### Acceptance Criteria— 7 checkbox items - [x]
### Test Expectations— 5 items including paper mode and live mode stages, with run command - [x]
### Constraints— Patterns to follow, IOC order requirements, constants to update - [x]
### Checklist— 3 items (PR, paper mode, no unrelated changes) - [x]
### Related— References project and ldraney/bots#2
Traceability
- [x] story:bot-strategy label — present on board item
- [x] story note verified — found in project-bots user-stories section: key=bot-strategy, role="Bot operator", success metric="Per-bot win rate > 55%, positive P&L after fees"
- [x] arch:bots label — present on board item
- [x] arch note verified —
arch-botsnote exists in pal-e-docs (tagged architecture+active, project=bots). Covers 7 services, key files, order pattern, data model, infrastructure. - [x] Forgejo issue — ldraney/bots#1, state=open
File Targets
- [x]
app/services/volatility_bot.rb— verified: exists (7.4k), containsfind_hedgeable_fires(L179),TAKE_PROFIT_MULTIPLIER = 3(L6),HEDGE_CONTRACTS = 3(L5),scan_for_hedges(L166). All patterns match issue description. - [x]
app/services/position_monitor.rb— verified: exists (4.3k), excludes Volatility Bot at L34. Correctly marked no-change. - [x]
app/services/bot_engine.rb— verified: exists (8.7k),game_nearly_over?at L137. Correctly marked no-change. Issue plans to reuse this logic (inverted) inside volatility_bot.rb. - [x]
app/controllers/dashboard_controller.rb— verified: exists (2.5k). Correctly marked no-change.
Repo Placement
OK. Forgejo issue is on
ldraney/bots. All changes target app/services/volatility_bot.rb in the same repo. No cross-repo concerns.Dependencies
Board has 2 items: #1839 (this) and #1840 (Rework Consensus Bot). Both in backlog. No dependency between them — volatility bot operates independently of consensus bot. Issue's Related section correctly documents ldraney/bots#2 as independent. No blockers identified.
Acceptance Criteria
7 criteria total. All are code-level verifiable:
- [x] "Scans markets independently" — verify code doesn't call
find_hedgeable_fires - [x] "Entries only early/mid-game with yes_bid >= 0.90 and no_ask <= 0.15" — verify entry conditions
- [x] "Spread check (no_ask - no_bid <= 0.07)" — verify MAX_SPREAD logic
- [x] "Take-profit exits on 5c bump" — verify TAKE_PROFIT_BUMP constant and exit logic
- [x] "Stop-loss at 50% of entry" — verify STOP_LOSS_FLOOR constant and exit logic
- [x] "Time-stop at final 20%" — verify time-stop exit path
- [x] "Settlement logic unchanged" — verify NO-position math preserved
Previous review flagged a non-verifiable operational criterion ("5 paper fires"). This has been correctly moved to Test Expectations, and all AC are now code-level verifiable.
Blast Radius
Clean. No references to
find_hedgeable_fires, TAKE_PROFIT_MULTIPLIER, or scan_for_hedges in any file outside volatility_bot.rb. consensus_bot.rb has no volatility references. position_monitor.rb already excludes Volatility Bot fires (L34). bot_engine.rb owns game_nearly_over? but issue correctly plans a new method inside volatility_bot.rb rather than modifying shared code.Decomposition Assessment
1 file target in 1 repo. 7 acceptance criteria (exceeds the 5-AC guideline). Estimated agent work: ~5 minutes — single file rewrite with well-defined entry/exit logic. All 7 AC modify the same file and are tightly coupled (entry conditions, exit conditions, constants). Decomposition is not warranted because the work is cohesive within a single service file. No decomposition needed.
Recommendation
No action needed.