# Contributing — clean-room rules This tree must stay publishable as engine code only. Never commit: - game data in any form: `.gob` contents, extracted catalogs, saves, textures, strings dumps; - the original binaries, or anything derived from them by a decompiler/disassembler (no decompiler output, no disassembly excerpts, no pasted pseudo-code — not even in comments); - copied fixture files from the game. Test fixtures are hand-written minimal samples. Facts *about* the binary (addresses, calling conventions, prototypes, struct layouts) enter this repo only through `include/generated/sots_addresses.h`, which is generated from the RE repo with a provenance header. Everything else is written from understanding, in our own words and code. Real-data tests read `$SOTS_DATA_DIR` (the owner's installed copy) and must skip cleanly when unset. Run `tools/clean_room_check.sh` before committing.