Record Steam Machine follow-up package movement

This commit is contained in:
seanbetts committed 2026-05-14 19:56:27 +01:00
1 parent 15858a35f1
commit cde4f5f5fc
5 files changed
+219 -27

No files matched your search

+12
View File
@@ -109,6 +109,18 @@ fetch_json "sections-frame-search" "https://komodostation.com/wp-json/wp/v2/sect
fetch_json "media-controller-search" "https://komodostation.com/wp-json/wp/v2/media?search=Steam%20Controller&per_page=100" || true
fetch_json "media-parent-product-controller" "https://komodostation.com/wp-json/wp/v2/media?parent=413763&per_page=100" || true
for optional_array in \
sections-controller-search \
sections-machine-search \
sections-frame-search \
media-controller-search \
media-parent-product-controller
do
if [ ! -f "$OUT_DIR/$optional_array.json" ]; then
printf '%s\n' "[]" > "$OUT_DIR/$optional_array.json"
fi
done
for id in $(jq -r '.[].id' "$OUT_DIR/sections-controller-search.json" 2>/dev/null || true); do
fetch_json "media-parent-section-$id" "https://komodostation.com/wp-json/wp/v2/media?parent=$id&per_page=100" || true
done
+28 -27
View File
@@ -1,47 +1,48 @@
# Steam Hardware Watch Status
Last updated: `2026-05-12`
Last updated: `2026-05-14`
## Best Current Answer
- `Price`: Steam Controller remains confirmed by official Valve store APIs at `$99.00` in the US. Steam Machine and Steam Frame still have no confirmed public price.
- `Release date`: Steam Controller remains confirmed with release date `May 4, 2026` and package `1558609`. Steam Machine and Steam Frame still only expose broad `Coming soon` / `2026` timing.
- `Same-time launch`: same-day availability for the full trio is ruled out. Steam Controller is public and purchasable; Machine and Frame still have no public package, package group, price, or exact availability. Steam Machine reservation package changenumbers moved on `2026-05-12`; the multi-package change cluster resembles the Steam Controller package-history pattern before its public purchase timing appeared, but public Valve APIs still do not expose Machine purchase or reservation readiness.
- `Same-time launch`: same-day availability for the full trio is ruled out. Steam Controller is public and purchasable; Machine and Frame still have no public package, package group, price, or exact availability. Steam Machine reservation package changenumbers have now moved twice: a multi-package cluster on `2026-05-12`, followed by another bump across all four watched Machine packages on `2026-05-14`. That is a stronger Controller-like backend-prep signal for Machine, but public Valve APIs still do not expose Machine purchase or reservation readiness.
## Source Snapshot
### Komodo
- Komodo API access worked on `2026-05-12`.
- Product modified timestamps:
- Controller: `2026-05-12T09:15:51`
- Machine: `2026-04-24T14:32:54`
- Frame: `2026-04-24T14:33:36`
- Controller remains the only product with recent Komodo movement. A direct JSON diff versus `2026-05-11` found only `modified` / `modified_gmt` changes, so this is timestamp-only until corroborated by visible content, media, or store-state movement. Machine and Frame remain unchanged from their April 24 timestamps.
- Visual asset retrieval completed for the current set: `141` discovered, `141` retrieved, `0` blocked.
- Komodo was partially available on `2026-05-14` through the dedicated browser fallback.
- Product modified timestamps captured in this run:
- Controller: `2026-05-13T09:02:58`
- Machine: `n/a` in this run because the optional Machine product fetch failed
- Frame: `n/a` in this run because the optional Frame product fetch failed
- Controller changed from `2026-05-12T09:15:51` to `2026-05-13T09:02:58`, but a direct JSON diff versus `2026-05-12` found only `modified` / `modified_gmt` changes. Treat this as timestamp-only until corroborated by visible content, media, store-state movement, or Steam metadata.
- Machine and Frame Komodo product/section endpoints failed in this run. Any compare-report lines about Machine or Frame section removal are partial-fetch artifacts, not evidence that Valve removed sections.
- Visual asset retrieval found `141` candidate assets, retrieved `136`, and left `5` blocked known Komodo URLs for manual retry.
### SteamKit / PICS
- SteamKit/PICS is now the primary direct Steam metadata baseline for watched app and package movement.
- Current changenumbers from the `2026-05-12` run:
- SteamKit/PICS is the primary direct Steam metadata source for watched app and package movement.
- Current changenumbers from the `2026-05-14` run:
- Controller app `4165870`: `35731145`
- Frame app `4165890`: `35675573`
- Machine app `4165910`: `35675573`
- Controller package `1558609`: `35745078`
- Machine package `1629446`: `35819604` (`35672615` on `2026-05-11`)
- Machine package `1629447`: `35819607` (`35672615` on `2026-05-11`)
- Machine package `1629458`: `35819602` (`35672615` on `2026-05-11`)
- Machine package `1629460`: `35819593` (`35672615` on `2026-05-11`)
- Machine package `1629446`: `35842876` (`35819604` on `2026-05-12`)
- Machine package `1629447`: `35842851` (`35819607` on `2026-05-12`)
- Machine package `1629458`: `35842860` (`35819602` on `2026-05-12`)
- Machine package `1629460`: `35842863` (`35819593` on `2026-05-12`)
- Frame packages `1629484`, `1629486`: `35672606`
- The four watched Steam Machine package IDs moved in SteamKit/PICS on `2026-05-12`. This is the strongest current signal of fresh backend work, but it remains private metadata only.
- Manual package-history comparison adds context: Steam Controller package `1558609` reportedly had three changes in about 40 minutes plus one later follow-up change roughly two days before Valve's public purchase-timing update appeared. The Machine package set now shows a tighter multi-package cluster, with uneven per-package counts (`1 / 3 / 3 / 4`) across about three minutes. Treat this as a medium-strength imminent-preorder heuristic, not confirmation.
- The four watched Steam Machine package IDs received a follow-up SteamKit/PICS changenumber bump on `2026-05-14`. This is the strongest current signal of fresh Machine-specific backend work, especially because the two watched Steam Frame package IDs did not move.
- Manual package-history context remains important: Steam Controller package `1558609` reportedly had a clustered change pattern plus one later follow-up change roughly two days before Valve's public purchase-timing update appeared. The Machine set now has both the initial multi-package cluster and the later follow-up bump. Treat this as a stronger imminent-preorder heuristic, not confirmation.
- Machine and Frame apps/packages currently require private PICS metadata tokens, but changenumbers are visible and suitable for movement monitoring.
- Raw snapshot: `/Users/sean/Coding/steam-hardware-watch/runs/2026-05-12/api/steamkit/pics-product-info.json`
- Future runs also write `reports/steamkit-pics-detail.md` with human-readable product grouping, previous changenumber comparison, SHA hash, and exposed app/depot/branch fields.
- Raw snapshot: `/Users/sean/Coding/steam-hardware-watch/runs/2026-05-14/api/steamkit/pics-product-info.json`
- Human-readable detail: `/Users/sean/Coding/steam-hardware-watch/runs/2026-05-14/reports/steamkit-pics-detail.md`
### SteamDB
- Automated SteamDB access remained blocked on `2026-05-12`.
- Automated SteamDB access remained blocked on `2026-05-14`.
- The package report is still a structural baseline, not a content baseline: all watched SteamDB package rows are `missing_or_blocked`.
- SteamDB remains useful as corroborating/human-readable metadata once a trusted browser session can pass the challenge, but SteamKit/PICS now covers primary package movement.
@@ -65,7 +66,7 @@ Last updated: `2026-05-12`
### SteamOS Package Mirror
- Valve's public SteamOS package mirror was reachable.
- Notable mirror hits include `fremont-hw-support 20260506.1-1` in `holo-3.8` and `holo-main`.
- Notable mirror hits still include `fremont-hw-support 20260506.1-1` in `holo-3.8` and `holo-main`.
- No direct `Deckard`, `Roy`, `Steam Frame`, `Steam Machine`, ARM/Snapdragon, or new product-specific top-level repo namespace appeared in the default pass.
### Valve Support / Store / CDN
@@ -77,11 +78,11 @@ Last updated: `2026-05-12`
- Machine app `4165910`: public app metadata, `Coming soon`, no packages, no package groups, no price.
- Machine packages `1629446`, `1629447`, `1629458`, `1629460`: `packagedetails success:false`.
- Frame packages `1629484`, `1629486`: `packagedetails success:false`.
- This remains the cleanest public-readiness baseline. The `2026-05-12` SteamKit/PICS Machine package movement has not propagated to public `appdetails`, `packagedetails`, packages, package groups, price, or exact timing.
- This remains the cleanest public-readiness baseline. The `2026-05-14` SteamKit/PICS Machine package movement has not propagated to public `appdetails`, `packagedetails`, packages, package groups, price, or exact timing.
### Customs / Regulatory
- ImportInfo automated customs fetches were blocked on `2026-05-12`.
- ImportInfo automated customs fetches were blocked on `2026-05-14`.
- The latest useful customs evidence remains the `2026-05-01` NBD / ImportGenius pass:
- `WIRELESS PC CONTROLLER` row dated `2026-04-04`.
- `GAME CONSOLE` shipment arriving `2026-04-23` for `INGRAM MICRO C/O VALVE CORPORATION`.
@@ -91,13 +92,13 @@ Last updated: `2026-05-12`
- When will Valve publish Steam Machine and Steam Frame prices?
- When will Steam Machine and Steam Frame receive public packages or package groups?
- Will SteamKit/PICS changenumber movement precede public Valve API readiness?
- Will the Machine package cluster receive a Controller-like follow-up changenumber bump before public preorder/reservation metadata appears?
- Will the `2026-05-14` Machine follow-up changenumber bump precede public Valve API readiness?
- Will Valve expose Machine package IDs through public `packagedetails`, `appdetails.packages`, package groups, reservation text, or purchase eligibility?
- Are the `fremont-hw-support` SteamOS packages related to Steam Machine launch preparation?
## Next Checks
- Watch SteamKit/PICS changenumbers for all watched app and package IDs, especially whether the `2026-05-12` Machine package cluster gets a follow-up bump or begins to expose public metadata.
- Watch SteamKit/PICS changenumbers for all watched app and package IDs, with higher frequency over the next 24-48 hours if possible.
- Watch Valve `appdetails` / `packagedetails` for Machine and Frame package or package-group exposure.
- Get one trusted-browser SteamDB package-page baseline if we still want human-readable SteamDB corroboration.
- Get one trusted-browser SteamDB package-page baseline for the four Machine package IDs to corroborate the new PICS movement with human-readable history pages.
- Continue normal Komodo, SteamTracking, SteamOS mirror, Valve API, and customs checks.
+1
View File
@@ -40,3 +40,4 @@
{"date_checked": "2026-05-11", "source": "steamkit-pics", "entity": "steam-controller,steam-machine,steam-frame", "claim": "SteamKit/PICS now provides a direct baseline changenumber snapshot for watched Valve hardware apps and reservation packages.", "evidence_type": "steam_product_info_baseline", "confidence": "high", "ref": "/Users/sean/Coding/steam-hardware-watch/runs/2026-05-11/reports/steamkit-pics-packages.tsv", "notes": "Controller app 4165870 changenumber 35731145; Frame app 4165890 and Machine app 4165910 changenumber 35675573; Controller package 1558609 changenumber 35745078; Machine packages 1629446/1629447/1629458/1629460 changenumber 35672615; Frame packages 1629484/1629486 changenumber 35672606. Machine and Frame rows require private PICS metadata tokens but visible changenumbers are enough for movement monitoring."}
{"date_checked": "2026-05-12", "source": "steamkit-pics", "entity": "steam-machine", "claim": "SteamKit/PICS shows all four watched Steam Machine reservation package IDs moved since the 2026-05-11 baseline.", "evidence_type": "steam_product_info_changenumber_delta", "confidence": "high", "ref": "/Users/sean/Coding/steam-hardware-watch/runs/2026-05-12/reports/steamkit-pics-detail.md", "notes": "Machine packages 1629446, 1629447, 1629458, and 1629460 changed from changenumber 35672615 to 35819604, 35819607, 35819602, and 35819593 respectively. Rows still require private PICS metadata tokens and Valve appdetails/packagedetails remain non-public, so this is backend movement rather than confirmed public launch readiness."}
{"date_checked": "2026-05-12", "source": "manual-steamdb-pattern", "entity": "steam-machine,steam-controller", "claim": "Steam Machine package-history movement resembles the Steam Controller package pattern observed before public purchase timing appeared.", "evidence_type": "package_history_pattern_comparison", "confidence": "medium", "ref": "/Users/sean/Coding/steam-hardware-watch/status/runs/2026-05-12.md", "notes": "Manual package-history observation: Steam Machine packages changed in an uneven 1/3/3/4 pattern across about three minutes. Steam Controller package 1558609 reportedly had three changes in about 40 minutes plus one later follow-up roughly two days before Valve publicly exposed purchase timing. This increases near-term watch priority but does not confirm preorder timing without public Valve API movement."}
{"date_checked": "2026-05-14", "source": "steamkit-pics", "entity": "steam-machine", "claim": "SteamKit/PICS shows a second follow-up changenumber bump across all four watched Steam Machine reservation package IDs.", "evidence_type": "steam_product_info_followup_changenumber_delta", "confidence": "high", "ref": "/Users/sean/Coding/steam-hardware-watch/runs/2026-05-14/reports/steamkit-pics-detail.md", "notes": "Machine packages 1629446, 1629447, 1629458, and 1629460 moved from 35819604/35819607/35819602/35819593 on 2026-05-12 to 35842876/35842851/35842860/35842863 on 2026-05-14. Frame packages 1629484 and 1629486 stayed at 35672606, and public Valve appdetails/packagedetails still expose no Machine packages, package groups, price, or exact timing."}
+84
View File
@@ -0,0 +1,84 @@
# Run Note: 2026-05-14
## Summary
- Full skill run completed with artifacts under `/Users/sean/Coding/steam-hardware-watch/runs/2026-05-14`.
- Material finding: SteamKit/PICS shows a second/follow-up changenumber bump across all four watched Steam Machine reservation package IDs since the `2026-05-12` run.
- Steam Frame package IDs did not move.
- Valve public APIs still do not expose Steam Machine or Steam Frame package groups, public package details, price, exact release timing, or purchase/reservation readiness.
- Komodo was partially recovered through the dedicated browser fallback for Controller data, but Machine and Frame optional Komodo endpoints still failed.
## Source Checks
### Komodo
- Initial automated Komodo access was blocked.
- Dedicated browser fallback recovered the Controller product enough to record a new modified timestamp: `2026-05-13T09:02:58`.
- Controller JSON diff versus `2026-05-12` is timestamp-only (`modified` / `modified_gmt`).
- Machine and Frame product/section fetches failed in this run. Compare-report lines suggesting Machine/Frame section removal should be treated as partial-fetch artifacts.
- Visual assets: `141` discovered, `136` retrieved, `5` blocked known Komodo URLs.
### SteamKit / PICS
- SteamKit/PICS completed successfully.
- Machine package movement:
- `1629446`: `35819604` -> `35842876`
- `1629447`: `35819607` -> `35842851`
- `1629458`: `35819602` -> `35842860`
- `1629460`: `35819593` -> `35842863`
- Frame packages stayed unchanged:
- `1629484`: `35672606`
- `1629486`: `35672606`
- Controller package `1558609` stayed unchanged at `35745078`.
- Machine app `4165910`, Frame app `4165890`, and Controller app `4165870` stayed unchanged.
- Interpretation: this is a Machine-specific backend movement signal. It strengthens the Controller-precedent comparison because the Machine package cluster now has a later follow-up bump, but it remains private metadata only.
### SteamDB
- Automated SteamDB access remained blocked.
- Reservation package rows remain `missing_or_blocked`, so SteamDB is not yet a human-readable corroborating baseline for today's package movement.
### SteamTracking / GameTracking
- Fresh checkout still contains the known Triton/Ibex controller pairing surface.
- No new Machine or Frame price, reservation, package, or release-date signal was found.
### SteamVR Depots
- SteamVR news metadata was saved.
- SteamDB SteamVR depot metadata remained blocked.
- No fresh depot manifest/build comparison was collected.
### SteamOS Package Mirror
- Public mirror remained reachable.
- `fremont-hw-support 20260506.1-1` remains visible in `holo-3.8` and `holo-main`.
- No direct Steam Machine, Steam Frame, Deckard, Roy, ARM/Snapdragon, or new product-specific namespace surfaced in this pass.
### Valve Support / CDN
- Valve public endpoints were reachable.
- Controller remains public with package `1558609`, package group present, and `$99.00`.
- Frame app `4165890` remains `Coming soon`, with no public packages, no package groups, and no price.
- Machine app `4165910` remains `Coming soon`, with no public packages, no package groups, and no price.
- Machine packages `1629446`, `1629447`, `1629458`, `1629460` still return `packagedetails success:false`.
- Frame packages `1629484`, `1629486` still return `packagedetails success:false`.
### Customs / Regulatory
- ImportInfo automated customs fetches were blocked.
- No new customs evidence was added.
## Effect On Key Questions
- Price: unchanged. Only Steam Controller has a confirmed price.
- Release date: unchanged. Only Steam Controller has a confirmed exact date.
- Same-time launch: unchanged. Full same-day launch remains ruled out, and current private metadata movement points more toward Machine-specific preparation than Frame movement.
- Product furthest along: Steam Controller is already public/purchasable. Among unreleased hardware, Steam Machine now has the strongest fresh backend-prep signal because all four watched package IDs moved again while Frame stayed unchanged.
## Next Checks
- Repeat focused SteamKit/PICS checks for the watched package IDs over the next 24-48 hours.
- Watch Valve public `appdetails` / `packagedetails` for Machine package exposure, package groups, price, reservation text, or purchase eligibility.
- Complete a trusted-browser SteamDB package-history pass for Machine packages `1629446`, `1629447`, `1629458`, and `1629460`.
- Treat Komodo Controller timestamp movement as low-value unless a future diff shows content, media, stock-state, or section changes.
+94
View File
@@ -0,0 +1,94 @@
import os
import subprocess
import unittest
from pathlib import Path
from tempfile import TemporaryDirectory
ROOT = Path(__file__).resolve().parents[1]
def write_executable(path, content):
path.write_text(content.strip() + "\n", encoding="utf-8")
path.chmod(0o755)
class CheckKomodoTests(unittest.TestCase):
def test_optional_machine_and_frame_fetch_failures_do_not_abort(self):
tmp = TemporaryDirectory()
self.addCleanup(tmp.cleanup)
tmp_path = Path(tmp.name)
run_dir = tmp_path / "run"
fake_bin = tmp_path / "bin"
fake_bin.mkdir()
write_executable(
fake_bin / "curl",
r"""
#!/bin/sh
for arg do
url="$arg"
done
case "$url" in
*wp-json/wp/v2/product/413763*)
printf '%s\n' '{"modified":"2026-05-14T12:00:00","title":{"rendered":"Steam Controller"}}'
;;
*wp-json/wp/v2/sections?search=Steam%20Controller*)
printf '%s\n' '[{"id":433306,"date":"2026-04-01T00:00:00","modified":"2026-05-14T12:00:00","slug":"steam-controller-01-banner","title":{"rendered":"Steam Controller Banner"}}]'
;;
*wp-json/wp/v2/media?search=Steam%20Controller*)
printf '%s\n' '[]'
;;
*wp-json/wp/v2/media?parent=*)
printf '%s\n' '[]'
;;
*wp-json/wp/v2/product/413772*|*wp-json/wp/v2/product/413776*|*wp-json/wp/v2/sections?search=Steam%20Machine*|*wp-json/wp/v2/sections?search=Steam%20Frame*)
exit 22
;;
*wp-json/*)
printf '%s\n' '{"name":"Komodo"}'
;;
*)
exit 22
;;
esac
""",
)
env = os.environ.copy()
env.update(
{
"PATH": f"{fake_bin}:{env['PATH']}",
"KOMODO_ENV_FILE": str(tmp_path / "missing-komodo-env.sh"),
}
)
result = subprocess.run(
[str(ROOT / "scripts" / "check_komodo.sh"), str(run_dir)],
cwd=ROOT,
env=env,
text=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
check=False,
)
self.assertEqual("", result.stderr)
self.assertEqual(0, result.returncode)
self.assertIn("Saved Komodo API responses", result.stdout)
self.assertIn(
"controller\t2026-05-14T12:00:00",
(run_dir / "reports" / "komodo-product-modified.tsv").read_text(encoding="utf-8"),
)
self.assertEqual(
"",
(run_dir / "reports" / "komodo-machine-sections.tsv").read_text(encoding="utf-8"),
)
self.assertEqual(
"",
(run_dir / "reports" / "komodo-frame-sections.tsv").read_text(encoding="utf-8"),
)
if __name__ == "__main__":
unittest.main()