From f2b8d96065a6d4089ca587c98b653fd4b6394f48 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 22:57:00 +0000 Subject: [PATCH] chore(master): release shoppybot 2.1.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 420 ++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- 3 files changed, 422 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG.md diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 895bf0e..969d3db 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.0.0" + ".": "2.1.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0a60441 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,420 @@ +# Changelog + +## [2.1.0](https://github.com/thezoid/ShopPyBot/compare/shoppybot-v2.0.0...shoppybot-v2.1.0) (2026-08-03) + + +### Features + +* **18-02:** add place_order_guarded concrete async method to RetailerPlugin ABC ([64a70b2](https://github.com/thezoid/ShopPyBot/commit/64a70b2c43551e94c1f6c65bb09727de08ffa873)) +* **18-03:** add --monitor-only CLI flag, config mutation, CVV short-circuit, ALLOWLIST entry ([ae3c6af](https://github.com/thezoid/ShopPyBot/commit/ae3c6afa462d012c57a8688b3c9be341ea9a7a91)) +* **18-03:** add monitor_only gate to _check_and_buy in orchestrator ([8dc5d6c](https://github.com/thezoid/ShopPyBot/commit/8dc5d6ce1443686ac3394e66ab3c23a1fcf87be9)) +* **18-04:** reroute final place-order click through place_order_guarded in all 7 plugins ([f772479](https://github.com/thezoid/ShopPyBot/commit/f77247916e2f128d344d4e5810cf1b687545e4f3)) +* **19-01:** add confirmation columns + update_item_confirmed_sync to models.py ([201ac0a](https://github.com/thezoid/ShopPyBot/commit/201ac0a5247467e61a312b2fd00db3346f22f932)) +* **19-02:** create core/confirmation.py with URL-first order confirmation detection ([3269abe](https://github.com/thezoid/ShopPyBot/commit/3269abe9220af64bc562aa9ce943177a65ef78b2)) +* **19-03:** add get_active_tab() concrete default to RetailerPlugin ABC (BUY-03) ([1530f89](https://github.com/thezoid/ShopPyBot/commit/1530f89b10890f9f11bb2b00654f61c3a62d0e12)) +* **19-04:** add _last_tab storage and get_active_tab() override to Amazon and BestBuy plugins ([12b9c47](https://github.com/thezoid/ShopPyBot/commit/12b9c47d22deaf4a126179991ba8d1a845c0927a)) +* **19-04:** wire confirmation detection into _try_auto_buy and _dispatch_write ([4279796](https://github.com/thezoid/ShopPyBot/commit/4279796c129c0c4edfc961cdad1a5ed923b861e2)) +* **20-01:** add CHECKOUT_PROFILE_KEYS, CheckoutProfile model, load_checkout_profile ([d5ff5ab](https://github.com/thezoid/ShopPyBot/commit/d5ff5ab7c34fee137cd6ca76a6ad66a0cea68612)) +* **20-02:** add _prompt_visible + handle_setup_checkout_profile, wire --checkout-profile flag ([8076304](https://github.com/thezoid/ShopPyBot/commit/807630434cba0457b6f714d473d72b1b7b092024)) +* **20-03:** thread CVV to AmazonPlugin mirroring BestBuy path ([f59467c](https://github.com/thezoid/ShopPyBot/commit/f59467c1d8326aaae7e3928ceb59c6a305969dad)) +* **20-04:** add _checkout_profile default + BestBuy form-fill + Amazon CVV fill ([3e798ec](https://github.com/thezoid/ShopPyBot/commit/3e798ecc12fa4f33dcd5bc0ca0adcba0e358d08b)) +* **21-01:** add core/retry.py -- RetryPolicy + compute_delay + with_retry ([6a8dc9e](https://github.com/thezoid/ShopPyBot/commit/6a8dc9ede48d015278a8e4a1327f584531d74dcb)) +* **21-01:** add tests/test_no_retry_loops.py -- AST CI guard for REL-08 ([5ca7841](https://github.com/thezoid/ShopPyBot/commit/5ca7841140f011d69c77a7c4f2243158ce562c54)) +* **21-02:** add increment_checkout_attempts_sync + get_item_order_state_sync to models.py ([e1b6e2e](https://github.com/thezoid/ShopPyBot/commit/e1b6e2e78f2cf74b8ab075966d0fc150c5afccc7)) +* **21-03:** add _checkout_stage default to RetailerPlugin.__init__ ([ab3e5e6](https://github.com/thezoid/ShopPyBot/commit/ab3e5e6b1851213553f69a2e69bbc10009617c13)) +* **21-03:** add per-step asyncio.timeout + _checkout_stage to both plugins ([515e3b4](https://github.com/thezoid/ShopPyBot/commit/515e3b4ade4e97e3433e5fadf1b0a019f47e8163)) +* **21-04:** add cart-retry loop to orchestrator with idempotency guard ([a82a843](https://github.com/thezoid/ShopPyBot/commit/a82a84349d3a2e0a691b00406ffa7faa5cbdce99)) +* **22-01:** add relaunch() and restore_session() to RetailerPlugin ABC ([6b4e88b](https://github.com/thezoid/ShopPyBot/commit/6b4e88b5e03a5ac72636e3496f35b62c1a7ec74c)) +* **22-02:** harden run_plugin with sqlite read isolation and per-item timeout ([fc84b17](https://github.com/thezoid/ShopPyBot/commit/fc84b17afece97bfc548d40cab1ff3c645fa593b)) +* **22-03:** implement _is_browser_dead_exc + supervise() with failure budget ([11464e2](https://github.com/thezoid/ShopPyBot/commit/11464e2e4b96ab2afd82cf98c69ee6cb67978fd3)) +* **22-03:** wire async_main TaskGroup to supervise() with cfg + registry ([056bbf9](https://github.com/thezoid/ShopPyBot/commit/056bbf9026c9cc2d8e6030805dd3084e9b3c4213)) +* **22-04:** implement _register_signals + _flush_write_queue helpers ([e07dbc7](https://github.com/thezoid/ShopPyBot/commit/e07dbc77902ebc1669247a46c1d08a9280f1af10)) +* **22-04:** wire signal bridge + write-queue flush into async_main ([e95a2d1](https://github.com/thezoid/ShopPyBot/commit/e95a2d1f386ea610bf1676ca486a03e68fd5de1e)) +* **23-01:** add SessionStore with Fernet-encrypted cookie persistence ([e148292](https://github.com/thezoid/ShopPyBot/commit/e148292e42078581f2963502c5a74bc488921b98)) +* **23-02:** add session_persistence: bool = False to all 7 platform config models ([fbe2b17](https://github.com/thezoid/ShopPyBot/commit/fbe2b178f28dbaaf5fe29c1ac5fde9a588ec83a3)) +* **23-04:** live restore_session + save_session on RetailerPlugin ABC ([d90cdef](https://github.com/thezoid/ShopPyBot/commit/d90cdefa05508d27f83119eb0fa3055236051fb1)) +* **23-04:** platform_key, save_session hook in Amazon/BestBuy, startup restore in registry ([c90a3f2](https://github.com/thezoid/ShopPyBot/commit/c90a3f23832c0f6f50a3990fbec2f4ad131c17e8)) +* **24-01:** implement HealthRegistry with full record/snapshot API (GREEN) ([23e8cb5](https://github.com/thezoid/ShopPyBot/commit/23e8cb5533d1505a7fcdacdd58b72a185af9a22c)) +* **24-02:** pygame headless guard in utils.py (SRV-01) ([dc9eb71](https://github.com/thezoid/ShopPyBot/commit/dc9eb71de1c84ac79bfc8750c033b669b7ce978f)) +* **24-03:** expand get_status() to locked health-surface shape ([04a3627](https://github.com/thezoid/ShopPyBot/commit/04a3627215efbf136e2eee6abe5c987b412a3902)) +* **24-04:** wire HealthRegistry through async_main/supervise/run_plugin/orders_confirmed ([e00b6aa](https://github.com/thezoid/ShopPyBot/commit/e00b6aa85d9471e07d136be01d6971cb2a2829f0)) +* **24-05:** add shoppybot status subcommand (table + --json, no network) ([b14bc8a](https://github.com/thezoid/ShopPyBot/commit/b14bc8a461fd7824f576871476864fe06b6e44fd)) +* **25-02:** create components.css with all component rules via var(--xxx) only ([bfd1b57](https://github.com/thezoid/ShopPyBot/commit/bfd1b574890b498a91aa0e4152b2c3dfeb37cb8a)) +* **25-02:** create tokens.css and reduce dashboard.css to layout + [@imports](https://github.com/imports) ([534bacf](https://github.com/thezoid/ShopPyBot/commit/534bacf2bd61521ca1980517255de96ca4ea3fc2)) +* **25-02:** vendor uPlot 1.6.32 at web/static/vendor/ (no CDN) ([6fde7e1](https://github.com/thezoid/ShopPyBot/commit/6fde7e145925a2da61aad8134bd71fcca759cda8)) +* **25-03:** add FOUC script, split-CSS links, sticky header, uPlot vendor ([b3b05cc](https://github.com/thezoid/ShopPyBot/commit/b3b05cc818613adb4358fc9992bd9d50eec4bc7f)) +* **25-03:** wire theme-toggle click handler in dashboard JS ([c60efc7](https://github.com/thezoid/ShopPyBot/commit/c60efc77eaab6e3b97ba8459f8a1bf7590bd058d)) +* **26-02:** add GET /api/history and GET /api/price-history/{link_b64} ([cf2066d](https://github.com/thezoid/ShopPyBot/commit/cf2066d73a6925ee50fbe4f1789d4da4f849a764)) +* **26-02:** add get_confirmed_orders_sync and read_logs_filtered ([121e3db](https://github.com/thezoid/ShopPyBot/commit/121e3db0bce61607fde06d8bea68443d03759eb4)) +* **26-02:** wire /api/logs level/search/n filtering (async-safe, OBS-08) ([b60d324](https://github.com/thezoid/ShopPyBot/commit/b60d3246ca08208b6c52d1c5a6f51d433b105846)) +* **26-03:** scrub last_error to class name in health snapshot + supervise (SSE-03) ([0d3d53c](https://github.com/thezoid/ShopPyBot/commit/0d3d53cf1ba86f82159d6fe45b48071a07c3297f)) +* **27-02:** add tail_log_lines cursor to web/log_reader.py ([af2c249](https://github.com/thezoid/ShopPyBot/commit/af2c249222ce4774bcfc69ad77ad09769e0445a3)) +* **27-02:** create web/sse_hub.py with SseHub and _poll_loop ([734fd35](https://github.com/thezoid/ShopPyBot/commit/734fd35f5bb702266ec7df4d7928db6eddd5391f)) +* **27-03:** create GET /api/events SSE route in web/routes/sse.py ([0d9562e](https://github.com/thezoid/ShopPyBot/commit/0d9562e8178ae87542be9293983146f17bedb4e9)) +* **27-03:** wire lifespan, SseHub, sse router; fix poll_interval + test transport compat ([2e62d94](https://github.com/thezoid/ShopPyBot/commit/2e62d94ae53120fb7a7d1d55e31608beb6aef4ca)) +* **28-02:** add heartbeat_age_secs to get_snapshot() ([0e0d044](https://github.com/thezoid/ShopPyBot/commit/0e0d044213bea3a3a420ae58227fc9881b4e7a67)) +* **28-02:** add Phase 28 observability CSS classes to components.css ([1d3cc97](https://github.com/thezoid/ShopPyBot/commit/1d3cc9799e3b1118d7a3ed78ac357eea61bebde6)) +* **28-03:** add section-health, section-buys, section-log-viewer scaffolds ([4e03dd5](https://github.com/thezoid/ShopPyBot/commit/4e03dd5597c0fbdcf19031e571ff27392c58e697)) +* **28-03:** implement renderHealthCards + renderUptime wired into pollStatus() ([73d70b5](https://github.com/thezoid/ShopPyBot/commit/73d70b59d11a2159adc98a58f392716e3ef60315)) +* **28-04:** implement loadConfirmedBuys() and loadPriceChart() with ISO->Unix conversion ([137be25](https://github.com/thezoid/ShopPyBot/commit/137be25e6f3d4f8de1735fb7d7902788f7f4facd)) +* **28-04:** implement log viewer render, extend pollLogs() with filters and Follow logic ([d701353](https://github.com/thezoid/ShopPyBot/commit/d701353d60c87a2d3be1a1688fde5937e8938884)) +* **29-02:** extract renderStatus, add no-dup guard, add sse-indicator element ([c0804df](https://github.com/thezoid/ShopPyBot/commit/c0804df6bc7e267c9171ec174526392927d19cff)) +* **29-03:** replace setInterval polls with feature-detected EventSource wiring ([084bc5e](https://github.com/thezoid/ShopPyBot/commit/084bc5e3d317e0a78c9690e2d660cff4fa420928)) +* **30-01:** add _PossiblyPlaced retry-abort guard + possibly_placed alert (BF-02) ([cbe013c](https://github.com/thezoid/ShopPyBot/commit/cbe013c80a4d258cde522dbc9ecb7c7654a980ea)) +* **30-01:** add D-15 login-failure short-circuit + login_failed alert (BF-03) ([e2ad0f9](https://github.com/thezoid/ShopPyBot/commit/e2ad0f945c6af53514ace92412c6b6aba9116e92)) +* **30-01:** add place-order marker column + accessors (BF-02) ([3942c5a](https://github.com/thezoid/ShopPyBot/commit/3942c5a95c06ba3193976523ce824164bc7467fb)) +* **30-02:** wire Amazon WAF branch to solve_amazon_waf solver ([e7115ca](https://github.com/thezoid/ShopPyBot/commit/e7115cab91077d11303fab05b1c82f77b0ca126f)) +* **30-03:** change login() ABC to bool + add _verify_login_generic ([a085eef](https://github.com/thezoid/ShopPyBot/commit/a085eefff70a256907c0ce22a5358c5fde25428d)) +* **30-03:** make relaunch() honor a failed re-login ([6c0e24c](https://github.com/thezoid/ShopPyBot/commit/6c0e24cf9e01e1384578097106cfcf929c711353)) +* **30-04:** write durable place-order marker before Amazon click ([790e798](https://github.com/thezoid/ShopPyBot/commit/790e79892f168aa3ca213e6a2785aea213273dd9)) +* **30-04:** write durable place-order marker before BestBuy click ([cb37a20](https://github.com/thezoid/ShopPyBot/commit/cb37a209099dcc6efe284eb777c0ed751516efd8)) +* **30-05:** Amazon login() -> bool + verification + auto_buy abort ([c2ddeed](https://github.com/thezoid/ShopPyBot/commit/c2ddeedf2950d09b5a5fcaa3eff632c29e2471f1)) +* **30-05:** BestBuy login() -> bool + verification + auto_buy abort ([5c07b75](https://github.com/thezoid/ShopPyBot/commit/5c07b753be9acdc5c8de72e329958a0fe748df89)) +* **30-06:** newegg/squareenix login()->bool + auto_buy abort-on-login-failure ([3681f9b](https://github.com/thezoid/ShopPyBot/commit/3681f9bd8626fc63aba31c8df70a05fd678a60b8)) +* **30-06:** walmart/target/gamestop login()->bool + auto_buy abort-on-login-failure ([6904f89](https://github.com/thezoid/ShopPyBot/commit/6904f894a0e5c9e5a395fa01e8fa4e9e9dcdc660)) +* **31-01:** add gitleaks CI secret-scan workflow ([549250d](https://github.com/thezoid/ShopPyBot/commit/549250dde9bcccd2c8e2f6f11626fc58e90ea300)) +* **31-03:** add .github/dependabot.yml (pip + github-actions) ([cbf682b](https://github.com/thezoid/ShopPyBot/commit/cbf682b70f6e7f7575b6dd842d9c57b4adef3869)) +* **32-01:** add release-please config + manifest seeded at 2.0.0 ([082a25a](https://github.com/thezoid/ShopPyBot/commit/082a25aea3f1d315bafe17354d26533527dacc6a)) +* **32-01:** add release-please GitHub Actions workflow ([43fe044](https://github.com/thezoid/ShopPyBot/commit/43fe044c3000c1129c95ca1906df026cccfc26a9)) +* **33-01:** _get_plugin_sleep reads canonical delay_seconds/delay_jitter for all 7 platforms ([a19649d](https://github.com/thezoid/ShopPyBot/commit/a19649d301855506c0d144fe9ae50535a75fff93)) +* **33-01:** add legacy-delay back-compat shim, rename 5 community models to canonical delay fields ([48c28ce](https://github.com/thezoid/ShopPyBot/commit/48c28cef35dc576b3419523c76b2e3dd32b8da13)) +* **33-02:** add extra=allow passthrough + get_platform_config helper (CFG-02) ([8622dda](https://github.com/thezoid/ShopPyBot/commit/8622ddaf9d5efa15fcb0d408c5d86e7fc89a674d)) +* **34-01:** inject [plugin] tag into writeLog via ContextVar ([448fbdc](https://github.com/thezoid/ShopPyBot/commit/448fbdcf389a35318f5d092e0dea6697d7c873f1)) +* **34-01:** tag supervise() tasks with platform_key for log lines ([91a87af](https://github.com/thezoid/ShopPyBot/commit/91a87afb9811dfc3b3bf93991f20b14121160155)) +* **34-02:** add plugin dropdown to dashboard log viewer, wire to plugin param ([8543b57](https://github.com/thezoid/ShopPyBot/commit/8543b57b3756838da46ea762909899b5f0563a30)) +* **34-02:** add plugin filter to read_logs_filtered and /api/logs ([039f242](https://github.com/thezoid/ShopPyBot/commit/039f2429a44fb2a5bb9cbaa1736810a70643d0ae)) +* **34-03:** add analytics dashboard view (stat cards + per-plugin table) ([71abe90](https://github.com/thezoid/ShopPyBot/commit/71abe902d72c563b0a6be6d584b3618b7c86a3a1)) +* **34-03:** add BotService.get_analytics seam + GET /api/analytics ([9bf6652](https://github.com/thezoid/ShopPyBot/commit/9bf66525d33132496b8ae94f9f2eb3b4c756913d)) +* **34-03:** add pure compute_analytics + read-only order rows accessor ([c66fc6a](https://github.com/thezoid/ShopPyBot/commit/c66fc6ae6c5216343720d981ea5a437d6aa5f9fc)) +* **35-01:** add zero-JS POST /items/remove route (AF-01) ([8f704ff](https://github.com/thezoid/ShopPyBot/commit/8f704ff1aca57a67e434e091d90d30e2c949937a)) +* **35-01:** wire SSR remove button to HTML form POST (AF-01) ([9794a10](https://github.com/thezoid/ShopPyBot/commit/9794a10ec3e5f664e970f072374de483b0ba1fcc)) +* **37-04:** add scripts/verify_wheel.py, the five-assertion wheel gate ([6ca6d1e](https://github.com/thezoid/ShopPyBot/commit/6ca6d1e7b3f57c50e97d12cffe36d4b8f91bc2e7)) +* **cli:** auto-select next free port when the dashboard port is busy ([0cebc9e](https://github.com/thezoid/ShopPyBot/commit/0cebc9edb3ed8e28ee5259376e8b2cfea15d3eef)) + + +### Bug Fixes + +* **18:** CR-01 fail-safe monitor_only guard when debug config absent ([3e83c11](https://github.com/thezoid/ShopPyBot/commit/3e83c1193611e83f4946a6667feb1c96170431cd)) +* **18:** CR-02 defense-in-depth monitor_only early-return in Amazon auto_buy ([e453c6d](https://github.com/thezoid/ShopPyBot/commit/e453c6d383154a7a2756d71de7eca48955c82719)) +* **18:** WR-01 patch missing DB calls in test_monitor_only_gate_via_orchestrator ([fa84ab9](https://github.com/thezoid/ShopPyBot/commit/fa84ab9c53b084614ac5825b6d1da296aa79f34f)) +* **18:** WR-02 document in-place config mutation risk in handle_run ([89eea6b](https://github.com/thezoid/ShopPyBot/commit/89eea6b1aad31c080b331d4e8c943b34f1d96387)) +* **18:** WR-03 add per-line raw-click check to static safety-gate assertion ([f0e8144](https://github.com/thezoid/ShopPyBot/commit/f0e8144f614d76e6fa08e9c39dddf844b97ac677)) +* **19:** CR-01 guard test_mode access with getattr to prevent AttributeError on null debug ([e42d6c9](https://github.com/thezoid/ShopPyBot/commit/e42d6c9333891bd70d4bcf245260205156283abc)) +* **19:** CR-02 pass settled URL snapshot to _extract_order_id to close stale-read race ([ef03aca](https://github.com/thezoid/ShopPyBot/commit/ef03acacd7f7a807747a224372ecf7f3d1782dcd)) +* **19:** IN-01 remove unused tmp_data_dir fixture from _try_auto_buy queue tests ([81bd456](https://github.com/thezoid/ShopPyBot/commit/81bd456b87c3f80535faf9801dd515654a405c22)) +* **19:** WR-01 add _CONFIRMED_SENTINEL_PREFIX constant and UAT debt comment ([de4ffd2](https://github.com/thezoid/ShopPyBot/commit/de4ffd266dc6543a39c00f53de61a47093fb6674)) +* **19:** WR-02 split _try_auto_buy except to prevent double-buy on confirmation error ([b0b4536](https://github.com/thezoid/ShopPyBot/commit/b0b4536c70e5dded5d386412b1bce236517d5443)) +* **19:** WR-03 add monitor_only entry guard to BestBuyPlugin.auto_buy for parity ([c1e2388](https://github.com/thezoid/ShopPyBot/commit/c1e23880fd45f0728a2c24a61f78d62f4e2e7097)) +* **20-04:** add clear_input AsyncMock to conftest fake_element; update regression test ([f0a9283](https://github.com/thezoid/ShopPyBot/commit/f0a9283f47993c79779fb2c4a621236c1dbcd636)) +* **20:** CR-01 add setup checkout-profile sub-action; keep --checkout-profile flag ([d8cbaa4](https://github.com/thezoid/ShopPyBot/commit/d8cbaa43e0f267bf09db980a861e9dd4a4e542a8)) +* **20:** CR-02/WR-03 CVV AST guards: add keyword-arg scan + expand file scope ([88e6b58](https://github.com/thezoid/ShopPyBot/commit/88e6b584cf56c46785509657cded7bafcc5cca8e)) +* **20:** CR-03 auto_buy monitor_only default False in BestBuy and Amazon plugins ([bdd70bd](https://github.com/thezoid/ShopPyBot/commit/bdd70bd58629a181dbbf8333672b71eb7db89325)) +* **20:** IN-01 remove tautological or-shortcircuit assertion in no-card-or-cvv test ([6d5bac1](https://github.com/thezoid/ShopPyBot/commit/6d5bac13a0897287ebb54fc1cafa89475ce99fa0)) +* **20:** WR-01 add visible-input notice to checkout profile setup prompt ([e8b9423](https://github.com/thezoid/ShopPyBot/commit/e8b94230e865007e76b957d2d742ec04a917e156)) +* **20:** WR-02 document init_store dependency in load_checkout_profile docstring ([f8ca270](https://github.com/thezoid/ShopPyBot/commit/f8ca270634b495957eb0e6751f8c302da9f03980)) +* **20:** WR-04 dedupe orchestrator CVV injection into single if-cvv block ([69bf636](https://github.com/thezoid/ShopPyBot/commit/69bf636a1c6b486f721930514b0d7875f8bead81)) +* **21:** CR-01 CR-02 close double-buy vectors in cart-retry ([ecd98b3](https://github.com/thezoid/ShopPyBot/commit/ecd98b3f0f2759c2a54003267fab7c3e4f7742fe)) +* **21:** WR-02 add [@pytest](https://github.com/pytest).mark.asyncio to all async tests in test_cart_retry.py ([4f74f41](https://github.com/thezoid/ShopPyBot/commit/4f74f41e53fcbc8ece22dd6689f86c96b7c171ae)) +* **21:** WR-03 add regression tests for CR-01 and CR-02 double-buy vectors ([812aef0](https://github.com/thezoid/ShopPyBot/commit/812aef07866329d231776f11defdb2b8d5788cee)) +* **22:** CR-01 use exc.__class__.__name__ in check_availability error log ([78bab87](https://github.com/thezoid/ShopPyBot/commit/78bab87b7d5bdbfab54d1b43deb91bc6cbace35e)) +* **22:** CR-02 narrow _is_browser_dead_exc to connection errors only, exclude bare OSError ([b83b643](https://github.com/thezoid/ShopPyBot/commit/b83b643e1727af2fa5c59bb74ae8934828b9a91d)) +* **22:** use exc.__class__.__name__ in write-queue flush log (credential hygiene) ([ca300f6](https://github.com/thezoid/ShopPyBot/commit/ca300f6cc8905ba4fc6b2ca744d1e7c7ae0815a9)) +* **22:** WR-01 assert write_queue unbounded, document REL-06 timeout safety at call site ([43c3f22](https://github.com/thezoid/ShopPyBot/commit/43c3f22ed0a68baadcecb72e21fc7d3dfe5a64ef)) +* **22:** WR-02 reset supervise() attempt counter after healthy run_plugin return ([9a9a24c](https://github.com/thezoid/ShopPyBot/commit/9a9a24cb90e3ce346260023fc6a4197ca3da4ec4)) +* **22:** WR-03 WR-04 use exc.__class__.__name__ in drain and staggered_setup logs ([65140b0](https://github.com/thezoid/ShopPyBot/commit/65140b025e7649788396864dfbb38a3973cc0d7f)) +* **23:** CR-01 remove private _passphrase access in restore_session ([f3a0e55](https://github.com/thezoid/ShopPyBot/commit/f3a0e557836329b1e8823c493b79db2daf2a4ebe)) +* **23:** CR-02 suffix mkstemp with .tmp; widen CI guard to any sessions file ([d838419](https://github.com/thezoid/ShopPyBot/commit/d8384194754be6a91a856fc5086cffd7a16d17c8)) +* **23:** IN-01 IN-02 clean redundant except tuple; anchor gitignore path ([e433f4c](https://github.com/thezoid/ShopPyBot/commit/e433f4c44e12d7cfa28eb69527c4181885cf5a5c)) +* **23:** WR-01 treat expires=0 as session cookie in _dicts_to_cookie_params ([437c69f](https://github.com/thezoid/ShopPyBot/commit/437c69f9e922d9dbab6caed1727d85c01172336a)) +* **23:** WR-02 WR-03 scope save_session to plugin domain; skip empty saves ([924c8b4](https://github.com/thezoid/ShopPyBot/commit/924c8b4389837e2dab86b6c0cb3ca779c55fb158)) +* **23:** WR-04 add comment in restore_session on cookie expiry async race ([6d426d0](https://github.com/thezoid/ShopPyBot/commit/6d426d02e7508bb13545b59eea9ae8c842a5c31c)) +* **24:** CR-01 WR-03 guard pygame import and play_sound errors ([8284735](https://github.com/thezoid/ShopPyBot/commit/828473542265bfd164a4cad7b043c234002e6bfc)) +* **24:** IN-02 display heartbeat age instead of raw monotonic timestamp ([3007ba1](https://github.com/thezoid/ShopPyBot/commit/3007ba1c8a6d001bb243c8e997e976dd3335ec8b)) +* **24:** WR-01 add get_consecutive_errors reader, use in supervise() ([d11bf2c](https://github.com/thezoid/ShopPyBot/commit/d11bf2c581d6b531b2eb57af676b5a3cb20ef345)) +* **24:** WR-02 snapshot loop/task before guard in stop() to close TOCTOU ([79e5419](https://github.com/thezoid/ShopPyBot/commit/79e5419ef92c05e3e201bb5f6099c44f50ece8b3)) +* **25-03:** replace innerHTML XSS vectors with createElement/textContent ([c4b9b89](https://github.com/thezoid/ShopPyBot/commit/c4b9b8946a88fa7a366fc6f5c2fb7a1e10e2112c)) +* **25:** add btn focus-visible ring + app-header-title weight (UI audit) ([3082232](https://github.com/thezoid/ShopPyBot/commit/3082232433b6f8faf0a13e26de72163b8efa31a4)) +* **25:** resolve code-review findings (dedupe CSS imports, sync theme toggle, strengthen XSS test) ([ad5a99e](https://github.com/thezoid/ShopPyBot/commit/ad5a99eaf6d24e4dc1efb63fb891a43f3ad2a1cf)) +* **26:** log filter is filter-then-limit so /api/logs returns up to n matching lines (WR-01) ([7c06891](https://github.com/thezoid/ShopPyBot/commit/7c068917dd13c3645f3a71862e41af1c198448c7)) +* **27:** resolve log dir via core.paths.log_dir() so /api/logs + SSE log frames work (CR-01); non-blocking poll-loop error log (WR-01); doc clarity (WR-02/03) ([42066e5](https://github.com/thezoid/ShopPyBot/commit/42066e59fbe3e1fc80cc75594bd888a65bb0f442)) +* **28:** destroy uPlot instances on re-render (CR-01), strip '=' from chart DOM id (CR-02), drop uncapped #log-content write (CR-03), move 500-line cap into appendLogLine (WR-03) ([ddfe6af](https://github.com/thezoid/ShopPyBot/commit/ddfe6af970d20117917489582925f980794b1021)) +* **29.1-02:** relocate uPlot loader to <head> for cold-load safety (OBS-05) ([c27671f](https://github.com/thezoid/ShopPyBot/commit/c27671fa03a097b57aa66725e51f0498161e02f0)) +* **29.1-03:** one-shot log-dedup guard, stop suppressing repeated lines (OBS-07) ([a0a0f0d](https://github.com/thezoid/ShopPyBot/commit/a0a0f0de4dc2ccfe71d7ab9c20a539a92b14cb4b)) +* **29.1-04:** SSE idle watchdog + REST fallback for stalled streams (SSE-01/02) ([63b47a2](https://github.com/thezoid/ShopPyBot/commit/63b47a2fce45a91c34df9fe3ed538a09c588b2bb)) +* **29.1:** unconditional live indicator on status event + stronger watchdog test (CR-01/WR-01/WR-02) ([d5f6869](https://github.com/thezoid/ShopPyBot/commit/d5f6869713c13ed952251c4dc49338e58578f75b)) +* **29:** try/catch SSE handler JSON.parse (CR-01); reset _lastLogLine on log repaint (CR-02) ([14e1ff2](https://github.com/thezoid/ShopPyBot/commit/14e1ff2a38ab13cff848f3fa6c9d61823bf065fb)) +* **30:** add clear_place_order_marker_sync recovery accessor (LOW-03) ([861fc79](https://github.com/thezoid/ShopPyBot/commit/861fc79f25a897753325771e15baddd9140b2a78)) +* **30:** drop redundant asyncio.TimeoutError from exception tuples (LOW-01) ([dbe1345](https://github.com/thezoid/ShopPyBot/commit/dbe1345079d0fd972ac500685d624911df1d1b25)) +* **30:** fire possibly_placed alert once per latch, not every poll cycle (MED-02) ([22ec887](https://github.com/thezoid/ShopPyBot/commit/22ec88796213eb451868949c4e74e261df130b7c)) +* **30:** move place-order marker write into place_order_guarded (CR-01) ([ba16879](https://github.com/thezoid/ShopPyBot/commit/ba168792ce83d17a3d95fda1056db804d9aa1114)) +* **31-02:** bump ci.yml off Node20-based actions ([73a6fb2](https://github.com/thezoid/ShopPyBot/commit/73a6fb20c544325fd98cb0a83cdc18ec7af5eea4)) +* **31-02:** bump CodeQL workflow to supported action versions ([39ccd8e](https://github.com/thezoid/ShopPyBot/commit/39ccd8ee6158d4f40bf4b69d2e730d708453feb7)) +* **31-03:** bump cryptography, pydantic-settings, jinja2 to patched versions ([b142cfa](https://github.com/thezoid/ShopPyBot/commit/b142cfaab5b57157e7cc9393a12ca715ff5d5feb)) +* **31:** least-privilege permissions on gitleaks workflow; create dependabot triage labels (WR-01/WR-02) ([8f69d1d](https://github.com/thezoid/ShopPyBot/commit/8f69d1d708ed7378821f019a25b0e8c9ff53dc27)) +* **33:** fail loudly on get_platform_config model_cls mismatch (WR-02) ([006b5e7](https://github.com/thezoid/ShopPyBot/commit/006b5e7f974864a875b7a7731bd12aa2cbb7fb20)) +* **33:** name legacy delay fields in inverted-range shim error (WR-01/IN-02/WR-03) ([34bb14e](https://github.com/thezoid/ShopPyBot/commit/34bb14e6a4a1d6dca7ebd7d484fd0d7a5874965d)) +* **34:** anchor the plugin log filter to the tag position, not free substring (IN-03) ([ac104f0](https://github.com/thezoid/ShopPyBot/commit/ac104f09b9df5b27bd7f95007ea7f5dfc9e5e425)) +* **34:** expose the real logger tag from list_plugins, DRY get_analytics (WR-02, WR-03) ([700b99e](https://github.com/thezoid/ShopPyBot/commit/700b99e33772aeea0ebd358e5cee707c7f03bc23)) +* **34:** import the CONFIRMED- sentinel prefix instead of redefining it (IN-01) ([e93c4fd](https://github.com/thezoid/ShopPyBot/commit/e93c4fd130e4bb650f75e3bd82748cf93d9c88d6)) +* **34:** refresh the analytics cards on a periodic timer (IN-02) ([ddcd002](https://github.com/thezoid/ShopPyBot/commit/ddcd002f0281e050ba68a2a4bcdd7b2840be2eff)) +* **34:** tag write-queue log lines with the owning plugin (WR-01) ([a762307](https://github.com/thezoid/ShopPyBot/commit/a762307b797fb1896abc9adef802297653da010f)) +* **35-02:** scrub raw last_heartbeat from get_snapshot, lockstep CLI (AF-02) ([585484c](https://github.com/thezoid/ShopPyBot/commit/585484c1f747d66ce248924dc31162eedbde922a)) +* **35:** add minimal .inline-remove-form CSS rule (IN-02) ([bd46f4c](https://github.com/thezoid/ShopPyBot/commit/bd46f4cbf936d2d510ae74226ef5c5cf508fc980)) +* **35:** coerce non-str link form field to empty (CR-01) ([0c933b0](https://github.com/thezoid/ShopPyBot/commit/0c933b0e64d45ca0e3c57727b1c0503eb1e788a7)) +* **ci:** move SHOPBOT_DATA_DIR to step scope so the workflow compiles ([#13](https://github.com/thezoid/ShopPyBot/issues/13)) ([4123059](https://github.com/thezoid/ShopPyBot/commit/4123059b5f2de5472aff8805676c246fe7ea233f)) +* **orchestrator:** do not register signal handlers off the main thread ([36f75c7](https://github.com/thezoid/ShopPyBot/commit/36f75c7643e5a72b72ac95a6d521edd8ffbb2971)) +* **orchestrator:** do not register signal handlers off the main thread ([3f27a2d](https://github.com/thezoid/ShopPyBot/commit/3f27a2dff279852ced3f8712b56f582173946a3b)) +* **sounds:** replace copyrighted FF14 alerts with original public-domain tones ([1964423](https://github.com/thezoid/ShopPyBot/commit/19644230d2f9ce15c76cf94d797a47edab32046d)) + + +### Documentation + +* **18-02:** complete place_order_guarded plan -- SUMMARY + state update ([39de2ce](https://github.com/thezoid/ShopPyBot/commit/39de2cee559a97c5156e56688441582de184ac99)) +* **18-03:** complete monitor_only wire-up plan -- SUMMARY + state update ([bdebd4d](https://github.com/thezoid/ShopPyBot/commit/bdebd4d1dc1a056ca1cb5588a77c65bd7f4fc492)) +* **18-04:** complete plugin reroute plan -- SUMMARY + state update ([d112637](https://github.com/thezoid/ShopPyBot/commit/d112637d54b5de83169992c9f2ca5c1673f33d7e)) +* **18:** add code review report ([f210dbb](https://github.com/thezoid/ShopPyBot/commit/f210dbbb806bf02f792f448f910061057c2d0344)) +* **19-01:** complete DB schema confirmation detection plan 01 ([8a0c4ec](https://github.com/thezoid/ShopPyBot/commit/8a0c4ec147e328b0f58ce3ceb57f0506bc456910)) +* **19-02:** complete confirmation detection plan -- SUMMARY, STATE, ROADMAP ([c300bf8](https://github.com/thezoid/ShopPyBot/commit/c300bf83c51e9ffd78144edcda9542c33b7b8c9e)) +* **19-03:** complete get_active_tab() ABC hook plan (BUY-03) ([bf580ee](https://github.com/thezoid/ShopPyBot/commit/bf580eeeb84a4befd0be87c69121f2c514442d08)) +* **19-04:** complete confirmation wiring plan -- SUMMARY, STATE, ROADMAP updated ([377178e](https://github.com/thezoid/ShopPyBot/commit/377178e42bf0508195ab0227692db492df50a90d)) +* **19:** add code review report ([d267d5e](https://github.com/thezoid/ShopPyBot/commit/d267d5e9830ed8e24ae77418de911a007cdb72ac)) +* **19:** create DB Schema + Confirmation Detection phase plan ([5219994](https://github.com/thezoid/ShopPyBot/commit/5219994f5ed618798c78e59ca15a06499a76550d)) +* **19:** research DB schema + confirmation detection phase ([20bab82](https://github.com/thezoid/ShopPyBot/commit/20bab82b1399fdc0c18ecceed1608d961da481f8)) +* **19:** research, patterns, validation strategy ([b9037ba](https://github.com/thezoid/ShopPyBot/commit/b9037baf0a61d427bc62fd34975bb0cb40bc4026)) +* **19:** smart discuss context ([4e39fe2](https://github.com/thezoid/ShopPyBot/commit/4e39fe2efec7c0281c46df6fd8b67c6030270695)) +* **20-01:** complete checkout profile data layer plan -- SUMMARY, STATE, ROADMAP, REQUIREMENTS ([be27c6d](https://github.com/thezoid/ShopPyBot/commit/be27c6d3f17201bd5cf7853ec4419b308c4c8bf0)) +* **20-02:** complete setup checkout-profile plan -- SUMMARY, STATE, ROADMAP ([d211168](https://github.com/thezoid/ShopPyBot/commit/d2111681851f652a968727724d25c016eaf7c939)) +* **20-03:** complete CVV threading plan -- SUMMARY, STATE, ROADMAP updated ([e22457a](https://github.com/thezoid/ShopPyBot/commit/e22457af5cc247ad35bc62847ca9d17c1e2413bc)) +* **20-04:** complete form-fill plan -- SUMMARY, STATE, ROADMAP updated ([492293e](https://github.com/thezoid/ShopPyBot/commit/492293e65fccce7a1136b7c689dca0435b52cfad)) +* **20:** add code review report ([ec5684b](https://github.com/thezoid/ShopPyBot/commit/ec5684bbcf9dc3bcc48e3d276a265dcc310493d2)) +* **20:** create Checkout Profile + Form-Fill phase plan ([4b1edc9](https://github.com/thezoid/ShopPyBot/commit/4b1edc9ed5256bcb534fda405f9493a841f1fb5e)) +* **20:** research, patterns, validation strategy ([b0c970c](https://github.com/thezoid/ShopPyBot/commit/b0c970cac21e5da167542cd66f38dd89b9597fdb)) +* **20:** smart discuss context ([945e18e](https://github.com/thezoid/ShopPyBot/commit/945e18e957e6dfc1c946f18ca021c4a446a000a5)) +* **21-01:** complete Plan 01 -- core/retry.py RetryPolicy + AST CI guard ([97ef53d](https://github.com/thezoid/ShopPyBot/commit/97ef53de45ae3ba1c78644414b8907f2fc413f37)) +* **21-02:** complete cart-retry DB helpers plan -- SUMMARY + state update ([dbf1c99](https://github.com/thezoid/ShopPyBot/commit/dbf1c9912ed14ecd36effa5d575c80d6e2a000ff)) +* **21-03:** complete per-step-timeouts plan summary and state update ([44c8af9](https://github.com/thezoid/ShopPyBot/commit/44c8af90da411c4e854a99527d10a4b1109ce4c3)) +* **21-04:** complete cart-retry plan -- SUMMARY + state update ([59bd4e1](https://github.com/thezoid/ShopPyBot/commit/59bd4e1d7700866c3d7a9bf9bcbe1ddeb708c2ea)) +* **21:** add code review report ([820a138](https://github.com/thezoid/ShopPyBot/commit/820a138999bbd2bfde7e2421e5fd9cc66c512392)) +* **21:** create Per-Step Timeouts + Unified Retry + Cart-Retry phase plan ([cf9f1d3](https://github.com/thezoid/ShopPyBot/commit/cf9f1d3eaac29f3b5492cb88dd8edc86253c727b)) +* **21:** research, patterns, validation strategy ([1ab3a9e](https://github.com/thezoid/ShopPyBot/commit/1ab3a9ef86b5f8e79914a494162fa90eede1097f)) +* **21:** smart discuss context ([1ee091e](https://github.com/thezoid/ShopPyBot/commit/1ee091e0f91190b577723ee9d840a34a9cb563df)) +* **21:** WR-01 comment login() call sites as intentionally un-timed ([3710594](https://github.com/thezoid/ShopPyBot/commit/371059420b2fce8af641b1ff4e17d3f26139fc98)) +* **22-01:** complete relaunch+restore_session plan ([48d103f](https://github.com/thezoid/ShopPyBot/commit/48d103fbc9727e12852044501818a24a802da687)) +* **22-02:** complete plan 22-02 -- sqlite read isolation + per-item timeout ([b82bdba](https://github.com/thezoid/ShopPyBot/commit/b82bdbae744a4b7fbffaba94499ad5faa8bec831)) +* **22-03:** complete plan 22-03 -- supervise() wrapper + browser relaunch wiring ([5c89f0b](https://github.com/thezoid/ShopPyBot/commit/5c89f0b654cf9078e7db4405dfc8bd00376cd3dd)) +* **22-04:** complete signal-bridge + write-queue-flush plan -- SUMMARY, STATE, ROADMAP ([6b8ae90](https://github.com/thezoid/ShopPyBot/commit/6b8ae90943b2c2afc7e5efcdec2ade92774bf87d)) +* **22:** add code review report ([e6a1086](https://github.com/thezoid/ShopPyBot/commit/e6a1086ca3cc84701ee5b7c89fbf3fed4c121014)) +* **22:** create Supervisor + Browser Relaunch + Server Safety phase plan ([bf9279f](https://github.com/thezoid/ShopPyBot/commit/bf9279fc80bb30819bbff194ea85e1367c5c4061)) +* **22:** research supervisor + browser relaunch + server safety ([b7e73f6](https://github.com/thezoid/ShopPyBot/commit/b7e73f66742779220f2ae4e6f5c00d85376fcfbc)) +* **22:** research, patterns, validation strategy ([be6b4b4](https://github.com/thezoid/ShopPyBot/commit/be6b4b484c0855b7cd087ec1a484f848b096e3bd)) +* **22:** smart discuss context ([fd76acc](https://github.com/thezoid/ShopPyBot/commit/fd76acc190191c263aa84c77bafcb60bfdc3968b)) +* **23-01:** complete SessionStore plan -- SUMMARY, STATE, ROADMAP, REQUIREMENTS ([ddbb6ca](https://github.com/thezoid/ShopPyBot/commit/ddbb6ca12544065c9a11974a0d2de9b962e205a1)) +* **23-02:** complete session_persistence config schema plan ([cfc379a](https://github.com/thezoid/ShopPyBot/commit/cfc379add059f74bfa0acd946da5743698ee7f58)) +* **23-03:** complete no-committed-sessions CI guard plan ([1fc5c63](https://github.com/thezoid/ShopPyBot/commit/1fc5c63a658f6fb5049f2fcbaeab42ca4af125d0)) +* **23-04:** complete plan 23-04 -- live session restore/save with raw CDP path ([13b747b](https://github.com/thezoid/ShopPyBot/commit/13b747bab4a93c6826f4c601d6e9f705d185bf47)) +* **23:** add code review report ([7f24212](https://github.com/thezoid/ShopPyBot/commit/7f24212d7ae6005e61be15151ef3da9ec587efc4)) +* **23:** code review fix report ([c8143a4](https://github.com/thezoid/ShopPyBot/commit/c8143a44b6a69b6c22ceb48424d611e42d95584b)) +* **23:** create Encrypted Session Persistence phase plan ([f8e30ef](https://github.com/thezoid/ShopPyBot/commit/f8e30efdb2b11d6253b020e501de85d7bf80b4a8)) +* **23:** patterns + validation strategy ([b2fc22d](https://github.com/thezoid/ShopPyBot/commit/b2fc22db16db1fdf6948eb89d045aa820b5b3a40)) +* **23:** research encrypted session persistence -- verified nodriver 0.50.3 CDP cookie API ([b6e73d4](https://github.com/thezoid/ShopPyBot/commit/b6e73d454bac5912bffbeeaa0e262db5e64e7e2e)) +* **23:** smart discuss context ([a9a7919](https://github.com/thezoid/ShopPyBot/commit/a9a7919248a0ba2206f3bdd45ae5b48d15383895)) +* **24-01:** complete HealthRegistry plan - SUMMARY, STATE, ROADMAP updated ([ce0c5c5](https://github.com/thezoid/ShopPyBot/commit/ce0c5c5251c9d47c8499c96abded7bf80f1d7c48)) +* **24-02:** complete pygame headless guard plan - SUMMARY, STATE, ROADMAP updated ([81c2f69](https://github.com/thezoid/ShopPyBot/commit/81c2f69555cea812cfec8935517fecb53387e75a)) +* **24-03:** complete health-surface get_status expansion plan ([5736e77](https://github.com/thezoid/ShopPyBot/commit/5736e77ce6bbda4aeb229caf410206c8e2f4258c)) +* **24-04:** complete orchestrator health wiring plan ([32bb065](https://github.com/thezoid/ShopPyBot/commit/32bb0655a30d5450621c88b467d8e6b2d6011579)) +* **24-05:** complete CLI status subcommand plan (8 min) ([a3e5e35](https://github.com/thezoid/ShopPyBot/commit/a3e5e35f767a8631a5fc788fd5212f3bec5a7682)) +* **24:** add code review report ([bfabf98](https://github.com/thezoid/ShopPyBot/commit/bfabf986226d66e0f3361d213c162d9340f746fa)) +* **24:** create Health Surface + Server Safety phase plan ([9261bc7](https://github.com/thezoid/ShopPyBot/commit/9261bc7712714845deccdd1a320221d803e84f0f)) +* **24:** research, patterns, validation strategy ([8c95458](https://github.com/thezoid/ShopPyBot/commit/8c954582b53571bb3d490d9c78597219d79955b4)) +* **24:** smart discuss context ([c1d4164](https://github.com/thezoid/ShopPyBot/commit/c1d4164be700b8cac13f0f115a8e8297d2d3bcb7)) +* **25-01:** complete Wave 0 TDD scaffold plan ([1f32a6e](https://github.com/thezoid/ShopPyBot/commit/1f32a6e53e2e995b7609e7ff191f2cc299d2b486)) +* **25-02:** complete CSS design system split plan -- SUMMARY + state update ([efa657d](https://github.com/thezoid/ShopPyBot/commit/efa657dd82dc2f25a7340f43662c3e959357b4b4)) +* **25-03:** complete dashboard HTML wiring plan -- SUMMARY + state update ([9a19fe9](https://github.com/thezoid/ShopPyBot/commit/9a19fe9ce6377a8f1a3c5b7fbf8259ede1abfac7)) +* **25:** add code review report ([51a9be5](https://github.com/thezoid/ShopPyBot/commit/51a9be5aa531d28a8cc109f8052d9b773960a0d0)) +* **25:** add validation strategy ([488bd54](https://github.com/thezoid/ShopPyBot/commit/488bd54e8ce7150b25163935583c157e87772bac)) +* **25:** create design-system phase plan (3 plans, 3 waves) ([979eb4f](https://github.com/thezoid/ShopPyBot/commit/979eb4fabeb742b691a117fdb0fb28af439c89d9)) +* **25:** pattern map ([b16faca](https://github.com/thezoid/ShopPyBot/commit/b16facafe13a221e70a3896dbee2572902bc58c7)) +* **25:** phase research ([c321264](https://github.com/thezoid/ShopPyBot/commit/c321264976a37d044f6f37977b87a1b892437f8a)) +* **25:** phase verification (passed 5/5) ([6ebf106](https://github.com/thezoid/ShopPyBot/commit/6ebf106819d92b00debb9e9f044b837ddd601f91)) +* **25:** smart discuss context ([46f970b](https://github.com/thezoid/ShopPyBot/commit/46f970bd1b12ab9afe6d0ae4b13e7bc4aae2b9a6)) +* **25:** UI audit review (20/24) ([e248b5a](https://github.com/thezoid/ShopPyBot/commit/e248b5a3fb612f26d55b380dbbf77153456cd5a4)) +* **25:** UI design contract ([c791d28](https://github.com/thezoid/ShopPyBot/commit/c791d282d7cd87c5d16964c1e2e0df98996f144a)) +* **26-01:** complete RED scaffold plan summary and state updates ([f1c7d2c](https://github.com/thezoid/ShopPyBot/commit/f1c7d2c5a1b61f8acf3b174cfe41b8319088f0db)) +* **26-02:** summary + roadmap progress (orchestrator-completed after agent stall) ([48e1279](https://github.com/thezoid/ShopPyBot/commit/48e12798600939bb0027ba0f0e8eb6646f44b721)) +* **26-03:** summary + roadmap progress (3/3 plans) ([3476b29](https://github.com/thezoid/ShopPyBot/commit/3476b29004129cefc15223fa20227cbdf432758f)) +* **26:** add code review report ([21bf17c](https://github.com/thezoid/ShopPyBot/commit/21bf17ce72f24e8e262077326afc3a90abbd6d09)) +* **26:** add validation strategy ([1fd6d31](https://github.com/thezoid/ShopPyBot/commit/1fd6d31598dd8fa6728ed61da51845ea09f35452)) +* **26:** create read-only API endpoints plan (3 plans, OBS-08/SSE-03) ([40f6c60](https://github.com/thezoid/ShopPyBot/commit/40f6c60dbd8cd6233bcc40666581cbbb4c4af96c)) +* **26:** pattern map ([475f6e4](https://github.com/thezoid/ShopPyBot/commit/475f6e4fc3d335bcd83ee96f976a8d6231b8db16)) +* **26:** phase research ([9fcdbe6](https://github.com/thezoid/ShopPyBot/commit/9fcdbe68c4e72c8fafcd22e2ce72a20012a6f887)) +* **26:** phase verification (passed 10/10) ([8d227e7](https://github.com/thezoid/ShopPyBot/commit/8d227e712339c519ff23a2ff55741bdbfc58ee90)) +* **26:** smart discuss context ([0b29135](https://github.com/thezoid/ShopPyBot/commit/0b29135a5de3d3c6d58005db7073a15cc0828626)) +* **27-01:** complete Wave 0 RED spike plan — SUMMARY, STATE, ROADMAP updated ([3dbcc97](https://github.com/thezoid/ShopPyBot/commit/3dbcc97e6cfc6186086ba2560f528904136a6e22)) +* **27-02:** complete bridge-core plan — SUMMARY, STATE, ROADMAP ([9f7c846](https://github.com/thezoid/ShopPyBot/commit/9f7c84634ed92d1ee6299724db2d5c37136de5dd)) +* **27-03:** complete SSE route+lifespan plan — SUMMARY, STATE, ROADMAP ([d324949](https://github.com/thezoid/ShopPyBot/commit/d3249498ed90ad945c5e438648937b29f48208f8)) +* **27:** add code review report ([ebab5a1](https://github.com/thezoid/ShopPyBot/commit/ebab5a1691e85ff4807856cbcf794c1024571c43)) +* **27:** add validation strategy ([4e12b97](https://github.com/thezoid/ShopPyBot/commit/4e12b97b0e9e32320da0ce66cc1590d63b16cc70)) +* **27:** create SSE infrastructure phase plan (3 plans, 2 waves) ([eafece6](https://github.com/thezoid/ShopPyBot/commit/eafece68c6edfe9b892a1039992bd609e4a2c46b)) +* **27:** pattern map ([6cff3c0](https://github.com/thezoid/ShopPyBot/commit/6cff3c0247c6eabd63d9c74a66a86509d3a9d7aa)) +* **27:** phase research ([905f8d8](https://github.com/thezoid/ShopPyBot/commit/905f8d8b37f9944dbc2142f0b98021ffe6ba7fc2)) +* **27:** phase verification (4/4 automated; 3 live-env UAT items deferred as debt) ([b5178bf](https://github.com/thezoid/ShopPyBot/commit/b5178bf88bbff058e0a3fe231f12826847fb1a4c)) +* **27:** smart discuss context ([e1908e1](https://github.com/thezoid/ShopPyBot/commit/e1908e1237ec7fcb86808ba4a8237932d5871a3a)) +* **28-01:** complete Wave 0 RED scaffold plan summary and state updates ([5a423a4](https://github.com/thezoid/ShopPyBot/commit/5a423a45ed225a16a0678a91fdd1c69bd6ab1940)) +* **28-02:** complete plan 28-02 summary, state, and roadmap update ([f271521](https://github.com/thezoid/ShopPyBot/commit/f271521c16c85784da50043b52f50988d9024f91)) +* **28-03:** complete plan 28-03 summary, state, and roadmap update ([0ff3c71](https://github.com/thezoid/ShopPyBot/commit/0ff3c7115bbdedd08b7cc287531315fb81a8d741)) +* **28-04:** complete plan 28-04 summary, state, and roadmap update ([b279599](https://github.com/thezoid/ShopPyBot/commit/b27959934a7b3d1b9d3e84dd9363e4ecaf6e64e6)) +* **28:** add code review report ([549dac5](https://github.com/thezoid/ShopPyBot/commit/549dac5a115ac1eaace8ebf0fa1743a021b9c760)) +* **28:** add validation strategy ([06e6cc3](https://github.com/thezoid/ShopPyBot/commit/06e6cc3228109f3e72ddbded4fbf4703771de923)) +* **28:** create frontend observability surfaces plan (4 plans, 4 waves) ([8be7c94](https://github.com/thezoid/ShopPyBot/commit/8be7c94857c11b6978a6eef52e50a2f015b8e232)) +* **28:** pattern map ([1e1fa75](https://github.com/thezoid/ShopPyBot/commit/1e1fa75408be50a974e63edce6b6a1ee070f9306)) +* **28:** phase verification (9/9 automated; 5 JS-visual UAT items deferred) ([368090e](https://github.com/thezoid/ShopPyBot/commit/368090ee4b62dafafafb883770ba2cd3919c67aa)) +* **28:** research frontend observability surfaces phase ([3bf3c05](https://github.com/thezoid/ShopPyBot/commit/3bf3c05410bb7d375963ffe2dc78510fc3c87e3f)) +* **28:** smart discuss context ([995c9fa](https://github.com/thezoid/ShopPyBot/commit/995c9fa0392b1ea2df492f0add9fb5baf98ead8e)) +* **28:** UI design contract ([fa4d163](https://github.com/thezoid/ShopPyBot/commit/fa4d163afdc3c3db8ec3efb0941de7572fed8e41)) +* **29-01:** complete Wave 0 RED scaffold plan -- SUMMARY, STATE, ROADMAP ([63b01ed](https://github.com/thezoid/ShopPyBot/commit/63b01ed155df445cdc247af59511c02685451ee2)) +* **29-02:** complete plan 02 summary and state update ([c3056dc](https://github.com/thezoid/ShopPyBot/commit/c3056dcdf05eaa67ab45060d4a411f3ece57796e)) +* **29-03:** complete SSE client wiring plan — SUMMARY, STATE, ROADMAP updated ([c84d6e2](https://github.com/thezoid/ShopPyBot/commit/c84d6e253d53e00e8aeacdcf359e2335fb7db1f7)) +* **29.1:** add code review report ([e2c2568](https://github.com/thezoid/ShopPyBot/commit/e2c2568eef9ac5b03abdd8345617a48663c6270c)) +* **29.1:** create phase plan (4 plans, 4 waves) ([6f23178](https://github.com/thezoid/ShopPyBot/commit/6f2317828d366040c2efbdac4bfd1c56e42c8850)) +* **29.1:** plan summaries + tracking (all 4 waves complete) ([a538863](https://github.com/thezoid/ShopPyBot/commit/a53886304c58c45e75d70aabd75f5a1891de072e)) +* **29.1:** smart discuss context ([32710de](https://github.com/thezoid/ShopPyBot/commit/32710de018ac8f8bbf4cd85afb68f0eb72a65e24)) +* **29:** add code review report ([73b0c8f](https://github.com/thezoid/ShopPyBot/commit/73b0c8f367765603b10e3b9d9d0d8517f0239eb9)) +* **29:** add validation strategy ([5d5f21e](https://github.com/thezoid/ShopPyBot/commit/5d5f21eb388dc229c7e087e49184339c0b1bcae8)) +* **29:** create SSE client wiring phase plan (3 plans, 3 waves) ([c9f7a91](https://github.com/thezoid/ShopPyBot/commit/c9f7a9134b8f04dd226bcad5ad53d8c55d4a1c41)) +* **29:** phase research ([0f08673](https://github.com/thezoid/ShopPyBot/commit/0f08673790d3220c35d78d0c04219b1c5c0e5725)) +* **29:** phase verification (9/9 automated; 5 live UAT items deferred) ([8d5d2ad](https://github.com/thezoid/ShopPyBot/commit/8d5d2ad6fa93d092a6ff85d754c96505fa3f4092)) +* **29:** smart discuss context ([5bec5a5](https://github.com/thezoid/ShopPyBot/commit/5bec5a5745652c4a6ab6498a4f0075b82c7fcc40)) +* **30-01:** add plan summary for place-order guard + login-failure short-circuit ([1741af4](https://github.com/thezoid/ShopPyBot/commit/1741af4e822a48891c6430b0407287f695718a1e)) +* **30-01:** update STATE.md and ROADMAP.md after plan 30-01 completion ([70741f7](https://github.com/thezoid/ShopPyBot/commit/70741f7608d8f24cc35167bd52219a79b3acfcdb)) +* **30-02:** add plan summary for Amazon WAF auto-solve wiring ([a5c5952](https://github.com/thezoid/ShopPyBot/commit/a5c59520df59d1ea4f3420db0300d7fa9e4ce034)) +* **30-02:** update STATE.md and ROADMAP.md after plan 30-02 completion ([f25f199](https://github.com/thezoid/ShopPyBot/commit/f25f199b1280d58b530e55e3b34a1c6ef51f6168)) +* **30-03:** complete BF-03 ABC foundation plan ([8218460](https://github.com/thezoid/ShopPyBot/commit/821846002cc3f4ec578fde51d6a37e8632bafc40)) +* **30-04:** complete Amazon+BestBuy place-order marker write plan ([f48fc6b](https://github.com/thezoid/ShopPyBot/commit/f48fc6b97309ee3d6fa7aced1fc517ee05cf24dc)) +* **30-04:** complete Amazon+BestBuy place-order marker write plan ([89a9c6c](https://github.com/thezoid/ShopPyBot/commit/89a9c6c0816a8ffa10744d4ee31f7a158813f524)) +* **30-05:** complete Amazon + BestBuy login verification plan ([aec99ca](https://github.com/thezoid/ShopPyBot/commit/aec99ca2774bb00ca5ade9b228db0303ca1d9cc6)) +* **30-05:** update STATE/ROADMAP/REQUIREMENTS for Amazon+BestBuy login verification plan ([9aedb68](https://github.com/thezoid/ShopPyBot/commit/9aedb68c731cfbb5511177f9375e57eb0d8bae03)) +* **30-06:** complete community plugin login verification plan ([84daf8c](https://github.com/thezoid/ShopPyBot/commit/84daf8c3f4928b089f20eb43b5a02e587b02732e)) +* **30-06:** update STATE/ROADMAP for community plugin login verification plan ([1b26185](https://github.com/thezoid/ShopPyBot/commit/1b26185f5307ba1366997dcfbfc579712a159fa9)) +* **30:** add phase 30 breakfix-hardening verification report ([5ba0849](https://github.com/thezoid/ShopPyBot/commit/5ba08497b3154af2888e552c3d801c99e62dcbd0)) +* **30:** add phase context, discussion log, pattern map ([6e14999](https://github.com/thezoid/ShopPyBot/commit/6e14999fe7850fb616b7d15450c5ff436c781561)) +* **30:** add phase research and validation strategy ([6a2a257](https://github.com/thezoid/ShopPyBot/commit/6a2a2576e6946dc9eb4e5db217b2fa6049912680)) +* **30:** create phase plan (6 plans, 3 waves) ([7f4740b](https://github.com/thezoid/ShopPyBot/commit/7f4740b1cfc3c24bef697c148de5601b4bbb9282)) +* **30:** mark CR-01/MED-02/LOW-03/LOW-01 resolved in 30-REVIEW.md ([fa078ab](https://github.com/thezoid/ShopPyBot/commit/fa078abf5ebad58eb208f329f9f8c89c580cfdc7)) +* **30:** mark phase 30 breakfix-hardening complete in ROADMAP/STATE/REQUIREMENTS ([dbd9335](https://github.com/thezoid/ShopPyBot/commit/dbd9335d0d3bcc4c2efbbb0b09534c3888702c02)) +* **31-01:** complete secret-scan audit plan ([7e0741f](https://github.com/thezoid/ShopPyBot/commit/7e0741f4a73b2471f2665662d9ccb20d06458f46)) +* **31-02:** complete CodeQL workflow fix plan ([5065280](https://github.com/thezoid/ShopPyBot/commit/5065280d0f08e0b894887948092343bb90e79323)) +* **31-03:** complete dependabot config + vuln remediation plan ([bada2bf](https://github.com/thezoid/ShopPyBot/commit/bada2bf465ea9aa5c323140aad30e44f82e96658)) +* **31:** add validation strategy (Nyquist) ([a9aefd8](https://github.com/thezoid/ShopPyBot/commit/a9aefd84bc852e2fcd0c7a6ac2c4b2f62e77f32b)) +* **31:** add verification (human_needed: CI debt) + code review (0 critical) reports ([23324c5](https://github.com/thezoid/ShopPyBot/commit/23324c5e262f96ab68da224538f9d2b6bc0b51f7)) +* **31:** create phase plan (3 plans, 1 wave) ([e5207e9](https://github.com/thezoid/ShopPyBot/commit/e5207e9bc6782bdff88ef7e23a7362bd343b22cd)) +* **31:** mark phase 31 CI-security complete (RH-01/04/05; CI-verify debt deferred) ([cd2714a](https://github.com/thezoid/ShopPyBot/commit/cd2714a13c7b41bb05c9c2c983a616b634c2e3b1)) +* **31:** phase research (secret scan, CodeQL, dependabot remediation) ([a764683](https://github.com/thezoid/ShopPyBot/commit/a76468343e8f5e9a44bcac3dabb033d380597549)) +* **31:** smart discuss context (infra phase, autonomous) ([2571935](https://github.com/thezoid/ShopPyBot/commit/25719353ffacd77121df3b665f1dfa7e271a91e4)) +* **32-01:** complete release automation seed plan ([c8ce6cf](https://github.com/thezoid/ShopPyBot/commit/c8ce6cf5757752dc10927b22f7af3e9bb417980a)) +* **32-02:** complete README rewrite plan ([dd5d236](https://github.com/thezoid/ShopPyBot/commit/dd5d2363828621d62cf759eda28551a49bac625a)) +* **32-02:** document 7-platform ecosystem and fix credential guidance ([f69f340](https://github.com/thezoid/ShopPyBot/commit/f69f3402b75e175363588b7e4e42d95a20d03792)) +* **32-02:** fix README badges, prereqs, install, and clone URL ([8f74300](https://github.com/thezoid/ShopPyBot/commit/8f74300b1ba1f012104446aa6008cb587f7a556b)) +* **32-03:** complete RH-07 security contact plan ([04c908f](https://github.com/thezoid/ShopPyBot/commit/04c908fb82382da0ff89c4994c9ff9da9708e164)) +* **32-03:** route CODE_OF_CONDUCT.md reports to GitHub PVR ([aef6139](https://github.com/thezoid/ShopPyBot/commit/aef6139e3d7c9916e1af0a69a8cd56d547cdb4e8)) +* **32-03:** route SECURITY.md vulnerability reports to GitHub PVR ([fb464d0](https://github.com/thezoid/ShopPyBot/commit/fb464d05b2f44eb44a5715a22f95c24ee1451a1c)) +* **32:** add phase verification report (human_needed) ([a32da57](https://github.com/thezoid/ShopPyBot/commit/a32da57240e72f154cdbb8fb88d01623af200464)) +* **32:** add validation strategy (Nyquist) ([d6d440c](https://github.com/thezoid/ShopPyBot/commit/d6d440c447dea01a18a2c8d73e39cb5177efb7f1)) +* **32:** create phase plan (3 plans, 1 wave) ([0dd67b3](https://github.com/thezoid/ShopPyBot/commit/0dd67b302036f1bdb5bd076429dbbca5658f21ce)) +* **32:** document Actions allowlist and GITHUB_TOKEN caveats ([d155f86](https://github.com/thezoid/ShopPyBot/commit/d155f86c40e0a622fb73676502c40cc513ac90d2)) +* **32:** document Actions allowlist requirement in gitleaks workflow ([9395d38](https://github.com/thezoid/ShopPyBot/commit/9395d38bfbf2731eea6f35b0435f4e04b1e3a4ff)) +* **32:** fix README prereqs, contributing link, and versioning note ([cc87086](https://github.com/thezoid/ShopPyBot/commit/cc87086e51585d786e833aaae93ca3bd88a6a3f8)) +* **32:** mark 32-REVIEW.md findings resolved ([c695510](https://github.com/thezoid/ShopPyBot/commit/c6955100953f74069c085c1efea9c67b77e7c89f)) +* **32:** mark phase 32 release-automation complete (RH-02/03/06/07; operator+CI debt deferred) ([a984a9d](https://github.com/thezoid/ShopPyBot/commit/a984a9d67d9f0340672b53b202ed666959d81e2e)) +* **32:** phase research (release-please v5, README gaps, security contact) ([450b1bc](https://github.com/thezoid/ShopPyBot/commit/450b1bce3c72e8fc8747f0e2195621cadc191d1e)) +* **32:** smart discuss context (release automation + community readiness) ([344556e](https://github.com/thezoid/ShopPyBot/commit/344556ea30dc4a237d28a3c5571f096f72b5664d)) +* **32:** stop routing CoC reports through the vulnerability form ([cab992a](https://github.com/thezoid/ShopPyBot/commit/cab992a61ebbff6aaeb4e7c068a60ef244a068a9)) +* **33-01:** complete config-refactor CFG-01 plan ([851b4b7](https://github.com/thezoid/ShopPyBot/commit/851b4b7dd9f59bfe46fc505b85f1b8717c88ef26)) +* **33-02:** complete generic per-platform config plan ([6ffb958](https://github.com/thezoid/ShopPyBot/commit/6ffb95895086f71120ca4c9bf7eed01e98412ddc)) +* **33:** add validation strategy (Nyquist) ([1aa75e6](https://github.com/thezoid/ShopPyBot/commit/1aa75e6eddc959c2a259d24b9f1dc67e12401744)) +* **33:** create phase plan (2 plans, 2 waves; fixture-import + grep-criterion revised) ([219d9c2](https://github.com/thezoid/ShopPyBot/commit/219d9c201510b274cd184d9e6f4c38f563931320)) +* **33:** mark phase 33 config-refactor complete (CFG-01/02; Amazon jitter UAT deferred) ([72c1f24](https://github.com/thezoid/ShopPyBot/commit/72c1f245b7c4eb789b50da01aa55bd5eb81ba653)) +* **33:** mark WR-01/WR-02/WR-03/IN-02 resolved in code review report ([736eb65](https://github.com/thezoid/ShopPyBot/commit/736eb65fbf192fcaec46b8d7605e27e0dd766161)) +* **33:** phase research (dead delay fields finding, shim mapping, extra=allow) + context correction ([1ffa50d](https://github.com/thezoid/ShopPyBot/commit/1ffa50d372bbe8fb744530b543a2d7a56d18d6b8)) +* **33:** smart discuss context (config refactor: canonical delay fields + generic per-platform config) ([195dc16](https://github.com/thezoid/ShopPyBot/commit/195dc1672b17dc47157412364adb63fde64e9486)) +* **34-01:** complete [plugin] log tag ContextVar plan ([226ec21](https://github.com/thezoid/ShopPyBot/commit/226ec21188ca1595bdb059ad6ff227cd23c8d98f)) +* **34-02:** complete /api/logs plugin filter plan ([f169537](https://github.com/thezoid/ShopPyBot/commit/f16953777aca33158e6dde4da87421ce363a2ac1)) +* **34-03:** complete outcome analytics plan ([e316d78](https://github.com/thezoid/ShopPyBot/commit/e316d78d1e7419d0527628915aaf0992dc354417)) +* **34:** add validation strategy (Nyquist) ([d6a16dc](https://github.com/thezoid/ShopPyBot/commit/d6a16dc1cacfba25169c8ede7c74fb1164cc8a62)) +* **34:** create phase plan (3 plans, 2 waves) ([61efdf2](https://github.com/thezoid/ShopPyBot/commit/61efdf28909891aed31321018ecab210f629e409)) +* **34:** mark all code-review findings resolved (WR-01, WR-02, WR-03, IN-01, IN-02, IN-03) ([db93e5d](https://github.com/thezoid/ShopPyBot/commit/db93e5d27a44b3fe6170c4d250df31094157259e)) +* **34:** mark phase 34 feature-completion complete (FC-01/02; dashboard render UAT deferred) ([8cf141f](https://github.com/thezoid/ShopPyBot/commit/8cf141fe4096d1b608d60006cbad9adc9d0199ce)) +* **34:** phase research (contextvars plugin tag, analytics schema, cards+table reuse) ([5f727b3](https://github.com/thezoid/ShopPyBot/commit/5f727b3200f5a0ac60f87117ca1893e3f5cca231)) +* **34:** smart discuss context (plugin log filter + outcome analytics) ([8bba906](https://github.com/thezoid/ShopPyBot/commit/8bba906c3b113a1d40a677f125fb04cba7d0c4dc)) +* **35-01:** complete AF-01/AF-03 audit fixes plan ([e2542df](https://github.com/thezoid/ShopPyBot/commit/e2542df07cd3737798a5e8d2ec0d205e9b9937e9)) +* **35-02:** complete AF-02 last_heartbeat leak fix plan ([0f167bc](https://github.com/thezoid/ShopPyBot/commit/0f167bca8c8db2f2dec495970e958bd65a36561a)) +* **35-03:** add requirements: frontmatter to Phase 27/28/29 SUMMARY files (DH-02) ([66bf260](https://github.com/thezoid/ShopPyBot/commit/66bf2609f7c247f6d71823974e70f2eebbbdf790)) +* **35-03:** complete DH-01/02/03 frontmatter reconciliation plan ([3010644](https://github.com/thezoid/ShopPyBot/commit/30106440f1e66c6cc7671f9b6065aae54a031372)) +* **35-03:** reconcile v4.0/v4.1 VALIDATION.md frontmatter (DH-01, DH-03) ([0b81b04](https://github.com/thezoid/ShopPyBot/commit/0b81b043b9d8ffe221a58b84bae9010a8954b488)) +* **35:** add validation strategy (Nyquist) ([90d046c](https://github.com/thezoid/ShopPyBot/commit/90d046c9c10a799c8b6fbf6575a9843dc0534165)) +* **35:** create phase plan (3 plans, 1 wave) ([90d3ae2](https://github.com/thezoid/ShopPyBot/commit/90d3ae244dd8931662359b392610a17ac8b64027)) +* **35:** mark CR-01 + IN-02 resolved, IN-01 acknowledged in review ([2c6a1dd](https://github.com/thezoid/ShopPyBot/commit/2c6a1ddb3a3a0d59390730788b118ea1fbad1143)) +* **35:** mark phase 35 audit-fixes-doc-hygiene complete (AF+DH; all v4.2 reqs landed) ([b70ac4a](https://github.com/thezoid/ShopPyBot/commit/b70ac4a1a96870248826426f3f4d51ffff82af01)) +* **35:** phase research (AF sites, cli lockstep risk, DH-02 scope correction) ([7e255db](https://github.com/thezoid/ShopPyBot/commit/7e255dbd8079d4c84dd8670fe344fa3785af3f81)) +* **35:** smart discuss context (audit fixes + doc-hygiene cleanup) ([0ba96e7](https://github.com/thezoid/ShopPyBot/commit/0ba96e700e17d8fe60ea81a674fad2e4ddd2445f)) +* **36-01:** complete rollback-point and PR-disposition plan ([c07fd3b](https://github.com/thezoid/ShopPyBot/commit/c07fd3b05c55ffc7eab281f4bcc4d55f3135c51b)) +* **36-01:** flag MAIN-03 commit-count drift from 8 to 18 for plan 36-02 ([1745f08](https://github.com/thezoid/ShopPyBot/commit/1745f08eb54d73b468284670af4c52e469a7444c)) +* **36-01:** record PR [#12](https://github.com/thezoid/ShopPyBot/issues/12) merge in phase 36 audit log ([d04c5ca](https://github.com/thezoid/ShopPyBot/commit/d04c5cab464e2a2c863d9cdb2b87586abbd67a2a)) +* **36-01:** record PR [#8](https://github.com/thezoid/ShopPyBot/issues/8) superseded close in phase 36 audit log ([c321509](https://github.com/thezoid/ShopPyBot/commit/c3215091b95e5261c57b812bedd4d142ca2d05aa)) +* **36-01:** summarize rollback tag, PR [#12](https://github.com/thezoid/ShopPyBot/issues/12) merge, PR [#8](https://github.com/thezoid/ShopPyBot/issues/8) close ([c618989](https://github.com/thezoid/ShopPyBot/commit/c6189899abc62091ffea5f6688817bd0c94b7eb2)) +* **36-02:** advance state to plan 03 and record plan 02 metrics ([232d195](https://github.com/thezoid/ShopPyBot/commit/232d195ff3d5fef336ee37e166b414527617448f)) +* **36-02:** record post-commit self-check result ([d1c4cf2](https://github.com/thezoid/ShopPyBot/commit/d1c4cf2f6695a968d9dafeac52527606ca011022)) +* **36-02:** summarize PR [#11](https://github.com/thezoid/ShopPyBot/issues/11) local conflict resolution ([c544dc0](https://github.com/thezoid/ShopPyBot/commit/c544dc08c685b5a865b1fc97930111982501160c)) +* **36-03:** record PR [#11](https://github.com/thezoid/ShopPyBot/issues/11) merge, MAIN-01 CI evidence, and ancestry proof ([5486b50](https://github.com/thezoid/ShopPyBot/commit/5486b50a2f9b23112cbf3f00475e3697144c6474)) +* **36:** add validation strategy ([2317476](https://github.com/thezoid/ShopPyBot/commit/2317476ab48874f10387e566b136d33ff6355c37)) +* **36:** close phase 36 mainline reconciliation, all 7 MAIN requirements verified ([c988483](https://github.com/thezoid/ShopPyBot/commit/c988483b5092d1ed7c890a8625779b51fa79be0d)) +* **36:** close plan-checker findings on phase 36 plans ([0e648de](https://github.com/thezoid/ShopPyBot/commit/0e648de76ddfce6d8aa4380ae5b62200a5eeae52)) +* **36:** commit pending GSD harness state from the 2026-08-01 UAT session ([c208af7](https://github.com/thezoid/ShopPyBot/commit/c208af70fcc1a337106b05ff3ae9d0f472c23bfe)) +* **36:** create phase 36 mainline reconciliation plans ([28280ec](https://github.com/thezoid/ShopPyBot/commit/28280ec60936b07a9e80969c48339872c42259e2)) +* **36:** open phase 36 merge audit log ([969b322](https://github.com/thezoid/ShopPyBot/commit/969b32267031bcf0b219c927c69afdbf85195cfb)) +* **36:** publish phase 36 evidence to the default branch ([2d001ec](https://github.com/thezoid/ShopPyBot/commit/2d001eca7c468fbc6016e8261f3b5562a5f96cb2)) +* **36:** publish phase 36 evidence to the default branch ([2651cb5](https://github.com/thezoid/ShopPyBot/commit/2651cb51c2d5cbc51c041ccf9d2217826a91b855)) +* **36:** record MAIN-03 commit disposition and absorb PR [#11](https://github.com/thezoid/ShopPyBot/issues/11) head divergence ([7875a01](https://github.com/thezoid/ShopPyBot/commit/7875a01899e7a62f55f39f56de59035490abc3b7)) +* **36:** record merged-tree local suite result ([10a0da1](https://github.com/thezoid/ShopPyBot/commit/10a0da193287ca1392085fc35158d38f9d0c1c1d)) +* **36:** record phase 36 completion in STATE.md ([149a10b](https://github.com/thezoid/ShopPyBot/commit/149a10b0c73f26637818c4bb08be662d65df23e4)) +* **36:** record PR [#21](https://github.com/thezoid/ShopPyBot/issues/21) SSE breakage under fastapi 0.141 ([f90c7f2](https://github.com/thezoid/ShopPyBot/commit/f90c7f2a384cc48a666093b1f270eb63192413fe)) +* **36:** research phase domain ([9529dd1](https://github.com/thezoid/ShopPyBot/commit/9529dd1b12b8778f4075f817c0975739d5656829)) +* **36:** smart discuss context ([bb8eace](https://github.com/thezoid/ShopPyBot/commit/bb8eacee4956f0b5be8e346cdd3a07ee96a318b7)) +* **37-01:** complete data-files-in-the-wheel plan ([09dab0e](https://github.com/thezoid/ShopPyBot/commit/09dab0e0815a1d5bdc4a943fa8b4c2f871c2ee1a)) +* **37-02:** complete truthful-dependency-declaration plan ([c8c8655](https://github.com/thezoid/ShopPyBot/commit/c8c8655f7841483bad59272845577d53fe3ee3a0)) +* **37-03:** complete bundled-plugin-root seam plan ([6edce37](https://github.com/thezoid/ShopPyBot/commit/6edce3795980ba193b8ce4723d88e019ee3c7652)) +* **37-03:** record the answered PKG-06 result in the Phase 43 research flag ([cc3b4b8](https://github.com/thezoid/ShopPyBot/commit/cc3b4b8c13fccd3d1715ae2edd43031daf3233df)) +* **37-04:** complete the wheel gate plan ([6c8f0f6](https://github.com/thezoid/ShopPyBot/commit/6c8f0f6df997b3464c77d45f11dc093f90af97ee)) +* **37:** create phase plan for distributable artifact ([fc91154](https://github.com/thezoid/ShopPyBot/commit/fc911549310b59b396fd1fc7639c9267a671e0cf)) +* **37:** empirical wheel baseline, answers PKG-06 phase 43 gate ([c9392d4](https://github.com/thezoid/ShopPyBot/commit/c9392d45eab7dda94883e7e4be795a3a56b7b43b)) +* **37:** smart discuss context with autonomous decisions ([d816c8e](https://github.com/thezoid/ShopPyBot/commit/d816c8ecfc7b6374e9f473e0c4714b618275550b)) +* **audit:** refresh v4.1 milestone audit post-29.1 ([a23dd3b](https://github.com/thezoid/ShopPyBot/commit/a23dd3bfe7d2409e577a22dcc6680b747d410248)) +* create milestone v4.1 roadmap (5 phases, 25-29) ([3e96821](https://github.com/thezoid/ShopPyBot/commit/3e96821e9b2438c95ff4969e5ad9b88320b6ba91)) +* create milestone v4.2 roadmap (6 phases, 100% coverage) ([52baa3c](https://github.com/thezoid/ShopPyBot/commit/52baa3c64d1d7bf90c7d63c90f67f2aa8d89102f)) +* create milestone v5.0 roadmap (15 phases, 36-50) ([1463fb6](https://github.com/thezoid/ShopPyBot/commit/1463fb6c37e62cafb68c71584c72e256b9045239)) +* define milestone v4.1 requirements (16 reqs: UI/OBS/SSE) ([67b7028](https://github.com/thezoid/ShopPyBot/commit/67b70286968315bac51d18662ba675d106cccfec)) +* define milestone v4.2 requirements (20 reqs, 6 categories) ([c97335a](https://github.com/thezoid/ShopPyBot/commit/c97335ac669df801c169af1e4eaf63bf9cf4457f)) +* define milestone v5.0 requirements (84 across 10 workstreams) ([4e4edae](https://github.com/thezoid/ShopPyBot/commit/4e4edae90715d2d53f74719cabfd90dd1a581491)) +* **phase-18:** complete phase execution ([ab51728](https://github.com/thezoid/ShopPyBot/commit/ab51728ea6060c50067fb4721d650476be17679c)) +* **phase-19:** complete phase execution ([902819f](https://github.com/thezoid/ShopPyBot/commit/902819f42d746b2462bd492d730228ba9215169e)) +* **phase-20:** complete phase execution ([52f93a7](https://github.com/thezoid/ShopPyBot/commit/52f93a78e185b18c1e9152b5c1b33412aa7f044b)) +* **phase-21:** complete phase execution ([8df95b7](https://github.com/thezoid/ShopPyBot/commit/8df95b78cb263e6964dd10e7a4c84bfebe9d7d35)) +* **phase-22:** complete phase execution ([5d663ef](https://github.com/thezoid/ShopPyBot/commit/5d663ef7813018121cf9488c69fc6d593ebf6d5f)) +* **phase-23:** complete phase execution ([bbe3078](https://github.com/thezoid/ShopPyBot/commit/bbe307868717d92667a3c45d62e262103e2897a5)) +* **phase-24:** complete phase execution ([750df25](https://github.com/thezoid/ShopPyBot/commit/750df257a27f5d87b2bae25e47392f4b026817b8)) +* **phase-28:** flip Nyquist validation to compliant (0 gaps) ([06def93](https://github.com/thezoid/ShopPyBot/commit/06def93ec2f9dcffed354f8ffc5b125726b18707)) +* **phase-29.1:** complete phase execution ([7e4c5f8](https://github.com/thezoid/ShopPyBot/commit/7e4c5f8481f2f2905069e8d8d874238595a89ee4)) +* **phase-29.1:** research + validation strategy ([b7035a0](https://github.com/thezoid/ShopPyBot/commit/b7035a053cce4bcede871c13863bada8799af065)) +* **phase-29:** flip Nyquist validation to compliant (0 gaps) ([a65232b](https://github.com/thezoid/ShopPyBot/commit/a65232bb820a3de8d28ebace846de4e88b84fc65)) +* plant SEED-003 — remote plugin manager + third-party disclaimer ([d485710](https://github.com/thezoid/ShopPyBot/commit/d485710795645addbc42c38c37521f27a0293c6c)) +* record 2026-08-01 live UAT results across 11 phase artifacts ([70f31c5](https://github.com/thezoid/ShopPyBot/commit/70f31c58b4bacd9fc96dc46aa9c3f5ef11533abc)) +* record 2026-08-01 UAT audit session in STATE.md ([f883f13](https://github.com/thezoid/ShopPyBot/commit/f883f13f6818a2a4ac949f9b46029b3dbd519c65)) +* refresh handoff for v4.2 milestone-complete checkpoint (supersede stale v3.0 handoff) ([32d1bbd](https://github.com/thezoid/ShopPyBot/commit/32d1bbd0deb6c198e851b484976f929b0be0166c)) +* research milestone v5.0 workstream H (plugin ecosystem) ([7ffb8c5](https://github.com/thezoid/ShopPyBot/commit/7ffb8c5e73aa9fa71d67289011da63044a036c7b)) +* research v4.1 Dashboard & Observability (stack/features/arch/pitfalls + summary) ([f2f892b](https://github.com/thezoid/ShopPyBot/commit/f2f892b9e2adc4066c993feaf8c6f60f76724f85)) +* **roadmap:** insert phase 29.1 — v4.1 tech-debt cleanup ([3c36fc1](https://github.com/thezoid/ShopPyBot/commit/3c36fc13c1895ca5e1234d2da8df9093c689a0d3)) +* **roadmap:** mark phase 29.1 complete + reconcile v4.1 progress (20/20) ([34e1b0a](https://github.com/thezoid/ShopPyBot/commit/34e1b0aefac71f43c8880f1387b9a8d4911d3d59)) +* start milestone v4.1 Dashboard & Observability ([cacefd6](https://github.com/thezoid/ShopPyBot/commit/cacefd6034ac28390085f57f147c8d9b9f5f098f)) +* start milestone v4.2 Release Readiness ([ff9563a](https://github.com/thezoid/ShopPyBot/commit/ff9563aab0f06bcf45fe0f97b69971a03f5fa15b)) +* start milestone v5.0 Real Release and Plugin Ecosystem ([f00ef89](https://github.com/thezoid/ShopPyBot/commit/f00ef89fd805ed97697e814112350ee13ca68910)) +* **v4.0:** milestone audit report ([e54c65d](https://github.com/thezoid/ShopPyBot/commit/e54c65d39053f9418008e2b265dcf399f0db0e98)) +* v4.2 milestone audit (20/20 reqs, tech_debt: deferred UAT + operator actions) + reconcile v4.2 VALIDATION frontmatter ([5af6e0b](https://github.com/thezoid/ShopPyBot/commit/5af6e0b6fe10de04b34720d63439236ab1f4e1fb)) diff --git a/pyproject.toml b/pyproject.toml index 89e7c1f..1b1ba58 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "shoppybot" -version = "2.0.0" +version = "2.1.0" requires-python = ">=3.11" # Every entry below is imported unconditionally somewhere in the production tree. # colorama and pyyaml are imported by logger.py, which nearly everything imports;