Wednesday Depot Smoke BUILD_RECEIPT Row Review - Ten Minutes Before Thursday Store Publish - 2026

Monday: weekly depot jq says october_upload_weekly_ok: true. Tuesday: a contractor rebuilds "one crash fix" and forgets EXCEPTION-DEPOT. Wednesday noon: marketing asks whether Thursday's store publish checklist can go. Someone answers "SteamPipe was green Monday" and opens the store editor. Thursday 5 p.m.: players install a branch BUILD_RECEIPT still describes as last week's RC, captions are wrong, and SETLIVE exception is empty while default somehow got touched.
October 2026 upload week needs a mid-week depot smoke row review—not only Friday capstone and not only Monday identity jq. Content-update teams already learned this cadence: Thursday content-update row review after Wednesday warm (T1–T10, content_update_promote_allowed). Fest demos have Thursday row review after Wednesday demo smoke. This Process & Workflow URL owns the October upload cousin: on Wednesday, spend ten minutes diffing depot/BUILD_RECEIPT rows after installed smoke, then set store_publish_allowed (and october_depot_smoke_ok) only when gates D1–D10 clear—before Thursday store publish.
Non-repetition note: Thursday content-update cousin owns Addressables catalog promote. Fest Thursday cousin owns demo/surface/channel promote. Weekly depot jq #7 owns Monday identity. Depot upload evening #1 owns U1–U6 append. Wednesday demo smoke owns binary golden path for fest demos. Forward #12 owns Friday upload capstone. This URL owns Wednesday upload-week depot smoke + D1–D10 store-publish latch.
Pair weekly depot jq #7, store publish checklist #2, SETLIVE opinion #9, overtime worksheet #8, SteamCMD tools, depot label mismatch help, course setlive dry-run. Forward #11 Whisper caption lint and #12 Friday capstone.
Why this matters now (October 2026 upload week)
- Monday GREEN is not Thursday GREEN — Weekly jq proves identity; Wednesday proves installed depot + receipt rows still match.
- Store publish inherits lies — Publish checklist #2 without smoke latch ships store claims against wrong
build_id. - Silent rebuilds land Tuesday — EXCEPTION-DEPOT gaps show up mid-week; Friday capstone is too late for Thursday publish.
- SETLIVE temptation peaks Wednesday PM — SETLIVE opinion #9 needs smoke evidence before default theater.
- Overtime without a smoke card — O-SMOKE burns hours repeating the same failure; D-gates force a decision.
Direct answer: Every upload-week Wednesday, run installed depot smoke, clear D1–D10, file october_depot_smoke_row_diff_receipt_v1.json, set BUILD_RECEIPT october_depot_smoke_ok: true and store_publish_allowed: true only when blockers pass—refuse Thursday store publish on Monday jq theater alone.
Who this ritual is for
| Audience | Outcome |
|---|---|
| Solo founder | Printable ten-minute card: publish Y/N |
| Producer | Block Thursday store edits until D4–D8 GREEN |
| Engineer | Wire verify_october_depot_smoke.sh after smoke job |
| QA | Installed-client evidence path required |
Time: 10 minutes for row review after smoke; smoke itself 15–25 minutes first week, ~10 later.
Prerequisites: Current BUILD_RECEIPT.json, Monday weekly depot receipt, steampipe log tail, Steam client install of the RC (or intended) branch, optional SETLIVE list path.
Format ladder (October upload week)
| Day | Artifact | Layer |
|---|---|---|
| Mon | Weekly depot jq #7 | Depot identity |
| Mon/Tue | Depot upload #1 / EXCEPTION-DEPOT | Append + rebuild honesty |
| Wed | This smoke + row review | Installed proof + store_publish_allowed |
| Thu | Store publish checklist #2 | Store-facing publish |
| Fri | Forward #12 upload capstone | Pre-fest-live latch |
Content-update weeks still use warm → Thursday T-gates—different columns; do not reuse content_update_promote_allowed for Steam store publish.
Depot smoke row catalog (what to diff)
Store release-evidence/steam/receipt-row-catalog-october-depot-smoke.md:
| Row key | Type | Must match smoke? | Typical drift |
|---|---|---|---|
build_id |
string | Yes | Tuesday rebuild without jsonl |
depot_manifest_sha256 |
string | Yes | Hash lie after "tiny" fix |
steam_build_id |
string | Yes | Still pending / wrong ID |
branch_intent |
string | Yes | Silent flip toward default |
rc_label / setlive_target_label |
string | Yes | Labels diverge |
setlive_exception_list_ok |
bool | If target default | true without SETLIVE-00N |
october_upload_weekly_ok |
bool | Prefer | Monday jq ignored |
steampipe_upload_ok |
bool | Yes | Stale from prior week |
october_upload_overtime_ok |
bool | If hours spent | Cap exceeded |
store_publish_allowed |
bool | Output | Manually set true without D-gates |
human_signoff.signed_at_utc |
timestamp | Yes | Unsigned publish |
Never delete mid-upload-week without receipt_version bump in diff notes.
Gates D1–D10 (Wednesday store-publish blockers)
| Gate | Name | Pass criteria |
|---|---|---|
| D1 | Files exist | Current BUILD_RECEIPT + baseline + weekly receipt paths documented |
| D2 | build_id parity | Receipt build_id equals installed footer / smoke note |
| D3 | manifest parity | depot_manifest_sha256 matches on-disk manifest used for smoke |
| D4 | steampipe linkage | steampipe_upload_ok true; log tail build_id matches |
| D5 | weekly jq freshness | october_upload_weekly_ok true for current ISO week (or written waiver) |
| D6 | branch honesty | branch_intent + setlive_target_label match RC; default ⇒ SETLIVE list GREEN |
| D7 | installed smoke | Smoke receipt path exists; boot + footer + one golden path same day |
| D8 | store readiness rows | Publish-facing columns present (store_publish_checklist pointer or P-gate path) |
| D9 | signoff | Producer signoff within 48h of smoke |
| D10 | diff receipt | october_depot_smoke_row_diff_receipt_v1.json filed; latches set honestly |
D4–D8 are Thursday store-publish blockers when RED. D5 YELLOW allows publish only with written waiver referencing EXCEPTION-DEPOT or freeze note.
Beginner path — printable ten-minute card
WEDNESDAY DEPOT SMOKE ROW REVIEW — OCTOBER UPLOAD
[ ] D1 files + baseline open
[ ] D2 build_id matches installed footer
[ ] D3 depot_manifest_sha256 matches disk
[ ] D4 steampipe log tail matches
[ ] D5 october_upload_weekly_ok this ISO week
[ ] D6 branch_intent / setlive_target (default ⇒ SETLIVE-00N)
[ ] D7 installed smoke receipt filed today
[ ] D8 store publish checklist path present
[ ] D9 producer signoff
[ ] D10 october_depot_smoke_row_diff_receipt_v1.json
DECISION: store_publish_allowed = YES / NO
Beginner rule: If you cannot point to today's installed smoke path, Thursday store publish is NO—even if Monday jq was GREEN.
Minute-by-minute ritual
| Min | Action |
|---|---|
| 0–1 | Confirm Steam client on intended branch; open current + weekly receipts |
| 1–3 | D1–D3: files, build_id, manifest hash |
| 3–5 | D4–D5: steampipe tail; weekly jq |
| 5–7 | D6–D7: branch + SETLIVE; smoke path |
| 7–9 | D8–D9: store checklist pointer; signoff |
| 9–10 | Write diff receipt; set october_depot_smoke_ok + store_publish_allowed |
Calendar invite: "Wednesday depot smoke row review — store publish gate."
Developer path — receipt template
File as release-evidence/steam/smoke/2026-W41-wednesday.json:
{
"schema": "october_depot_smoke_row_diff_receipt_v1",
"iso_week": "2026-W41",
"reviewed_at_utc": "2026-10-08T15:10:00Z",
"current_build_id": "october-fest-rc-20261008-110422",
"baseline_build_id": "october-fest-rc-20261006-143022",
"paired_weekly_receipt": "release-evidence/steam/weekly/2026-W41.json",
"paired_steampipe_log": "release-evidence/steam/steampipe_upload_log.jsonl",
"installed_smoke": {
"path": "release-evidence/steam/smoke/2026-W41-installed.json",
"client": "steam_desktop",
"branch": "october_next_fest_2026_rc",
"footer_build_id": "october-fest-rc-20261008-110422",
"golden_path": "boot_to_title_menu_ok"
},
"gates": {
"D1": "GREEN",
"D2": "GREEN",
"D3": "GREEN",
"D4": "GREEN",
"D5": "GREEN",
"D6": "GREEN",
"D7": "GREEN",
"D8": "GREEN",
"D9": "GREEN",
"D10": "GREEN"
},
"row_diff": [
{
"key": "build_id",
"baseline": "october-fest-rc-20261006-143022",
"current": "october-fest-rc-20261008-110422",
"expected": "october-fest-rc-20261008-110422",
"status": "expected_change",
"note": "EXCEPTION-DEPOT-004"
},
{
"key": "setlive_target_label",
"baseline": "october_next_fest_2026_rc",
"current": "october_next_fest_2026_rc",
"expected": "october_next_fest_2026_rc",
"status": "unchanged"
}
],
"october_depot_smoke_ok": true,
"store_publish_allowed": true,
"notes": "Installed smoke on fest RC; no default setlive; store checklist ready for Thursday"
}
BUILD_RECEIPT rows
{
"october_upload_weekly_ok": true,
"steampipe_upload_ok": true,
"setlive_exception_list_ok": true,
"october_depot_smoke_ok": true,
"october_depot_smoke_receipt": "release-evidence/steam/smoke/2026-W41-wednesday.json",
"store_publish_allowed": true
}
Fail-closed: Thursday publish CI / producer checklist must require store_publish_allowed == true from this ISO week's Wednesday receipt—not last week's boolean.
Installed smoke minimum (D7)
Before the ten-minute row review:
- Install from intended Steam branch (fest RC preferred).
- Record footer / in-game
build_idif present. - Boot to title; run one golden path (start game or menu → first interactive screen).
- Confirm branch name in Steam properties / beta dropdown.
- Save
installed_smokeJSON with screenshots paths optional.
Pair help: depot promoted build label mismatch when footer ≠ receipt. Pair course dry-run lesson when setlive is also on the calendar.
verify_october_depot_smoke.sh
#!/usr/bin/env bash
set -euo pipefail
SMOKE="${1:-release-evidence/steam/smoke/latest-wednesday.json}"
BR="${2:-BUILD_RECEIPT.json}"
jq -e '.schema == "october_depot_smoke_row_diff_receipt_v1"' "$SMOKE" >/dev/null
jq -e '.october_depot_smoke_ok == true' "$SMOKE" >/dev/null
jq -e '.store_publish_allowed == true' "$SMOKE" >/dev/null
for g in D1 D2 D3 D4 D5 D6 D7 D8 D9 D10; do
test "$(jq -r --arg g "$g" '.gates[$g]' "$SMOKE")" = "GREEN"
done
test -f "$(jq -r .installed_smoke.path "$SMOKE")"
FOOTER=$(jq -r .installed_smoke.footer_build_id "$SMOKE")
CUR=$(jq -r .current_build_id "$SMOKE")
test "$FOOTER" = "$CUR"
jq -e '.store_publish_allowed == true' "$BR" >/dev/null
echo "october_depot_smoke_ok"
jq one-liners
Latch
jq -e '.schema == "october_depot_smoke_row_diff_receipt_v1"
and .october_depot_smoke_ok == true
and .store_publish_allowed == true' \
release-evidence/steam/smoke/2026-W41-wednesday.json
Branch must not silently be default
jq -e '
.installed_smoke.branch != "default"
or (input | .setlive_exception_list_ok == true)
' release-evidence/steam/smoke/2026-W41-wednesday.json BUILD_RECEIPT.json
Weekly pointer present
jq -e '.paired_weekly_receipt | type == "string" and length > 0' \
release-evidence/steam/smoke/2026-W41-wednesday.json
Proof table
| Artifact | Proves | Does not prove |
|---|---|---|
| Monday weekly jq | Identity history | Installed playability today |
| Wednesday smoke | Installed branch + footer | Store copy quality |
| D1–D10 receipt | Promote/publish permission | Caption lint |
store_publish_allowed |
Thursday may edit/publish store | Fest live Monday ready |
| Friday #12 capstone | Pre-live latch | Mid-week Thursday gate |
Scenario matrix
| Scenario | store_publish_allowed? |
Why |
|---|---|---|
| Monday jq GREEN; no Wednesday smoke | No | Stale identity theater |
| build_id changed without EXCEPTION-DEPOT | No | Fix weekly + jsonl first |
| Fest RC smoke GREEN; SETLIVE empty | Yes | Preferred path |
Installed on default without SETLIVE-00N |
No | Route #9 |
| Smoke fails twice on same field | No | O-SMOKE stop; waiver or rollback |
| Store checklist incomplete but smoke GREEN | D8 RED | Finish #2 pointer |
| Caption lint still open (#11) | Maybe | Smoke may GREEN; video slot can still block—note in D8 |
Overtime coupling
When D7 fails, overtime worksheet #8 O-SMOKE applies: max retries, then waiver or rollback—do not burn unlimited hours. When D6 fails on default, O-SETLIVE + SETLIVE-00N required before more setlive overtime.
Same-week calendar (recommended)
| Day | Block | Owner |
|---|---|---|
| Mon AM | Weekly depot jq | Engineer |
| Mon/Tue | Upload / EXCEPTION-DEPOT if needed | Engineer |
| Wed | Installed smoke + this row review | QA + producer |
| Thu | Store publish checklist | Producer |
| Fri | Upload capstone #12 | Producer |
Skipping Wednesday and "catching up Friday" still leaves Thursday publish unprotected.
Partner diligence zip
october_depot_smoke_row_diff_receipt_v1.json- Installed smoke JSON + optional screenshots
- Paired weekly depot receipt
- BUILD_RECEIPT excerpt with
store_publish_allowed - Link to SteamCMD tools
- SETLIVE list if default was involved
Zip name: {studio}_october_depot_smoke_{iso_week}_2026.zip.
Comparison pack — row-review cousins
| Ritual | After | Latch |
|---|---|---|
| Fest Thursday | Demo smoke | promotion_allowed |
| Content-update Thursday | Warm catalog | content_update_promote_allowed |
| October Wednesday depot | Depot installed smoke | store_publish_allowed |
| Forward Friday #12 | Upload week close | fest_live_allowed |
FAQ
Same as Monday weekly depot jq?
No. Monday detects drift; Wednesday decides store publish permission.
Same as Wednesday demo smoke ritual?
Related habit, different window. Demo smoke is fest-demo golden path; this is upload-week depot + store latch.
Same as Thursday content-update row review?
Cousin cadence, different columns (catalog vs depot/branch/store).
Same as Friday upload capstone #12?
Friday is pre-fest-live. Wednesday protects Thursday store publish.
Does smoke replace SETLIVE exception list?
No. Smoke proves install; SETLIVE list authorizes non-RC targets.
Can we publish store if D5 weekly jq is YELLOW?
Only with written waiver—prefer fix weekly first.
Must smoke run on Deck?
Desktop Steam client is enough for D7; add Deck when Deck is a launch surface claim.
What if store publish is only metadata?
Still require Wednesday latch—metadata lies against wrong build_id confuse partners and support.
Facilitator stand-up script (75 seconds)
- "ISO week and Wednesday smoke path?"
- "
build_idfooter matches receipt and steampipe log?" - "
october_upload_weekly_okstill GREEN this week?" - "Branch = fest RC, or SETLIVE-00N filed?"
- "
store_publish_alloweddecision: YES or NO?" - "If NO — which D-gate is RED, and who owns the fix before Thursday 10 a.m.?"
Paste the decision into #october-upload before marketing opens the store editor.
CI sketch (GitHub Actions)
- name: Verify Wednesday depot smoke row review
run: bash scripts/verify_october_depot_smoke.sh \
"release-evidence/steam/smoke/${{ env.ISO_WEEK }}-wednesday.json"
- name: Block Thursday store publish without latch
run: jq -e '.store_publish_allowed == true
and .october_depot_smoke_ok == true' \
release-evidence/05-operations/BUILD_RECEIPT.json
Place verify after installed smoke artifact upload, before any job that flips Steamworks "Publish" or exports store metadata packages. Document waivers in BUILD_RECEIPT notes with producer initials and UTC time.
Engine and store notes
| Stack | Wednesday smoke tip |
|---|---|
| Unity + SteamPipe | Footer/Application.version must match receipt build_id string convention |
| Godot | Export preset hash in manifest; confirm Steam beta branch name matches rc_label |
| GameMaker | Pair dry-run lesson before any mid-week setlive; smoke on the same IDE build ID |
| Unreal | Cooked build ID in Project Settings; do not smoke an editor PIE build as depot proof |
| Multi-depot demo + full | Smoke the fest demo depot primary; note full-game depot in notes only |
Waiting on SteamPipe queue is not D7. D7 starts when the client has bytes installed.
RED / YELLOW / GREEN routing
| Signal | Route |
|---|---|
| D2/D3 RED | Stop publish; fix EXCEPTION-DEPOT + weekly jq |
| D5 YELLOW | Producer waiver only if freeze week documented |
| D6 RED | SETLIVE opinion #9 before more setlive |
| D7 RED | O-SMOKE overtime cap; max two retries |
| D8 RED | Finish publish checklist #2 pointer |
| All GREEN | Thursday store publish allowed |
Do not convert D7 RED into "marketing can still edit drafts." Drafts are fine; public publish and partner-facing store packages are not.
Worked example (W41)
Monday W41 weekly receipt GREEN on october-fest-rc-20261006-143022. Tuesday EXCEPTION-DEPOT-004 crash fix uploads october-fest-rc-20261008-110422. Wednesday QA installs fest RC, footer matches, golden path boots. Row diff marks build_id as expected_change with EXCEPTION note. D1–D10 GREEN. Producer sets store_publish_allowed: true at 15:12 UTC. Thursday store checklist runs against the same build_id. Friday #12 capstone will consume this smoke annex—do not invent a second Wednesday boolean later.
Common mistakes
- Reusing last week's
store_publish_allowed— ISO week must match. - Smoke on local non-Steam build — D7 requires Steam-installed branch.
- Calling Steamworks UI "smoke" — UI green ≠ installed footer.
- Skipping D6 because "we never use default" — still record
branch_intent. - Letting marketing decide YES in Slack — decision is the receipt file.
Key takeaways
- October upload week needs Wednesday depot smoke row review before Thursday store publish.
- Gates D1–D10 on
october_depot_smoke_row_diff_receipt_v1.json. - Latch
october_depot_smoke_okandstore_publish_allowedonly after installed smoke. - Monday jq GREEN is not Thursday publish permission.
- D4–D8 RED block store publish.
- Default branch install without SETLIVE-00N fails D6.
- Pair #7 weekly jq and #2 publish checklist.
- Pair #9 SETLIVE and #8 overtime O-SMOKE.
- Distinct from content-update Thursday and fest Thursday cousins.
- Use SteamCMD tools, help mismatch, course dry-run.
- Forward #11 caption lint and #12 Friday capstone.
- Ten minutes of receipt honesty beats a Thursday of wrong store claims.
- Post-fest default return uses cousin Wednesday post-fest smoke (W1–W10,
post_fest_smoke_ok)—do not reusestore_publish_allowed.
Related reads
- Wednesday Post-Fest Smoke After Fest Branch Unset — November post-fest cousin (
post_fest_smoke_ok) - Whisper Upload-Week Trailer Caption Lint Before Store Video Slot
- Friday October Upload Capstone Before Fest Live — final capstone that reads
store_publish_allowedand latchesfest_live_allowed - jq Gate Sketch for october_upload Weekly Depot Row Diff
- 14 Free Steam Store Publish Checklist Tools October Upload Week
- Thursday Content Update BUILD_RECEIPT Row Review After Warm Catalog
- Stop Running setlive on Default Without SETLIVE Exceptions
- October Upload Week Engineering Overtime Cap Worksheet
- Your First SteamPipe Depot Upload Log Before October Next Fest
- SteamCMD SteamGuard Depot Owner Validation Tools
- Steam Depot Promoted Playtest Build Label Mismatch Help
- GameMaker setlive Dry-Run Course Lesson
Closing
Monday identity without Wednesday smoke is how Thursday store publish inherits last week's green flags. Run the installed depot smoke, clear D1–D10, and let store_publish_allowed be a same-week decision—not a leftover boolean.
When marketing asks "can we publish the store page tomorrow?", the answer is the Wednesday card: smoke path, branch honesty, and a receipt that still matches the bits players will install.