mirror of
https://github.com/seanbetts/steam-hardware-watch.git
synced 2026-10-06 01:00:18 +02:00
Initial commit
This commit is contained in:
commit
fbb8c3da72
24 files changed
+2476
No files matched your search
@@ -0,0 +1,30 @@
|
||||
# Evidence Rubric
|
||||
|
||||
## Strong
|
||||
|
||||
- official page or API record
|
||||
- SteamDB app, package, depot, or history change
|
||||
- downloadable media, manuals, or support docs
|
||||
- public shipment or regulatory filing clearly matching the device
|
||||
|
||||
## Medium
|
||||
|
||||
- client strings or protobufs describing concrete rollout flows
|
||||
- hidden sections and media exposed by public site APIs
|
||||
- product metadata showing real SKUs or rollout state without price or date
|
||||
|
||||
## Weak
|
||||
|
||||
- CSS class toggles
|
||||
- generic platform scripts
|
||||
- reused templates
|
||||
- stale assets without fresh timestamps
|
||||
- inference unsupported by product-specific artifacts
|
||||
|
||||
## Confidence Labels
|
||||
|
||||
- `high`: direct primary evidence, little ambiguity
|
||||
- `medium`: strong inference from primary artifacts
|
||||
- `low`: plausible but not confirmed
|
||||
|
||||
Use the lowest defensible confidence that matches the evidence.
|
||||
@@ -0,0 +1,78 @@
|
||||
# Komodo API Notes
|
||||
|
||||
## Useful Endpoints
|
||||
|
||||
- `/wp-json/`
|
||||
- `/wp-json/wp/v2/product`
|
||||
- `/wp-json/wp/v2/sections`
|
||||
- `/wp-json/wp/v2/media`
|
||||
|
||||
## What Worked
|
||||
|
||||
- product lookups by ID or slug
|
||||
- section searches
|
||||
- media searches
|
||||
- media by `parent`
|
||||
|
||||
## What To Look For
|
||||
|
||||
- `publish` vs hidden states
|
||||
- `product-type-simple` or other type changes
|
||||
- `outofstock`
|
||||
- `wishlist-only`
|
||||
- new `sections` posts
|
||||
- fresh `2026/..` uploads
|
||||
- videos, spec art, manuals, safety docs
|
||||
|
||||
## Important Pitfalls
|
||||
|
||||
- Raw `curl` can hit Cloudflare or DNS/sandbox issues.
|
||||
- As of clean packaging tests, Cloudflare can block both `curl` and browser automation paths.
|
||||
- Treat Komodo automation as `best effort`, not guaranteed.
|
||||
- If protected media matters, use an optional Playwright bootstrap path instead of hardcoding cookies:
|
||||
- launch a persistent browser profile
|
||||
- solve the challenge manually once
|
||||
- save storage state or reuse the profile on later runs
|
||||
- if storage state is not enough, attach to the still-running trusted browser over CDP
|
||||
- A low-disruption background flow is preferred:
|
||||
- launch a dedicated Komodo Chrome instance in the background
|
||||
- leave it running
|
||||
- let the agent reuse it over CDP
|
||||
- close it when the run is done
|
||||
- Frontend CSS class toggles were low-yield. The public JSON endpoints were much more useful than DOM manipulation.
|
||||
- Fresh media attached to `sections` posts mattered more than old product-page HTML.
|
||||
- If Komodo is blocked on a given run, keep the rest of the pipeline going and record the block in the reports.
|
||||
|
||||
## Optional Playwright Bootstrap
|
||||
|
||||
Use only as a fallback when Komodo blocks normal automation and you need to recover protected media or JSON.
|
||||
|
||||
Repeatable pattern:
|
||||
|
||||
1. `playwright-cli open --persistent --profile /path/to/profile https://komodostation.com/product/steam-controller_jpy/`
|
||||
2. Solve any Cloudflare challenge manually in that browser.
|
||||
3. Optionally save storage state:
|
||||
- `playwright-cli state-save /path/to/komodo-state.json`
|
||||
4. Reuse in helper scripts with environment variables:
|
||||
- `PLAYWRIGHT_PROFILE_DIR=/path/to/profile`
|
||||
- or `PLAYWRIGHT_STORAGE_STATE=/path/to/komodo-state.json`
|
||||
- optional `PLAYWRIGHT_REFERER=https://komodostation.com/product/steam-controller_jpy/`
|
||||
|
||||
If the saved storage state still gets blocked, use the stronger live-session path:
|
||||
|
||||
1. Keep the trusted Playwright browser running on the same profile.
|
||||
2. Find the local `--remote-debugging-port` for that profile with `ps`.
|
||||
3. Set:
|
||||
- `PLAYWRIGHT_CDP_ENDPOINT=http://127.0.0.1:PORT`
|
||||
- `KOMODO_PLAYWRIGHT_FALLBACK=1`
|
||||
4. Run the helper scripts again.
|
||||
|
||||
`check_komodo.sh` will try to auto-detect a CDP endpoint from the running profile when `PLAYWRIGHT_PROFILE_DIR` is set.
|
||||
|
||||
This keeps the repo reusable: the bootstrap is optional, user-local, and not committed.
|
||||
|
||||
## Known Baseline On 2026-04-24
|
||||
|
||||
- Controller had a fresh same-day section/media rollout.
|
||||
- Machine and Frame only exposed old wishlist sections and older assets.
|
||||
- Product records for all three were real published WooCommerce entries in the same held state.
|
||||
@@ -0,0 +1,82 @@
|
||||
# Source Map
|
||||
|
||||
Use primary sources first.
|
||||
|
||||
## Komodo
|
||||
|
||||
- `https://komodostation.com/wp-json/`
|
||||
- `https://komodostation.com/wp-json/wp/v2/product`
|
||||
- `https://komodostation.com/wp-json/wp/v2/sections`
|
||||
- `https://komodostation.com/wp-json/wp/v2/media`
|
||||
|
||||
Known product IDs from the seeded baseline:
|
||||
|
||||
- `Steam Controller JPY`: `413763`
|
||||
- `Steam Machine JPY`: `413772`
|
||||
- `Steam Frame JPY`: `413776`
|
||||
|
||||
Known section IDs from `2026-04-24` controller rollout:
|
||||
|
||||
- `433306` banner
|
||||
- `433326` people video
|
||||
- `433356` features
|
||||
- `433376` video
|
||||
- `433416` buttons
|
||||
- `433434` custom
|
||||
- `433470` features
|
||||
- `433484` spec image
|
||||
|
||||
## SteamDB
|
||||
|
||||
- `Steam Controller app`: `https://steamdb.info/app/4165870/`
|
||||
- `Steam Controller history`: `https://steamdb.info/app/4165870/history/`
|
||||
- `Unboxing video app`: `https://steamdb.info/app/4653940/`
|
||||
- `Unboxing video package`: `https://steamdb.info/sub/1620489/`
|
||||
|
||||
## SteamTracking / GameTracking
|
||||
|
||||
Primary local paths if already cloned:
|
||||
|
||||
- `/tmp/SteamTracking-master`
|
||||
- `/tmp/GameTracking-*`
|
||||
|
||||
High-yield files from the seeded baseline:
|
||||
|
||||
- `ClientExtracted/steamui/localization/steamui_english.json`
|
||||
- `Protobufs/webuimessages_steaminput.proto`
|
||||
- `Protobufs/steammessages_clientsettings.proto`
|
||||
- `steamcommunity.com/public/javascript/webui/friends.js`
|
||||
- `Strings/steamclient.txt`
|
||||
|
||||
Useful search terms:
|
||||
|
||||
- `Triton`
|
||||
- `Ibex`
|
||||
- `Puck`
|
||||
- `Steam Controller`
|
||||
- `dock`
|
||||
- `pair`
|
||||
- `firmware`
|
||||
|
||||
## Valve Endpoints
|
||||
|
||||
Check for newly exposed assets or support flows:
|
||||
|
||||
- Steam support
|
||||
- Steam store app pages
|
||||
- linked manuals, PDFs, videos, and images
|
||||
- `https://store.steampowered.com/app/4165870/`
|
||||
- `https://help.steampowered.com/en/wizard/HelpWithSteamDeck`
|
||||
- `https://www.steamdeck.com/`
|
||||
- `https://steampowered.com/hardware`
|
||||
|
||||
## Customs / Regulatory
|
||||
|
||||
Use as confirmation when primary signals move:
|
||||
|
||||
- customs and import records
|
||||
- FCC
|
||||
- Bluetooth SIG
|
||||
- Wi-Fi Alliance
|
||||
|
||||
Do not elevate these above direct Komodo, SteamDB, or Valve evidence when those primary sources disagree.
|
||||
Reference in new issue
Block a user