Process & Workflow May 23, 2026

Wednesday Demo Build Smoke Ritual - Fifteen Minutes Before Fest Branch Promotion

2026 Process workflow—Wednesday fifteen-minute Steam demo build smoke ritual before fest branch promotion, with golden path gates and demo_smoke_receipt_v1.json.

By GamineAI Team

Wednesday Demo Build Smoke Ritual - Fifteen Minutes Before Fest Branch Promotion

Pixel-art hero for Wednesday demo build smoke ritual before fest branch promotion 2026

Your CI passed. Your BUILD_RECEIPT lists the right build_id. You promoted nextfest-oct-2026-rc4 at lunch. At 6 p.m. a player posts a screenshot of a black screen after the title card. The store page still promises co-op from last month because nobody ran the Wednesday metadata diff either.

Process & Workflow for micro-studios often treats green upload as green launch. This article defines a Wednesday fifteen-minute demo build smoke ritual that runs before any fest branch promotion—binary proof only: launch, sixty-second golden path, clean quit. It is not another store-metadata surface checklist. Store copy is Wednesday metadata; this Wednesday is gameplay truth on the depot players will install.

Pair with Friday Block 5 (evidence hygiene), 18 playtest tools (async capture after smoke passes), crash symbolicate receipt beginner pipeline (file crash_symbolicate_ok before promotion—not only after player crashes), and Lesson 214 — crash_symbolicate_receipt + build_label on minidumps so post-promotion crashes stay symbolicated—not hash-only stacks.

Who this is for and what you get

Audience You will be able to…
Solo dev Run one repeatable smoke block without a full QA department
Engineer Block promotion when S4–S6 fail on cold install
Producer Require demo_smoke_receipt_v1.json beside BUILD_RECEIPT before marketing spends; reserve smoke hours in fest week founder time-box

Time: 15 minutes weekly (Wednesday default, after metadata diff when both run same day); +10 minutes when build_id or demo scope changes.
Prerequisites: Fest branch name documented, golden path written in plain language, non-dev Steam account or family-share test account, current branch label map.

Why this matters now (May 2026)

  1. May–October fest prep — Teams promote branches weekly; smoke catches boot regressions metadata diffs cannot see.
  2. NW.js and Electron demosDeveloper console discipline and wrapper crashes show up only on installed builds, not editor preview.
  3. Refund narrative shiftRefund signal dashboards tag hour-one blockers; smoke is the cheapest hour-one test.
  4. Store/demo mismatchRecovery case studies often start with "we only tested in editor."
  5. Partner diligenceQ3 packets ask what you ran on the exact build_id promoted—not what passed yesterday on internal.

Direct answer: Log wednesday-demo-smoke-YYYY-WW.md plus demo_smoke_receipt_v1.json with pass/fail per smoke gate; no fest branch promotion that week if S4–S6 are RED.

Smoke vs metadata (two Wednesdays, one gate)

Ritual Layer Pass means
Wednesday metadata diff Store copy and media FAQ, About, screenshots match approved git
Wednesday demo smoke (this article) Installed binary Launch, golden path, quit on target build_id

Run metadata first, then smoke, then promote. Metadata GREEN with smoke RED still ships a lie players can play.

What counts as demo build smoke (gates S1–S8)

Gate Name Pass criteria
S1 Install Correct branch installs from library label; size plausible
S2 Launch Process starts within 90s cold boot; no instant crash
S3 First input Menu or gameplay accepts input; no frozen splash
S4 Golden path start Reach first scripted beat in golden path doc
S5 Golden path 60s Complete 60 continuous seconds of golden path without soft-lock
S6 Clean quit Exit to desktop/OS; no hang on close
S7 Console No F12/devtools; no debug overlay (opinion)
S8 Receipt demo_smoke_receipt_v1.json committed with matching build_id

S4–S6 are promotion blockers when RED. S7 is RED for fest retail demos; YELLOW only on explicit internal depots documented in BUILD_RECEIPT.

Golden path document (write once, smoke weekly)

Store under release-evidence/03-builds/demo-golden-path.md:

# Demo golden path — fest SKU
build_id template: nextfest-oct-2026-rc*
max_duration: 60s active play (S5 timer starts at first gameplay input)

Steps:
1. From main menu, choose New Run / Play Demo
2. Complete tutorial prompt (skip allowed if shipped)
3. Reach first combat or first puzzle interaction
4. Perform one meaningful action (attack, place tile, dialogue choice)
5. Open pause menu and confirm settings readable

Out of scope for smoke: meta progression, DLC, achievements, cloud sync

Align steps with vertical slice honesty—smoke tests what you sell, not your internal full game.

Golden path examples by genre

Genre 60s path anchor
Roguelike First room clear or first shop
Puzzle Level 1 complete or first fail state
Narrative First choice + one line of VO
RTS Place first structure
Co-op demo Solo path only unless co-op is fest promise

If co-op is not in fest scope, golden path must not require a second client—matches FAQ parity discipline.

The fifteen-minute ritual (minute-by-minute)

Min Action
0–1 Open log; copy build_id + branch from BUILD_RECEIPT
1–3 S1–S2 cold install (or verify install from prior day if same build_id)
3–5 S3 first input; note crash dumps path
5–12 S4–S5 golden path with phone timer; screen record optional
12–14 S6 quit; S7 console check (F12, tilde, debug keys)
14–15 Write receipt JSON; mark RED/YELLOW/GREEN; promote only if S4–S6 GREEN

Calendar invite: "Wednesday demo smoke — promotion gate (binary)."

Same-day pairing with metadata diff

Order Ritual Why
1 Metadata diff Fix copy lies before players install
2 Demo smoke (this) Prove binary matches promise
3 Branch promotion Only if both logs GREEN

Total 30 minutes when both run—still cheaper than fest-week firefight.

RED / YELLOW / GREEN rules

Status Meaning Promotion allowed?
RED Crash, soft-lock, golden path impossible, hang on quit No
YELLOW S7 console on internal-only branch; missing receipt file No until cleared
GREEN S1–S8 pass on fest retail branch Yes (if metadata also GREEN)

YELLOW on S1 "install slow" is not a pass—document and investigate; do not promote on bandwidth excuses.

Log template

# Wednesday demo smoke — 2026-W21
build_id: nextfest-oct-2026-rc4
branch: nextfest-oct-2026-rc4
test_account: family_share_slot_2
golden_path_version: 2026-05-18
reviewer: (role)

| gate | status | notes |
|------|--------|-------|
| S1 | GREEN | |
| S2 | GREEN | cold boot 42s |
| S3 | GREEN | |
| S4 | GREEN | menu → New Run |
| S5 | GREEN | 60s to first combat |
| S6 | GREEN | |
| S7 | GREEN | F12 dead |
| S8 | GREEN | demo_smoke_receipt_v1.json attached |

Promotion this week: ALLOWED (binary)

Save under release-evidence/05-operations/demo-smoke/.

demo_smoke_receipt_v1.json

{
  "schema": "demo_smoke_receipt_v1",
  "build_id": "nextfest-oct-2026-rc4",
  "branch": "nextfest-oct-2026-rc4",
  "iso_week": "2026-W21",
  "tested_at_utc": "2026-05-21T14:05:00Z",
  "golden_path_doc": "release-evidence/03-builds/demo-golden-path.md",
  "golden_path_version": "2026-05-18",
  "gates": {
    "S1_install": "pass",
    "S2_launch": "pass",
    "S3_first_input": "pass",
    "S4_golden_start": "pass",
    "S5_golden_60s": "pass",
    "S6_clean_quit": "pass",
    "S7_console": "pass",
    "S8_receipt": "pass"
  },
  "promotion_allowed": true,
  "paired_metadata_diff": "release-evidence/05-operations/store-metadata/wednesday-metadata-diff-2026-W21.md",
  "notes": "Construct NW.js; tested on Win11, Steam client stable"
}

Commit receipt same day as smoke. Validate-packet can grep promotion_allowed if you script gates.

Promotion gate integration

Add beside metadata checklist:

[ ] Wednesday demo smoke log exists for this ISO week
[ ] demo_smoke_receipt_v1.json promotion_allowed == true
[ ] build_id matches BUILD_RECEIPT and branch string
[ ] S7 pass on retail fest branch (not internal)
[ ] Optional screen recording archived if S5 was YELLOW once

Engineers may wire pre-promote hook—humans still own golden path judgment when UX is ambiguous.

Engine-specific smoke notes (2026)

Construct 3 → NW.js

Godot 4.x

  • Export debug off; test release template matching depot.
  • Threaded loader stalls can fail S5 without crashing—timer still runs.
  • RNG ledger cross-engine habits apply to Godot daily seeds if advertised.

Unity 6

  • Player build, not Editor play mode.
  • Deck graphics API issues surface at S2—note platform in receipt notes.
  • Development Build banner fails S7.

HTML5 / itch parallel SKU

If you run dual-SKU economics, smoke each SKU weekly or document why Steam-only this week—browser refresh bugs (replay case study) will not appear in NW.js smoke.

Worked example (composite micro-studio week)

Context: Duo promotes nextfest-oct-2026-rc4 Thursday; Wednesday smoke runs after metadata GREEN.

Gate Finding Action
S2 Black screen 8s then menu YELLOW—acceptable if documented; watch trend
S5 Soft-lock opening inventory on first pickup RED
S6 Hang 10s on quit RED
S7 F12 opens devtools RED on retail branch

Outcome: Promotion slipped; fixed inventory event order; re-smoke Thursday morning; attached new receipt. Marketing delay one day—cheaper than refund dashboard spike.

Two-machine and cold-install discipline

Check Pass
Tester machine never opened project folder this week Yes
Steam library shows correct branch label Yes
Delete prior fest build before S1 when build_id changed Yes
Second machine spot-check monthly Recommended

Same spirit as cloud saves parity—smoke on player conditions.

Screen recording (optional, high value)

When to record Why
First smoke of new build_id Partner and Discord proof
S5 YELLOW once Compare next week
Fest launch week Incident timeline

Keep clips under 90s; store beside receipt path in log header. Do not publish clips as marketing without trailer scope audit.

Distributed team handoff

When Asia-EU handoff promotes overnight:

  • EU morning: smoke before announcing branch to marketing
  • Receipt tested_at_utc and notes include OS + Steam client channel
  • Never promote on "works on dev laptop" without S1–S6 on receipt

Add handoff_demo_smoke: pending|done to BUILD_RECEIPT optional fields.

Playtest tools after smoke passes

Smoke is gate; 18 playtest tools are volume. Run async capture after S5 GREEN, not instead of smoke.

Tool class Use after smoke
Async video Longer sessions
Spreadsheet intake Non-golden-path bugs
Discord Community breadth

Closure rule: playtest tickets reference build_id from receipt.

Calendar integration (May–October 2026)

Period Smoke intensity
May–June Full S1–S8 weekly; establish habit
July Add second OS spot-check monthly
August Re-smoke within 24h of any gameplay promotion
September Freeze golden path doc; typo-only edits
October fest Mini S4–S6 on each promotion day + full weekly

Escalation when RED persists

Day Action
Wed Log RED; block promotion
Thu Fix binary; new BUILD_RECEIPT row
Fri Re-smoke; if GREEN, promote + Friday Block 5 note

If RED spans two weeks, run 7-day vertical slice challenge—weekly smoke is not enough.

Snippet-friendly answers

What is a demo build smoke test?
A 15-minute installed-build check—launch, 60-second golden path, clean quit—logged before fest branch promotion.

How is this different from metadata diff?
Metadata diff compares store text; smoke tests the binary players install.

Can engineers skip if only copy changed?
Only if build_id and demo depot are unchanged and prior week S4–S6 GREEN—rare; default run smoke.

Does smoke replace full QA?
No—it is a promotion gate, not certification.

CI and automation hooks

Optional pre-promote pseudologic:

if ! test -f release-evidence/.../demo_smoke_receipt_v1.json; then exit 2
if jq -e '.promotion_allowed == false' receipt; then exit 3
if jq -r '.build_id' receipt != "$BRANCH_BUILD_ID"; then exit 4
exit 0

Align exit codes with validate-packet style docs.

Cold-hash same week

Teams on cold-hash challenge should run demo smoke before hashing the zip players download—integrity without boot proof still fails partners.

Beginner path (first Wednesday smoke)

  1. Write five-step golden path in a text file.
  2. Install fest branch on a non-dev Steam account.
  3. Start phone timer at first gameplay input; play 60 seconds.
  4. Quit and confirm process ended.
  5. Copy receipt JSON template; set promotion_allowed true only if no crash/lock.

Success: you have one dated receipt proving you played the build you uploaded.

Second-week expansion

Add S7 console check. Add pairing note to metadata diff filename in receipt. Tell team promotion requires receipt path in chat.

Third-week expansion

Block promotion once intentionally on RED drill—team learns gate is real.

Art and readability hooks during S5

If golden path includes HUD text, glance at pixel font gates during smoke—illegible HUD fails player experience even when S5 technically passes.

Construct save migration and smoke

After save-format migration, add S5 step: "load continue if shipped" or explicitly skip in golden path doc—silent save corruption fails S4.

Fest marketing stop rules

Fest spend cap: no spend increase while S4–S6 RED. Paid traffic on a crashing demo burns runway.

Operating review hook

Four-Friday operating reviews Block 2 add:

  • Wednesdays smoke GREEN count last month
  • Longest-open S5 RED
  • Qualitative link to refund tags "crash at start"

Relationship to Friday Block 5

Ritual Day Focus
Wednesday metadata diff Wed Store copy
Wednesday demo smoke Wed Binary golden path
Friday Block 5 Fri Evidence folder hygiene

Same person can run all three; logs stay separate for post-mortems.

Month-one adoption ladder

Week Goal
1 Golden path doc + first receipt
2 Block one promotion on intentional S5 RED drill
3 Pair with metadata diff same day
4 Attach receipts to release-evidence taxonomy

Roles on a three-person team

Person Wednesday smoke duty
Engineer S1–S3, S7, receipt JSON
Designer Golden path authorship; S5 judgment
Producer Sign log; enforce gate

Solo dev: still write receipt—future diligence asks what you ran.

When Wednesday conflicts with promotion day

If promotion must happen Wednesday:

  1. Run smoke first in morning.
  2. Promote only after S4–S6 GREEN.
  3. Re-smoke same day if binary changes after promotion.

Never promote at 11 p.m. without receipt because "Discord is waiting."

Pre-promotion tabletop (10 minutes, optional)

High-stakes fest week:

  1. Producer reads golden path aloud.
  2. Engineer demonstrates S5 on projected screen.
  3. Marketer confirms UTM landing matches playable hook.
  4. Sign smoke log together.

Metrics without fake benchmarks

Metric Use
S5 RED per month Gameplay stability
Promotion delays due to smoke Cost of discipline
Time to clear S5 RED Engineering bandwidth
Repeat S5 fail same beat Design or script bug

Improve ritual; do not publish metrics as marketing claims.

Common mistakes (seven)

  1. Smoke in editor only — Players install Steam depot.
  2. Smoke after promotion — Players hit crash first.
  3. Golden path too long — S5 is 60 seconds, not full run.
  4. Skipping S6 — Quit hangs matter for reviews.
  5. No receipt file — Logs without JSON do not script-check.
  6. Dev account only — Wrong entitlements hide depot bugs.
  7. Metadata GREEN, smoke skipped — Two products still ship.

Pro tips (six)

  1. Phone timer for S5—obvious and reliable.
  2. Same Steam account weekly for comparability.
  3. Note GPU/driver in receipt notes once per month.
  4. Archive one 90s clip per build_id.
  5. Link receipt path in BUILD_RECEIPT notes.
  6. Index by ISO week2026-W21 sorts correctly.

Incident response when smoke failed during fest

Hour Action
0 Pause ads (fest cap)
1 Roll back branch or hotfix
2 Re-smoke; new receipt
3 Community note if crash was widespread
4 Log in retro folder

Intake compression and partner packets

Q3 intake compression: attach last four smoke receipts to partner ZIP—shows binary discipline. Pair with partner ZIP naming 03_builds/ folder.

Non-repetition note (editorial)

This URL is the binary smoke companion to Wednesday metadata diff—not a fourteenth FAQ or descriptor checklist. Forward links from Construct freeze, pixel font pass, and console opinion resolve here.

Key takeaways

  • Demo smoke proves the installed binary; metadata diff proves the store story—run both before promotion.
  • Fifteen minutes weekly beats fest-week crash threads.
  • Gates S1–S8: install through receipt JSON.
  • S4–S6 RED blocks promotion that week.
  • Golden path is 60 seconds of intentional play, not full content.
  • demo_smoke_receipt_v1.json pairs with BUILD_RECEIPT build_id.
  • Test NW.js/Unity/Godot player builds, not editor preview.
  • S7 enforces no devtools on retail fest demos.
  • Optional screen recording helps partners and post-mortems.
  • After smoke GREEN, scale with playtest tools.
  • Fest marketing cap stop rules apply on smoke RED.
  • October 2026 Next Fest punishes hour-one crashes harder than typo FAQs.
  • Solo teams still write receipts for diligence.
  • Combine with validate-packet and metadata diff for full upload-week story.

FAQ

We promote daily during crunch—still Wednesday smoke?
Run mini smoke (S4–S6 only) on promotion days; full S1–S8 weekly.

No golden path doc yet?
Write five bullets today—smoke tomorrow.

What if only shaders changed?
Still run S2–S6—GPU paths can fail launch.

Does this replace playtest tools listicle?
No—smoke is gate; tools are scale.

How does this interact with metadata diff?
Metadata first, smoke second, promote third.

We use internal branch for QA—skip S7?
S7 YELLOW on internal only if BUILD_RECEIPT documents; retail fest branch must GREEN.

Can smoke run on Steam Deck?
Recommended monthly; note Deck in receipt notes.

Conclusion

Promoting a fest branch without demo smoke is shipping a lottery ticket—players may get a game or a black screen.

Book fifteen minutes every Wednesday after your metadata diff. Block promotion when S4–S6 fail. Let October players play the build you uploaded.

The ritual is small. The hour-one trust it protects is not.

Set the recurring calendar event before your next fest branch promotion—not after the first refund screenshot shows a crash at the title card.

Fifteen minutes on Wednesday is cheaper than fifteen hours explaining why the demo never launched.

If your team already runs evidence cycles, slot demo smoke in the same light week as metadata diff—binary discipline is part of the cycle, not a distraction. The invite title should include smoke gate so nobody confuses this with optional playtesting.