diff --git a/.github/workflows/autonomous-cycle.yml b/.github/workflows/autonomous-cycle.yml index fa576e5..6e0c4d1 100644 --- a/.github/workflows/autonomous-cycle.yml +++ b/.github/workflows/autonomous-cycle.yml @@ -35,7 +35,7 @@ jobs: - run: node scripts/run-autonomous-cycle.mjs env: ARENA_URL: https://polymarket-site-eta.vercel.app - EXPECTED_BUILD: "118" + EXPECTED_BUILD: "119" RUNTIME_BRANCH: runtime-state RUNTIME_STATE_PATH: runtime/state.json GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index 4db85fe..44ddaf8 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ market snapshots. During an outage, cycles continue locally; cached entries are allowed for 90 minutes, older snapshots become mark-only, and all cached data expires after 24 hours. -Build 118 targets five-minute slots with a serialized, self-chained GitHub Actions runtime. +Build 119 targets five-minute slots with a serialized, self-chained GitHub Actions runtime. It continues from the previous agent snapshot and runs the next due paper cycle even when no browser is open. After each successful cycle, one repo-scoped workflow dispatch waits for the next five-minute boundary; one concurrency group @@ -55,7 +55,7 @@ Polymarket event key. Related Ethereum or Bitcoin contracts cannot create several simultaneous copies of one move, and outcomes from the same underlying three-hour shock window count as one learner event. -Each Build 118 cycle also scans the 1,000 most-active Polymarket events for +Each Build 119 cycle also scans the 1,000 most-active Polymarket events for complete negative-risk bundles and logically nested threshold or deadline pairs. Gamma's market-specific fee flag replaces the old blanket 0.5-cent fee reserve for markets declared fee-free. The closest 60 structures are then @@ -74,7 +74,7 @@ The Suggestions view stores scan, depth, fee, actionable, and closest executable-margin counts so an empty lane is evidence rather than an ambiguous failure. -Build 118 retains the directional learner's exact-fee policy, which replaced the blanket half-cent cost with +Build 119 retains the directional learner's exact-fee policy, which replaced the blanket half-cent cost with the market's Gamma fee schedule at both the entry and future checkpoint, plus a separate half-cent round-trip slippage allowance. Fee-free markets pay only the slippage allowance; an unavailable fee schedule gets a conservative four-cent @@ -85,12 +85,17 @@ available at reduced weight. The exact-fee replay covered the top 1,000 active markets and 208 independent events: broad trends, reversals, and favorite trends all had 90% upper bounds below zero at 12 hours. A separate 3,000-recently-closed-market study tested 297 one-decision-per-event settlement -rules and found zero robust positive rule. Strategy 62 retains online -directional evidence under fee policy 2 and keeps those lanes observation-only -until current independent 24-hour and 72-hour cohorts pass the existing -promotion gate. +rules and found zero robust positive rule. Strategy 63 retains online +directional evidence under fee policy 2. A separate probation gate can now use +capital after at least 12 current-policy independent events produce a net-of-cost +six-hour lower confidence bound above 1% for every required cohort feature. It +uses at most 0.5% of equity per position, 1% per-agent total capital, one new +position per agent cycle, and one owner per Polymarket event across all agents. +Every probation position exits at the matching six-hour executable bid and keeps +the 18% stop policy active. Normal directional sizing remains locked until the +same cohort independently passes both the 24-hour and 72-hour promotion gates. -Build 118 retains Build 100's retirement of the old 3-6 day resolution-window +Build 119 retains Build 100's retirement of the old 3-6 day resolution-window capital permission. That audit clustered confidence by event but still averaged several correlated contracts inside each event, while production could choose only one. The corrected replay chooses the highest-volume eligible contract per event and @@ -210,9 +215,9 @@ evidence proves an edge. Run `npm run evaluate:sports-favorites` for the retired pregame favorite audit. Its 12-hour, 60%-75% cohort had positive point estimates but did not establish a -reliable confidence bound, so Build 118 no longer allocates capital to that rule. +reliable confidence bound, so Build 119 no longer allocates capital to that rule. -Strategy 62 instead uses the exact-fee settlement calibration's three-day Sports +Strategy 63 also uses the exact-fee settlement calibration's three-day Sports NO cohort as a bounded paper exploration lane. The corrected 5,000-market run groups every prop with the same dated contest slug, anchors the decision to the published game start, and keeps only the highest-priced eligible NO contract per @@ -338,7 +343,7 @@ Strategy 54 gives previously opened Politics trend positions that 72-hour observ ordinary signal exits. Stops, profit locks, settlement handling, and risk-budget reductions remain immediate. -Strategy 62 retains exact Gamma entry and exit taker fees plus a half-cent +Strategy 63 retains exact Gamma entry and exit taker fees plus a half-cent slippage allowance when grading each live walk-forward signal. Confidence uses the largest independent matching bucket, not the sum of five overlapping feature buckets, and evidence from older engine versions is down-weighted. This prevents a handful of duplicated observations diff --git a/api/state.js b/api/state.js index 5f25274..e2d60ed 100644 --- a/api/state.js +++ b/api/state.js @@ -285,6 +285,7 @@ export function compactSuggestion(s) { momentum_strength: s.momentum_strength, signal_strength: s.signal_strength, signal_confidence: s.signal_confidence, signal_type: s.signal_type, trade_ready: s.trade_ready, entry_candidate: s.entry_candidate, audited_observation_only: s.audited_observation_only, adaptive_promotion: s.adaptive_promotion, + adaptive_probation: s.adaptive_probation, probation_exit_hours: s.probation_exit_hours, promoted_for_agents: s.promoted_for_agents, watch_only: s.watch_only, jump_risk: s.jump_risk, requires_live: s.requires_live, bundle_id: s.bundle_id, bundle_side: s.bundle_side, bundle_logic: s.bundle_logic, bundle_cost_per_unit: s.bundle_cost_per_unit, diff --git a/index.html b/index.html index 2c129c5..24a4571 100644 --- a/index.html +++ b/index.html @@ -341,7 +341,7 @@ footer{margin-top:34px;padding-top:22px;border-top:1px solid var(--border);color