diff --git a/.github/workflows/release-build-122.yml b/.github/workflows/release-build-123.yml similarity index 58% rename from .github/workflows/release-build-122.yml rename to .github/workflows/release-build-123.yml index d4e7155..b6ad6af 100644 --- a/.github/workflows/release-build-122.yml +++ b/.github/workflows/release-build-123.yml @@ -1,4 +1,4 @@ -name: Release Build 122 after Vercel quota reset +name: Release Build 123 after Vercel quota reset on: schedule: @@ -9,7 +9,7 @@ permissions: contents: write concurrency: - group: release-build-122 + group: release-build-123 cancel-in-progress: false jobs: @@ -25,36 +25,36 @@ jobs: env: ARENA_URL: https://polymarket-site-eta.vercel.app run: | - if curl --fail --silent --show-error "${ARENA_URL}/?build_122_preflight=${GITHUB_RUN_ID}" | grep -q 'const BUILD_VERSION = 122;'; then - echo "Build 122 is already live." + if curl --fail --silent --show-error "${ARENA_URL}/?build_123_preflight=${GITHUB_RUN_ID}" | grep -q 'const BUILD_VERSION = 123;'; then + echo "Build 123 is already live." exit 0 fi - printf 'Build 122 deployment retry from run %s at %s\n' "$GITHUB_RUN_ID" "$(date -u +%FT%TZ)" > .build-122-release-trigger + printf 'Build 123 deployment retry from run %s at %s\n' "$GITHUB_RUN_ID" "$(date -u +%FT%TZ)" > .build-123-release-trigger git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add .build-122-release-trigger - git commit -m "Retry Build 122 production deployment" + git add .build-123-release-trigger + git commit -m "Retry Build 123 production deployment" git push origin HEAD:main - - name: Wait for Build 122 in production + - name: Wait for Build 123 in production env: ARENA_URL: https://polymarket-site-eta.vercel.app run: | for attempt in $(seq 1 40); do - if curl --fail --silent --show-error "${ARENA_URL}/?build_122_wait=${GITHUB_RUN_ID}-${attempt}" | grep -q 'const BUILD_VERSION = 122;'; then - echo "Build 122 is live." + if curl --fail --silent --show-error "${ARENA_URL}/?build_123_wait=${GITHUB_RUN_ID}-${attempt}" | grep -q 'const BUILD_VERSION = 123;'; then + echo "Build 123 is live." exit 0 fi sleep 30 done - echo "Build 122 did not become live; Build 118 remains the autonomous runtime target." + echo "Build 123 did not become live; Build 118 remains the autonomous runtime target." exit 1 - - name: Activate the Build 122 autonomous runner + - name: Activate the Build 123 autonomous runner run: | git pull --ff-only origin main - perl -0pi -e 's/EXPECTED_BUILD: "118"/EXPECTED_BUILD: "122"/' .github/workflows/autonomous-cycle.yml - perl -0pi -e 's/assert\.match\(workflow, \/EXPECTED_BUILD: "118"\/\);/assert.match(workflow, \/EXPECTED_BUILD: "122"\/);/' scripts/test-autonomous-runtime.mjs - rm -f .build-122-release-trigger - git rm .github/workflows/release-build-122.yml + perl -0pi -e 's/EXPECTED_BUILD: "118"/EXPECTED_BUILD: "123"/' .github/workflows/autonomous-cycle.yml + perl -0pi -e 's/assert\.match\(workflow, \/EXPECTED_BUILD: "118"\/\);/assert.match(workflow, \/EXPECTED_BUILD: "123"\/);/' scripts/test-autonomous-runtime.mjs + rm -f .build-123-release-trigger + git rm .github/workflows/release-build-123.yml git add .github/workflows/autonomous-cycle.yml scripts/test-autonomous-runtime.mjs - git commit -m "Activate Build 122 autonomous cycles" + git commit -m "Activate Build 123 autonomous cycles" git push origin HEAD:main diff --git a/README.md b/README.md index 32a8f63..688d801 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Offline cycles can apply calibration already earned from live observations, but the evidence ledger is read-only: cached prices cannot grade pending signals, expire horizons, or create new observations. -Build 122 targets five-minute slots with a serialized, self-chained GitHub Actions runtime. +Build 123 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 @@ -63,7 +63,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 122 cycle also scans the 1,000 most-active Polymarket events for +Each Build 123 cycle also scans the 1,000 most-active Polymarket events for complete negative-risk bundles and logically nested threshold or deadline pairs, plus same-market YES/NO complements whose equal shares have a fixed $1 redemption value. Polymarket's documented complete-set merge converts equal @@ -80,18 +80,22 @@ the best structure from each independent event checked before alternates from ev already represented. They are repriced from batched CLOB asks from the equal-unit size needed for at least a $50 paper order up to a $400 verified-notional ceiling. The scanner applies each market's Gamma fee schedule at every -consumed ask level and checks the CLOB fee-rate endpoint for a matching enabled -or fee-free state. Any opened position is capped to the exact equal-unit size +consumed ask level and checks the exact CLOB condition metadata for a matching +fee curve or fee-free state. Any opened position is capped to the exact equal-unit size of the largest fill that stays profitable and passes this depth test; portfolio cash, reserve, and 4% limits can reduce it further. Strategy 64 ranks verified structures by net return per expected locked day before raw edge, and caps active cost from one underlying event at 12% of Value Hunter equity. This prevents -several related threshold pairs from monopolizing the non-directional book while -preserving every already-open complete bundle until settlement. New bundles must +several related threshold pairs from monopolizing the non-directional book. New bundles must also clear a 0.02% daily locked-capital return floor, approximately 7.3% annualized, so a tiny spread cannot immobilize capital for months. Existing paper bundles are never retroactively enlarged against depth their original simulated fill would -already have consumed. A bundle can enter Value Discipline only when that fee check +already have consumed. Each live cycle also prices an atomic exit across every bid +level needed to sell every leg of each intact bundle. It verifies every condition's +exact fee schedule again and exits only when net proceeds realize at least 85% of +the remaining guaranteed settlement profit. Missing depth, mismatched fees, or a +smaller profit capture leave the guarantee intact; cached offline cycles cannot +execute this recycling path. A bundle can enter Value Discipline only when that fee check passes and the resulting worst-case payout clears both the three-tenths-cent profit floor and the 0.15% return floor. Top-of-book gaps, missing books, incomplete fee schedules, and unavailable fee verification remain audit-only. @@ -99,7 +103,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 122 retains the directional learner's exact-fee policy, which replaced the blanket half-cent cost with +Build 123 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 @@ -124,7 +128,7 @@ 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 122 retains Build 100's retirement of the old 3-6 day resolution-window +Build 123 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 @@ -244,7 +248,7 @@ 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 122 no longer allocates capital to that rule. +reliable confidence bound, so Build 123 no longer allocates capital to that rule. Strategy 64 also tracks the exact-fee settlement calibration's three-day Sports NO cohort as a zero-capital forward lane. The corrected 5,000-market run diff --git a/index.html b/index.html index 1b874e5..1996850 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