Tier 3 · Shipping
Pitfalls: builds and shipping
Preserved incident rules and verification for this topic.
Batchmode skips, unfocused editors, rolling profiler buffers.
Generalized pitfalls from shipped and active projects. Index: the pitfalls page. All entries LOCKED evidence. Status: locked (empirical, seen in shipped/active projects).
- EXECUTEMETHOD-NEEDS-A-CLEAN-COMPILE — batchmode
-executeMethodsilently does not run when any package fails to compile. Check: read the log for compile errors and assert the method's own log line. Status: locked (empirical, seen in shipped/active projects).
- SPACES-IN-PATHS-BREAK-SHELL-SWEEPS —
$(find ...)word-splits folder names with spaces and checks nothing. Check: use null-delimited lists and assert a non-zero file count. Status: locked (empirical, seen in shipped/active projects).
- RELEASE-PIPELINES-PRUNE-THEIR-OUTPUT — repeated platform exports and archives fill the build host disk. Check: the ship path deletes old exports/archives beyond N. Status: locked (empirical, seen in shipped/active projects).
- DEVELOPMENT-PLAYERS-ARE-NOT-FOR-SHARING — a Development build carries debug symbols per assembly and a profiler listener with the build PC's address. Check: shared/test builds are non-Development unless profiling is the goal. Status: locked (empirical, seen in shipped/active projects).
- CHECK-AND-ACTION-ARE-SEPARATE-COMMANDS — a guard ("is a compile running?") and the action it guards must not be one chained command. Check: read the guard result, then send the action. Status: locked (empirical, seen in shipped/active projects).
- PIPELINE-EXIT-CODES-COME-FROM-THE-LAST-STAGE —
tool | tailreports tail's status. Check:set -o pipefailor check the first stage's status. Status: locked (empirical, seen in shipped/active projects).
- GREP-JSON-KEYS-NOT-WORDS — grepping a JSON status for "failed" matches
"failed":false. Check: parse JSON for status checks. Status: locked (empirical, seen in shipped/active projects).