jq Gate Sketch for october_upload Weekly Depot Row Diff - 2026

Week two after SteamPipe depot upload evening: steampipe_upload_ok: true, steampipe_upload_log.jsonl has a clean build_id line, Friday localization capstone opened october_upload_window_allowed. Tuesday marketing ships a capsule tag hotfix. Wednesday engineering uploads a “tiny” crash fix without appending jsonl. Thursday someone runs setlive against default because the RC label “looked fine.” Monday stand-up asks “did our depot identity drift since last week?” Someone pastes localization weekly jq—wrong schema: freeze weekly diffs locale_ids and Weblate pins. April catalog weekly diffs Addressables catalog_sha256. Upload weeks need depot identity—build_id, manifest hash, steam_build_id, branch intent, RC label—week-over-week.
September–October 2026 punish teams that treat the Monday upload evening U1–U6 latch as forever-honest while producers obsess over store copy. Silent rebuilds and branch promotions reopen upload risk while BUILD_RECEIPT still says green.
This Programming & Technical sketch ships a weekly instance of October upload depot honesty: october_upload_weekly_log.jsonl, weekly receipt fields on october_upload_weekly_v1, verify_october_upload_weekly.sh, gates J1–J6 on the depot schema (same letter prefix as locale/April cousins; different columns).
Non-repetition note: Localization freeze weekly jq owns locale IDs and string pins. April catalog jq owns Addressables catalog hashes. March sprint jq owns post-fest BUILD_RECEIPT sprint rows. Depot upload evening owns one-evening U1–U6 latch + jsonl append discipline. Forward #10 owns Wednesday depot smoke row review. Forward #12 owns Friday upload capstone. This URL owns Monday weekly depot manifest / build_id / branch intent diff through the October upload window.
Pair depot upload evening #1, localization weekly jq (cousin cadence), upload dress rehearsal #3, Guide #56 / Course 296 / Help #61 forward; forward blog #8 overtime worksheet and #10 Wednesday smoke.
Why this matters now (September–October 2026)
- Upload evening is a point latch — U6 proves one night; weeks silently upload new builds without weekly depot diff.
- Store copy steals attention — Metadata freeze trend work crowds out depot manifest honesty.
- Branch intent drifts — Wrong default branch recovery shows RC labels lie while
defaultstill receives setlive. - October upload queues — Discovering hash mismatch on fest-live Monday is too late for honest receipts.
- Wrong jq cousin ruins CI — Locale and catalog scripts pass while
build_idhashes lie.
Direct answer: Each ISO week after october_upload_window_allowed, append october_upload_weekly_log.jsonl, file a weekly receipt with depot_row_diff[], run verify_october_upload_weekly.sh, clear J1–J6, set BUILD_RECEIPT october_upload_weekly_ok: true. Any unexplained depot_manifest_sha256 or steam_build_id delta requires a documented exception or a new upload evening receipt.
Who this sketch is for
| Audience | You will… |
|---|---|
| Beginner | Run Monday build_id / manifest hash one-liners |
| Facilitator | Paste weekly depot diff into #october-upload |
| Engineer | Cron Monday 09:00 from upload window open through fest live |
| Producer | Block setlive until J5 honesty clears |
Time: ~45 minutes first weekly template; ~6–10 minutes per Monday after scripts pin.
Prerequisites: Depot upload evening U6 GREEN; steampipe_upload_log.jsonl path known; depot_manifest_v1.json exported from your build pipeline; jq on CI or facilitator laptop.
Beginner path — Monday checklist (5–10 minutes)
- Open last week’s upload pointer from BUILD_RECEIPT (
steampipe_upload_ok, latest receipt path). - Read tail of
steampipe_upload_log.jsonlfor currentbuild_idandsteam_build_id. - Hash
depot_manifest_v1.json(sha256sum/Get-FileHash). - Compare to last Monday’s jsonl line—same
build_idand hash? - Confirm
branch_intentstill matches fest RC label (not silentdefault). - If hash, build, or branch changed without a receipt note → stop setlive; file exception or rerun upload evening.
- Paste results into stand-up.
Memorize one sentence: Locale weekly = language identity; depot weekly = build identity.
| Question | Locale freeze weekly jq | This october_upload depot jq |
|---|---|---|
| When? | ISO weeks after localization_freeze_ok |
ISO weeks after october_upload_window_allowed |
| Log file | localization_freeze_weekly_log.jsonl |
october_upload_weekly_log.jsonl |
| Anchor | Freeze receipt + Weblate pin | Upload receipt + steampipe log tail |
| Diff fields | locale_ids[], strings_per_locale, weblate_pin |
build_id, depot_manifest_sha256, steam_build_id, branch_intent, rc_label |
| Prereq | Freeze evening L1–L6 | Depot upload U1–U6 + capstone window |
| Wrong reuse | April catalog schema | Locale freeze schema |
Beginner mistake: Appending locale weekly lines into a steam folder—use a new jsonl and depot columns once upload window opens.
Format ladder
| Artifact | Role |
|---|---|
| Localization capstone | Opens october_upload_window_allowed |
| Depot upload evening | One-evening U1–U6 + jsonl append |
| This jq sketch | Weekly depot row diff J1–J6 |
| Forward #10 Wednesday depot smoke row review | Mid-week promote ritual |
| Forward #12 Friday upload capstone | Ten-minute pre-fest-live latch |
| Locale weekly jq | Cousin cadence, different columns |
| Guide #56 forward | One tool step |
Order: Capstone Friday → depot upload Monday → weekly depot jq through upload week → Wednesday #10 smoke → Friday #12 capstone.
Developer path — gates J1–J6 (depot schema)
These J gates belong to october upload weekly depot—not localization freeze weekly J1–J6 and not April catalog J1–J6.
| Gate | Pass criterion |
|---|---|
| J1 | Weekly receipt schema is october upload weekly (schema string documents october_upload_weekly_v1) and iso_week set |
| J2 | Upload window pointer resolves (october_upload_window_allowed true; capstone or upload receipt path present) |
| J3 | Prior ISO week jsonl line exists (or week-1 bootstrap note referencing depot upload night) |
| J4 | build_id non-empty, depot_manifest_sha256 non-empty, primary_depot_id matches manifest |
| J5 | depot_row_diff[] honest for build_id, manifest hash, steam_build_id, branch_intent, rc_label (no silent rebuilds) |
| J6 | Receipt filed; BUILD_RECEIPT october_upload_weekly_ok: true |
Weekly receipt template
File as release-evidence/steam/weekly/2026-W40.json (example):
{
"schema": "october_upload_weekly_v1",
"iso_week": "2026-W40",
"upload_window_pointer": {
"path": "release-evidence/steam/2026-09-29/steampipe_depot_upload_receipt_v1.json",
"october_upload_window_allowed": true,
"steampipe_upload_ok": true,
"capstone_receipt": "release-evidence/localization/2026-09-26/localization_freeze_capstone_receipt_v1.json"
},
"snapshot": {
"manifest_path": "release-evidence/steam/2026-10-06/depot_manifest_v1.json",
"depot_manifest_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"build_id": "october-fest-rc-20261006-143022",
"steam_build_id": "12345678",
"primary_depot_id": "987654",
"branch_intent": "fest_rc",
"rc_label": "october_next_fest_2026_rc",
"setlive_target_label": "october_next_fest_2026_rc",
"default_branch_flag": false,
"steampipe_log_tail": {
"path": "release-evidence/steam/steampipe_upload_log.jsonl",
"last_event": "depot_upload",
"last_line_build_id": "october-fest-rc-20261006-143022"
}
},
"depot_row_diff": [
{
"field": "build_id",
"before": "october-fest-rc-20260929-091544",
"after": "october-fest-rc-20261006-143022",
"delta": "changed",
"note": "EXCEPTION-DEPOT-002: crash fix upload W40; steampipe jsonl line 14 appended"
},
{
"field": "depot_manifest_sha256",
"before": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"after": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"delta": "changed",
"note": "EXCEPTION-DEPOT-002: matches new build_id"
},
{
"field": "steam_build_id",
"before": "12345601",
"after": "12345678",
"delta": "changed",
"note": "EXCEPTION-DEPOT-002"
},
{
"field": "branch_intent",
"before": "fest_rc",
"after": "fest_rc",
"delta": "unchanged"
},
{
"field": "rc_label",
"before": "october_next_fest_2026_rc",
"after": "october_next_fest_2026_rc",
"delta": "unchanged"
},
{
"field": "default_branch_flag",
"before": false,
"after": false,
"delta": "unchanged"
}
],
"gates": {
"J1": "GREEN",
"J2": "GREEN",
"J3": "GREEN",
"J4": "GREEN",
"J5": "GREEN",
"J6": "GREEN"
},
"october_upload_weekly_ok": true,
"notes": "W40 crash fix authorized; setlive still targets fest_rc not default"
}
Weekly log (jsonl)
release-evidence/steam/october_upload_weekly_log.jsonl — one line per ISO week:
{"iso_week":"2026-W39","build_id":"october-fest-rc-20260929-091544","depot_manifest_sha256":"sha256:bbbb…","steam_build_id":"12345601","branch_intent":"fest_rc","rc_label":"october_next_fest_2026_rc","receipt":"release-evidence/steam/weekly/2026-W39.json"}
{"iso_week":"2026-W40","build_id":"october-fest-rc-20261006-143022","depot_manifest_sha256":"sha256:aaaa…","steam_build_id":"12345678","branch_intent":"fest_rc","rc_label":"october_next_fest_2026_rc","receipt":"release-evidence/steam/weekly/2026-W40.json"}
BUILD_RECEIPT latch fields:
{
"october_upload_window_allowed": true,
"steampipe_upload_ok": true,
"october_upload_weekly_ok": true,
"october_upload_weekly_receipt": "release-evidence/steam/weekly/2026-W40.json"
}
Keep steampipe_upload_ok as the night of upload latch. Weekly OK is ongoing depot honesty—orthogonal columns. Locale weekly (localization_freeze_weekly_ok) and depot weekly both may be true simultaneously—do not merge verify scripts.
Copy-paste jq one-liners
Schema + latch
jq -e '.schema == "october_upload_weekly_v1"
and .october_upload_weekly_ok == true' \
release-evidence/steam/weekly/2026-W40.json
Upload window pointer
jq -e '.upload_window_pointer.october_upload_window_allowed == true
and .upload_window_pointer.steampipe_upload_ok == true' \
release-evidence/steam/weekly/2026-W40.json
Manifest hash matches on-disk file
MANIFEST=$(jq -r .snapshot.manifest_path release-evidence/steam/weekly/2026-W40.json)
EXPECTED=$(jq -r .snapshot.depot_manifest_sha256 release-evidence/steam/weekly/2026-W40.json)
ACTUAL="sha256:$(sha256sum "$MANIFEST" | awk '{print $1}')"
test "$EXPECTED" = "$ACTUAL"
Diff vs prior jsonl week (build_id)
PREV=$(jq -s -r '.[-2].build_id' release-evidence/steam/october_upload_weekly_log.jsonl)
CUR=$(jq -s -r '.[-1].build_id' release-evidence/steam/october_upload_weekly_log.jsonl)
echo "prev=$PREV"
echo "cur=$CUR"
if [ "$PREV" != "$CUR" ]; then
jq -e 'any(.depot_row_diff[]; .field == "build_id" and (.note | startswith("EXCEPTION-DEPOT-")))' \
release-evidence/steam/weekly/2026-W40.json
fi
Branch intent must not silently flip to default
jq -e '
.snapshot.branch_intent == "fest_rc"
and .snapshot.default_branch_flag == false
and .snapshot.setlive_target_label == .snapshot.rc_label
' release-evidence/steam/weekly/2026-W40.json
Steampipe log tail agrees with snapshot build_id
LOG="release-evidence/steam/steampipe_upload_log.jsonl"
TAIL=$(jq -s -r '.[-1].build_id' "$LOG")
SNAP=$(jq -r .snapshot.build_id release-evidence/steam/weekly/2026-W40.json)
test "$TAIL" = "$SNAP"
Honest exception for rebuild weeks only
jq -e '
if any(.depot_row_diff[]; .field == "build_id" and .delta == "changed") then
all(.depot_row_diff[];
(.field == "build_id" or .field == "depot_manifest_sha256" or .field == "steam_build_id")
| not
or (.note | startswith("EXCEPTION-DEPOT-"))
)
else true end
' release-evidence/steam/weekly/2026-W40.json
PowerShell twin (Windows facilitators)
$Weekly = "release-evidence/steam/weekly/2026-W40.json"
$Log = "release-evidence/steam/october_upload_weekly_log.jsonl"
$ok = jq -e '.schema == "october_upload_weekly_v1" and .october_upload_weekly_ok == true' $Weekly
if ($LASTEXITCODE -ne 0) { throw "J1/J6 latch failed" }
$prev = jq -s -r '.[-2].branch_intent' $Log
$cur = jq -s -r '.[-1].branch_intent' $Log
if ($prev -ne $cur) { throw "branch_intent drifted vs prior week without depot_row_diff" }
if ((jq -r '.snapshot.default_branch_flag' $Weekly) -eq 'true') { throw "default_branch_flag must stay false during upload window" }
Write-Host "october_upload_weekly_ok"
verify_october_upload_weekly.sh
#!/usr/bin/env bash
set -euo pipefail
WEEKLY="${1:-release-evidence/steam/weekly/latest.json}"
LOG="${2:-release-evidence/steam/october_upload_weekly_log.jsonl}"
jq -e '.schema == "october_upload_weekly_v1"' "$WEEKLY" >/dev/null
jq -e '.upload_window_pointer.october_upload_window_allowed == true' "$WEEKLY" >/dev/null
jq -e '.upload_window_pointer.steampipe_upload_ok == true' "$WEEKLY" >/dev/null
jq -e '.snapshot.build_id | length > 0' "$WEEKLY" >/dev/null
jq -e '.october_upload_weekly_ok == true' "$WEEKLY" >/dev/null
for g in J1 J2 J3 J4 J5 J6; do
test "$(jq -r --arg g "$g" '.gates[$g]' "$WEEKLY")" = "GREEN"
done
MANIFEST=$(jq -r .snapshot.manifest_path "$WEEKLY")
test -f "$MANIFEST"
test -f "$LOG"
# Default branch guard during upload window
jq -e '.snapshot.default_branch_flag == false' "$WEEKLY" >/dev/null
# Prior week bootstrap: allow single-line log on first Monday after upload evening
LINES=$(wc -l < "$LOG" | tr -d ' ')
if [ "$LINES" -ge 2 ]; then
PREV_BRANCH=$(jq -s -r '.[-2].branch_intent' "$LOG")
CUR_BRANCH=$(jq -s -r '.[-1].branch_intent' "$LOG")
if [ "$PREV_BRANCH" != "$CUR_BRANCH" ]; then
jq -e 'any(.depot_row_diff[]; .field == "branch_intent" and .note != null)' "$WEEKLY" >/dev/null \
|| { echo "branch_intent changed without depot_row_diff note"; exit 1; }
fi
PREV_BUILD=$(jq -s -r '.[-2].build_id' "$LOG")
CUR_BUILD=$(jq -s -r '.[-1].build_id' "$LOG")
if [ "$PREV_BUILD" != "$CUR_BUILD" ]; then
jq -e 'any(.depot_row_diff[]; .field == "build_id" and (.note | startswith("EXCEPTION-DEPOT-")))' "$WEEKLY" >/dev/null \
|| { echo "build_id changed without EXCEPTION-DEPOT note"; exit 1; }
fi
fi
STEAM_LOG=$(jq -r .snapshot.steampipe_log_tail.path "$WEEKLY")
if [ -f "$STEAM_LOG" ]; then
TAIL_BUILD=$(jq -s -r '.[-1].build_id' "$STEAM_LOG")
SNAP_BUILD=$(jq -r .snapshot.build_id "$WEEKLY")
test "$TAIL_BUILD" = "$SNAP_BUILD"
fi
echo "october_upload_weekly_ok"
Wire to CI as a Monday job:
# example GitHub Actions fragment
- name: october upload weekly depot diff
run: |
bash scripts/verify_october_upload_weekly.sh \
"release-evidence/steam/weekly/${{ env.ISO_WEEK }}.json"
Proof table
| Artifact | Proves | Does not prove |
|---|---|---|
| Depot upload U6 | Night-of append + receipt latch | Week-two hash honesty |
| Weekly jsonl | Build / branch history | Gameplay quality |
depot_row_diff |
Honest rebuild deltas | Store metadata parity |
| Weekly OK latch | CI may continue setlive prep | Localization locale set |
| EXCEPTION-DEPOT notes | Documented rebuilds | Legal / SKU compliance |
| Steampipe log tail cross-check | Snapshot matches log | Player CDN latency |
October upload cluster integration
| Cluster row | Relationship to weekly depot jq |
|---|---|
| #1 depot evening | Bootstrap jsonl + U latch |
| #2 publish checklist | Store-facing; orthogonal to depot hash |
| #3 dress rehearsal | Nightly habit; weekly jq is Monday anchor |
| #4 default branch case study | Failure mode when branch_intent lies |
| #5 metadata freeze | Store copy lane |
| #6 trailer thumbnails | Art lane |
| #7 this jq | Weekly depot identity |
| Forward #8 overtime worksheet | Pager hours cap |
| Forward #9 SETLIVE exception opinion | Numbered setlive authorization |
| Forward #10 Wednesday smoke | Mid-week promote ritual |
| Forward #11 Whisper caption lint | Store video lane |
| Forward #12 Friday capstone | Pre-fest-live latch |
Scenarios A–H
A — New build_id without jsonl append
Fail J5. Require steampipe log line + EXCEPTION-DEPOT note or rerun depot upload evening.
B — branch_intent flips to default mid-week
Fail J4/J5 unless forward #9 SETLIVE exception list documents SETLIVE-00N. Prefer fest_rc through upload window.
C — Locale weekly GREEN, depot weekly RED
Expected when strings stable but engineers hotfixed—different schemas. Do not merge verify scripts.
D — Metadata freeze M6 GREEN, depot weekly RED
Store copy can be frozen while depot manifest drifts—pair metadata freeze for store lane only.
E — W40 crash fix with EXCEPTION-DEPOT-002
J5 GREEN if note present, jsonl appended, setlive target still fest_rc. Document in Wednesday #10 smoke card.
F — Dress rehearsal challenge night overlaps Monday ritual
Challenge nights keep habits; weekly jq still appends jsonl Monday AM. Do not skip because Tuesday stand-up happened.
G — Multi-depot demo + full game
Snapshot primary_depot_id must match fest demo depot; secondary depots listed in notes or receipt v1.1 secondary_depot_ids[].
H — Upload queue pending (steam_build_id empty)
Allow weekly line with "steam_build_id": "pending" only when steampipe log shows upload_pending event; fail J4 next week if still pending—pair wall-clock trend.
Facilitator stand-up script (90 seconds)
- “ISO week and receipt path?”
- “
build_idsame as last Monday jsonl?” - “
depot_manifest_sha256unchanged or EXCEPTION-DEPOT?” - “
branch_intentstill fest_rc;default_branch_flagfalse?” - “Steampipe log tail matches snapshot?”
- “Locale weekly jq separate—any RED there blocks capstone, not necessarily depot weekly.”
- “If any RED → no setlive today; route to upload evening or EXCEPTION-DEPOT file.”
Printable facilitator card
OCTOBER UPLOAD WEEKLY DEPOT JQ — MONDAY
[ ] J1 schema october_upload_weekly_v1
[ ] J2 october_upload_window_allowed + steampipe_upload_ok
[ ] J3 prior jsonl week or bootstrap note
[ ] J4 build_id + manifest hash + depot_id
[ ] J5 depot_row_diff honest (EXCEPTION-DEPOT if changed)
[ ] J6 october_upload_weekly_ok on BUILD_RECEIPT
[ ] default_branch_flag == false
[ ] setlive_target_label == rc_label
Python J5 audit cousin (optional CI)
import json, sys
weekly = json.load(open(sys.argv[1]))
diff = weekly.get("depot_row_diff", [])
changed = {d["field"] for d in diff if d.get("delta") not in ("unchanged", "0")}
rebuild_fields = {"build_id", "depot_manifest_sha256", "steam_build_id"}
if changed & rebuild_fields:
notes = [d.get("note", "") for d in diff if d["field"] in rebuild_fields]
if not all(n.startswith("EXCEPTION-DEPOT-") for n in notes):
raise SystemExit("J5: rebuild without EXCEPTION-DEPOT note")
print("october_upload_weekly_ok")
jsonl integrity checks
# No duplicate ISO weeks
jq -s 'map(.iso_week) | group_by(.) | map(select(length>1)) | length == 0' \
release-evidence/steam/october_upload_weekly_log.jsonl
# Monotonic ISO week ordering (facilitator discipline)
jq -s 'map(.iso_week) | . == sort' release-evidence/steam/october_upload_weekly_log.jsonl
Partner diligence zip
When publishers request upload-week proof:
- Latest
october_upload_weekly_v1receipt - Full
october_upload_weekly_log.jsonl steampipe_upload_log.jsonltail excerptdepot_manifest_v1.jsonfor snapshot week- BUILD_RECEIPT excerpt showing
october_upload_weekly_ok - Link to localization capstone if window opened there
Zip name: {studio}_october_upload_weekly_{iso_week}_2026.zip.
Engine / tooling notes
| Engine | Manifest export tip |
|---|---|
| Unity | Include build_id in depot_manifest_v1.json from CI job name |
| Godot | Export preset hash in manifest; pair Godot VDF evening |
| GameMaker | Pair setlive dry-run evening for branch labels |
| Unreal | Cook manifest path in receipt notes |
Weekly jq is engine-agnostic once depot_manifest_v1.json exists.
Comparison pack — weekly jq cousins
| Sketch | Primary hash / ID | Window |
|---|---|---|
| February hourly | Hourly BUILD_RECEIPT rows | Live fest week |
| March sprint weekly | Sprint receipt columns | Post-fest March |
| April catalog weekly | catalog_sha256 |
Content-update Sale |
| Locale freeze weekly | locale_ids, Weblate pin |
After string freeze |
| October depot weekly | build_id, depot manifest |
Upload window |
FAQ
Same as steampipe_upload_log.jsonl jq from depot evening?
No. Evening tutorial proves append discipline. Weekly jq proves week-over-week identity with depot_row_diff.
Same as localization weekly jq?
No. Different schema, fields, and failure modes—run both Mondays during upload prep.
Same as Wednesday depot smoke #10?
Monday jq detects drift; Wednesday smoke decides promote permission—cousin cadence like April jq vs Thursday content-update.
Does weekly OK authorize store publish?
No—forward #2 publish checklist and #10 Wednesday smoke own store-facing gates.
What if we only ship one depot?
Weekly still trivial-passes with single primary_depot_id—cheap insurance against silent rebuilds.
How do exceptions work?
Numbered EXCEPTION-DEPOT-### files; reference in depot_row_diff[].note. Forward #12 capstone should list open exceptions.
When do we stop Monday runs?
After fest live closeout—or when upload window formally closes in capstone receipt.
Can CI upload without human dry-run review?
Set operator: ci_runner in steampipe log; human must still review dry-run artifact before U6—weekly jq does not replace U4.
Key takeaways
- After upload window opens, run a weekly depot row diff—not locale or catalog jq.
- Gates J1–J6 here mean depot schema, not locale freeze or April catalog.
- Append
october_upload_weekly_log.jsonlevery ISO week through upload prep. - Latch
october_upload_weekly_okseparately fromsteampipe_upload_ok. - Silent
build_idchanges fail J5—require EXCEPTION-DEPOT or new upload evening. default_branch_flagmust stay false during upload window unless forward #9 documents SETLIVE exception.- Pair depot evening #1 and locale weekly jq; forward Wednesday #10 and Friday #12.
- Steampipe log tail must agree with weekly snapshot
build_id. - Store metadata freeze and depot weekly are orthogonal—both can be RED independently.
- Guide #56 / Course 296 / Help #61 continue the format ladder.
- Bootstrap week-0 from depot upload night—do not invent prior hashes.
- Wrong cousin jq is a class of CI false greens—keep verify scripts in separate files.
Related reads
- Your First SteamPipe Depot Upload Log BUILD_RECEIPT Before October Next Fest
- jq Gate Sketch for localization_freeze Weekly Locale Row Diff — cousin cadence; locale columns
- Friday Localization Freeze Capstone Before October Upload
- 5-Night October Next Fest Upload Dress Rehearsal Challenge
- We Recovered Wrong Steam Default Branch After Localization Capstone GREEN
- October 2026 Steam Store Last-Minute Metadata Freeze Trend Playbook
- 14 Free Steam Store Publish Checklist Tools October Upload Week
- jq Gate Sketch for april_content_update Weekly Catalog Row Diff
- October SteamPipe Queue Wall-Clock Telemetry Trend
- 12 Pre-Flight Checks Before steamcmd setlive October Fest 2026
Closing
Upload evening without Monday depot honesty is how build_id hashes lie while producers celebrate frozen store tags. File the weekly depot row diff, keep locale jq in its lane, and let october_upload_weekly_ok be the boring green light setlive and fest live both respect.
When someone asks for a “tiny hotfix upload” without jsonl, the weekly log has an answer: EXCEPTION-DEPOT, new upload evening, or no setlive today.