Money & Business Jul 16, 2026

October Upload Week Engineering Overtime Cap Worksheet - 2026

2026 October upload week engineering overtime cap worksheet for micro-studios - O1-O6 gates, october_upload_overtime_receipt_v1.json, BUILD_RECEIPT october_upload_overtime_ok, depot/setlive/caption stop rules.

By GamineAI Team

October Upload Week Engineering Overtime Cap Worksheet - 2026

Pixel-art hero for October upload week engineering overtime cap worksheet 2026

Monday 9:10 p.m.: weekly depot jq finds the right build_id, but the SteamPipe queue is slow. Tuesday: a contractor offers to stay late and rebuild the depot "just to be safe." Wednesday: the same contractor is asked to smoke the branch before store publish checklist. Thursday: someone needs caption fixes after trailer thumbnail safe-zone feedback. Friday: setlive is still scary because wrong default branch recovery is fresh in memory. Nobody says "budget." Everyone says "one more hour."

October 2026 upload week is a perfect overtime trap for micro-studios. The work is real: depot hash honesty, setlive branch proof, store metadata freeze, captions, QA smoke, and partner evidence zips. The danger is not laziness. The danger is treating every red or yellow receipt as permission for unlimited engineering hours.

This Money & Business worksheet caps upload-week engineering overtime without blocking necessary fixes. It gives beginners a plain weekly hours table, gives producers stop rules they can paste into contractor threads, and gives working devs an october_upload_overtime_receipt_v1.json with O1-O6 gates and BUILD_RECEIPT october_upload_overtime_ok: true.

Non-repetition note: March engineering cash runway owns post-February contractor invoice amortization across March sprint weeks. Founder timebox owns founder attention split between engineering and marketing. Localization contractor burn-down owns LQA/vendor spend before string freeze. This URL owns upload-week emergency engineering overtime caps tied to depot, setlive, caption, smoke, and store-publish receipts.

Pair weekly depot jq #7, depot upload evening #1, SteamCMD validation tools, AI RPG live-ops course lesson 278, and Steam store trailer muted-state help. Forward #9 SETLIVE exception opinion and #10 Wednesday depot smoke row review.

Why this matters now (October 2026 upload week)

  1. Upload windows compress work - SteamPipe, store review, capsule/video polish, and partner proof all collide in the same week.
  2. Every receipt can create overtime - october_upload_weekly_ok RED, store_publish_ok YELLOW, caption lint RED, or setlive branch confusion can all become contractor hours.
  3. Micro-studios lack a spending brake - A two-person team can approve ten "small" fixes before anyone sees the invoice.
  4. The best fixes are not always billable fixes - Sometimes the correct action is a waiver, delayed publish, or rollback to a known RC.
  5. Partners now ask for receipts - A clean BUILD_RECEIPT with a missing overtime cap still hides launch risk.

Direct answer: Before upload week starts, write october_upload_overtime_receipt_v1.json, set daily engineering hour caps, map every overtime request to depot/setlive/store/caption/smoke gates, clear O1-O6, and latch BUILD_RECEIPT october_upload_overtime_ok: true. If a request has no receipt field or stop rule, it does not get emergency hours.

Who this worksheet is for

Audience Outcome
Solo founder A printable daily hour cap before panic starts
Producer A yes/no rule for contractor overtime requests
Engineer Receipt fields that connect overtime to actual release gates
Contractor lead Scope notes that prevent surprise invoices

Time: 50-70 minutes before upload week; 5 minutes per overtime request during the week.

Prerequisites: Localization capstone or equivalent upload-window approval, latest weekly depot jq, active contractor rate card, and a list of receipts that can still go RED.

Beginner path - the 30-minute overtime cap table

Copy this into release-evidence/ops/october-upload-overtime-2026.md:

Day Max overtime hours Allowed reason Receipt owner Stop rule
Monday 3 SteamPipe queue / depot hash mismatch october_upload_weekly_v1 O-DEPOT
Tuesday 2 Rebuild only if EXCEPTION-DEPOT exists october_upload_weekly_v1 O-REBUILD
Wednesday 4 Depot smoke before store publish forward #10 smoke receipt O-SMOKE
Thursday 2 Store metadata or caption blocker store/caption receipts O-STORE
Friday 3 Setlive branch proof / capstone closeout forward #12 capstone O-SETLIVE
Weekend 0 by default Only live-breaking rollback incident waiver O-WAIVER

Beginner rule: overtime is not "any work after dinner." It is emergency engineering work that protects a named release gate. If the task cannot name the gate, it goes into normal backlog.

Three questions before approving an hour

  1. Which receipt is RED or YELLOW? Example: october_upload_weekly_ok false.
  2. What exact field will the hour change? Example: depot_manifest_sha256 or setlive_target_label.
  3. What is the stop rule? Example: max two rebuild attempts before rollback to last known RC.

If nobody can answer all three, the safest answer is "not upload-week overtime."

What counts as upload-week engineering overtime

Counts Track elsewhere
SteamPipe rebuilds, upload retries, branch label proof Marketing ad spend
Depot smoke fixes needed before Thursday store publish Capsule art contractor hours
Setlive dry-run, label mismatch repair, rollback scripts Press key outreach
Caption pipeline fix when store video slot blocks publish Localization LQA vendor spend
CI verification for BUILD_RECEIPT release gates Founder planning time

This distinction matters because creator key press budget and store metadata freeze have their own money lanes. Do not hide press, art, or translation spend under "engineering overtime" because the invoice arrived in the same week.

Developer path - gates O1-O6

Gate Check Fail action
O1 Daily overtime cap table covers Monday-Friday plus weekend default Block emergency hours until table exists
O2 Every overtime category maps to a receipt field or gate Move unowned tasks to normal backlog
O3 Contractor rate card and approval owner are recorded No contractor approval by chat alone
O4 Stop rules cap rebuild, smoke, caption, and setlive retries Roll back or waiver after max attempts
O5 BUILD_RECEIPT has october_upload_overtime_budget_hours and receipt path Fix release receipt before partner zip
O6 october_upload_overtime_ok: true only when actual + reserved hours <= cap Freeze overtime approvals if exceeded

These gates are about hours and authority, not technical success. A depot fix can pass weekly jq while failing O6 because the team spent twelve contractor hours on a four-hour cap.

october_upload_overtime_receipt_v1.json

File as release-evidence/ops/october_upload_overtime_receipt_v1.json:

{
  "schema": "october_upload_overtime_receipt_v1",
  "generated_at": "2026-10-05T09:00:00Z",
  "upload_window": "2026-W41",
  "currency": "USD",
  "contractor_rate_card": [
    {"role": "build_engineer", "hourly_usd": 95, "approval_owner": "producer"},
    {"role": "qa_engineer", "hourly_usd": 55, "approval_owner": "producer"},
    {"role": "tools_engineer", "hourly_usd": 85, "approval_owner": "tech_lead"}
  ],
  "daily_caps": [
    {
      "day": "monday",
      "cap_hours": 3,
      "allowed_receipts": ["october_upload_weekly_v1", "steampipe_depot_upload_receipt_v1"],
      "stop_rule": "O-DEPOT"
    },
    {
      "day": "wednesday",
      "cap_hours": 4,
      "allowed_receipts": ["october_depot_smoke_row_diff_receipt_v1"],
      "stop_rule": "O-SMOKE"
    },
    {
      "day": "friday",
      "cap_hours": 3,
      "allowed_receipts": ["october_upload_capstone_receipt_v1", "setlive_exception_list_receipt_v1"],
      "stop_rule": "O-SETLIVE"
    }
  ],
  "stop_rules": [
    {"id": "O-DEPOT", "trigger": "two_upload_retries_without_new_hash", "action": "rollback_to_last_known_rc"},
    {"id": "O-REBUILD", "trigger": "build_id_changes_without_EXCEPTION_DEPOT", "action": "block_rebuild"},
    {"id": "O-SMOKE", "trigger": "second_smoke_failure_same_field", "action": "open_wednesday_smoke_waiver"},
    {"id": "O-STORE", "trigger": "caption_or_metadata_fix_not_blocking_publish", "action": "move_to_post_fest_backlog"},
    {"id": "O-SETLIVE", "trigger": "target_label_mismatch_after_dry_run", "action": "block_setlive_and_route_SETLIVE_exception"},
    {"id": "O-WAIVER", "trigger": "weekend_overtime_requested", "action": "require_incident_waiver"}
  ],
  "actuals": [
    {
      "day": "monday",
      "role": "build_engineer",
      "hours": 1.5,
      "receipt": "release-evidence/steam/weekly/2026-W41.json",
      "field_changed": "depot_manifest_sha256",
      "approval": "producer"
    }
  ],
  "gates": {
    "O1": "GREEN",
    "O2": "GREEN",
    "O3": "GREEN",
    "O4": "GREEN",
    "O5": "GREEN",
    "O6": "GREEN"
  },
  "october_upload_overtime_ok": true
}

BUILD_RECEIPT rows

{
  "october_upload_window_allowed": true,
  "october_upload_weekly_ok": true,
  "october_upload_overtime_budget_hours": 14,
  "october_upload_overtime_used_hours": 1.5,
  "october_upload_overtime_receipt": "release-evidence/ops/october_upload_overtime_receipt_v1.json",
  "october_upload_overtime_ok": true
}

The budget row belongs beside upload-week release fields, not in an accounting spreadsheet only. Partner diligence often asks "who can approve emergency work?" during the same review that asks for depot or branch proof.

Stop rules O-DEPOT through O-WAIVER

O-DEPOT - SteamPipe retries

Allow a first retry when the queue failed, config expired, or steam_build_id is pending. Stop after two upload attempts without a new manifest hash. At that point, roll back to the last known RC and document the reason in weekly depot jq.

O-REBUILD - silent rebuilds

No rebuild receives overtime unless it points to EXCEPTION-DEPOT-### or a failing receipt field. "Just to be safe" is not a field. "Fix crash on title screen, changes build_id, EXCEPTION-DEPOT-004" is a field-backed request.

O-SMOKE - Wednesday smoke

Wednesday smoke is allowed because forward #10 protects Thursday store publish. The stop rule is simple: if the same field fails twice, stop spending hours and write a waiver or rollback decision. Repeating the same manual smoke until midnight is not engineering discipline.

O-STORE - captions and metadata

Caption or metadata fixes count only when they block publish or create legal/store correctness risk. Pair Steam trailer muted-state help for video-slot symptoms and SteamCMD tools for release tooling. Nice-to-have copy polish moves to post-fest backlog.

O-SETLIVE - branch proof

Setlive overtime must prove the target label, not "watch the dashboard." If setlive_target_label != rc_label, stop and route to forward #9 SETLIVE exception opinion. Use AI RPG lesson 278 as the course-side model for depot manifest receipt discipline.

O-WAIVER - weekend hours

Weekend overtime defaults to zero. Require a named incident waiver with a rollback path and owner. If the issue is embarrassing but not live-breaking, do not burn weekend contractor hours.

Approval script for producers

Paste this into #october-upload before approving any emergency invoice:

Request:
Receipt / field:
Expected change:
Role / rate:
Hours requested:
Daily cap remaining:
Stop rule:
Approver:
Decision: approved / denied / move to backlog

Example:

Request: W41 depot rebuild after crash fix
Receipt / field: october_upload_weekly_v1 / build_id + depot_manifest_sha256
Expected change: EXCEPTION-DEPOT-004
Role / rate: build_engineer / $95
Hours requested: 1.5
Daily cap remaining: 3.0
Stop rule: O-REBUILD
Approver: producer
Decision: approved

This is intentionally boring. Boring approval logs beat surprise invoices.

Five common overtime traps

Trap 1 - "We already paid for the contractor this week"

Availability is not a cap. If the retainer includes ten hours, still map those hours to receipt fields. Otherwise the week fills with invisible "quick fixes."

Trap 2 - "SteamPipe is slow, so keep someone online"

Waiting is not always engineering. A queue watch can be producer time. Engineering overtime starts when someone changes config, hashes, labels, scripts, or receipts.

Trap 3 - "Caption polish is technical because Whisper generated it"

Only blocking caption pipeline fixes count. Copy style, phrasing, and nice-to-have subtitle cleanup belong to content/art budget unless they block store video correctness.

Trap 4 - "Founder time is free"

Founder time is not contractor cash, but it still has opportunity cost. Pair founder timebox if founder hours are the real bottleneck.

Trap 5 - "The partner asked for proof, so approve overtime"

Partner proof should mostly be packaging existing receipts. If evidence is missing, decide whether the missing receipt is release-blocking. Do not spend four emergency hours producing a prettier zip when the BUILD_RECEIPT already answers the question.

Scenario matrix

Scenario Approve overtime? Why
depot_manifest_sha256 changed without EXCEPTION-DEPOT Yes, short fix Receipt-blocking; O-REBUILD applies
Store capsule alt text feels weak No Not engineering; not upload-blocking
Setlive target shows default after dry-run Yes, capped Branch proof is release-blocking; O-SETLIVE applies
Steam queue pending but no one is changing files No engineering Producer can monitor queue
Caption pipeline exports corrupt SRT for store video Maybe Approve if video slot blocks publish
Partner asks for a new PDF summary No by default Package existing receipts first
Friday smoke finds crash on boot Yes with waiver Live-blocking, but record cap + rollback
Weekend request for better demo menu animation No Post-fest backlog

jq checks for O6

Total actual hours are under budget

jq -e '
  ([.actuals[].hours] | add // 0) <=
  ([.daily_caps[].cap_hours] | add // 0)
' release-evidence/ops/october_upload_overtime_receipt_v1.json

Every actual row names a receipt and field

jq -e '
  all(.actuals[];
    (.receipt | type == "string" and length > 0)
    and (.field_changed | type == "string" and length > 0)
    and (.approval | type == "string" and length > 0)
  )
' release-evidence/ops/october_upload_overtime_receipt_v1.json

Stop rules exist for each daily cap

jq -e '
  (.stop_rules | map(.id)) as $ids
  | all(.daily_caps[]; (.stop_rule as $s | $ids | index($s)))
' release-evidence/ops/october_upload_overtime_receipt_v1.json

verify_october_upload_overtime.sh

#!/usr/bin/env bash
set -euo pipefail
RECEIPT="${1:-release-evidence/ops/october_upload_overtime_receipt_v1.json}"

jq -e '.schema == "october_upload_overtime_receipt_v1"' "$RECEIPT" >/dev/null
jq -e '.october_upload_overtime_ok == true' "$RECEIPT" >/dev/null

for g in O1 O2 O3 O4 O5 O6; do
  test "$(jq -r --arg g "$g" '.gates[$g]' "$RECEIPT")" = "GREEN"
done

jq -e '(.daily_caps | length) >= 5' "$RECEIPT" >/dev/null
jq -e '(.contractor_rate_card | length) > 0' "$RECEIPT" >/dev/null
jq -e '
  ([.actuals[].hours] | add // 0) <=
  ([.daily_caps[].cap_hours] | add // 0)
' "$RECEIPT" >/dev/null
jq -e '
  (.stop_rules | map(.id)) as $ids
  | all(.daily_caps[]; (.stop_rule as $s | $ids | index($s)))
' "$RECEIPT" >/dev/null

echo "october_upload_overtime_ok"

Wire it after technical gates:

- name: Verify October upload overtime cap
  run: bash scripts/verify_october_upload_overtime.sh

Put this after depot/caption/store checks, before any job that opens emergency contractor approval.

Proof table

Artifact Proves Does not prove
daily_caps[] Team set a spending brake Technical fix succeeded
contractor_rate_card[] Role/rate/approver are known Invoice is already paid
actuals[] Hours tie to receipt fields Contractor quality
Stop rules Retry loops have a hard end No bugs remain
O6 GREEN Used + reserved hours fit cap Store publish is approved
BUILD_RECEIPT overtime rows Partner can audit emergency approvals Legal compliance

Partner diligence zip

When a publisher or platform partner asks how upload week was controlled, include:

  1. october_upload_overtime_receipt_v1.json
  2. BUILD_RECEIPT excerpt with october_upload_overtime_ok
  3. october_upload_weekly_v1 receipt from the same ISO week
  4. Contractor rate card or redacted SOW appendix
  5. Stop-rule decisions for any denied request
  6. Links to Wednesday smoke cousin logic and forward #10 when published

Zip name: {studio}_october_upload_overtime_{iso_week}_2026.zip.

Engine and store notes

Stack Overtime risk Control
Unity + SteamPipe Addressables rebuild changes depot hash Require EXCEPTION-DEPOT before rebuild
Godot + SteamCMD Export preset or VDF typo One fix attempt, then rollback
GameMaker IDE branch label mismatch Use setlive receipt pattern from course lesson
Unreal Cook/package time hides actual fix time Separate waiting from engineering hours
Whisper captions Proper nouns misread before video slot Approve only blocking SRT pipeline fixes

FAQ

Is this the same as March engineering cash runway?

No. March engineering runway amortizes post-fest invoices and reserves future engineering cash. This worksheet caps emergency hours inside one October upload week.

Is this the same as founder timebox?

No. Founder timebox tracks attention. This tracks contractor or billable engineering hours. Use both when the founder is also doing build engineering.

Should every RED gate receive overtime?

No. Some RED gates should trigger rollback, waiver, or schedule change. Overtime is one tool, not the default answer.

What if the contractor is prepaid?

Still cap hours. Prepaid hours can still crowd out launch work and create renewal pressure.

Can marketing approve engineering overtime?

Only if the receipt says so. O3 requires a named approval owner per role.

Does O6 GREEN mean setlive is safe?

No. It only means overtime is within cap. Setlive safety belongs to setlive receipt gates and forward #9.

How many hours should a tiny team cap?

Start with 10-14 total upload-week overtime hours. If that feels too low, name the receipts that require more before the week begins.

What about live-breaking weekend bugs?

Use O-WAIVER with a named incident, rollback path, owner, and max hours. Weekend overtime should be exceptional and written.

Key takeaways

  1. October upload week needs an engineering overtime cap, not just technical receipts.
  2. Overtime must map to a named receipt field, gate, and stop rule.
  3. Gates O1-O6 cover daily caps, rate cards, stop rules, BUILD_RECEIPT rows, and total hours.
  4. File october_upload_overtime_receipt_v1.json before the first emergency request.
  5. Latch october_upload_overtime_ok only when actual + reserved hours fit the cap.
  6. Waiting on SteamPipe is not automatically engineering overtime.
  7. Caption, metadata, and setlive work need separate stop rules.
  8. Pair weekly depot jq #7 for technical identity and this worksheet for hour authority.
  9. Pair SETLIVE exception opinion #9 when O-SETLIVE fires; forward #10 Wednesday smoke consumes this cap.
  10. Use SteamCMD tools, course lesson 278, and Steam trailer help for sibling formats.
  11. Denied overtime requests should be logged, not forgotten.
  12. The cheapest upload-week fix is often a rollback or waiver, not another paid hour.

Related reads

Closing

Upload week makes every engineering request sound urgent. The worksheet makes urgency pay rent: a receipt field, a cap, an approver, and a stop rule.

When someone asks for "just two more hours," the answer is no longer vibes. It is O1-O6, the daily cap, and whether the work changes a release gate that actually protects October launch.