What to build: Backfill card_<code>_* tests for sg's remaining grandfathered corp cards — agendas (5), assets (4), operations (6), upgrades (2), identity (1) — deleting each card's exemption line from tests/fixtures/untested_cards_grandfathered.json as its test lands. Test depth stays at the existing bar: one core-behavior test per card; bugs pull in more.
Blocked by: 02, 03, 04 — vanilla audits (vanilla-audit/).
Status: fixed
2026-08-01: Backfilled one core-behavior card_<code>_* test for each of the 18 remaining grandfathered sg corp cards — agendas 30036 Luminal Transubstantiation, 30067 Offworld Office, 30068 Orbital Superiority, 30069 Send a Message, 30070 Superconducting Hub; assets 30037 Nico Campaign, 30045 Urtica Cipher, 30053 Spin Doctor, 30071 Regolith Mining License; operations 30041 Sprint, 30056 Predictive Planogram, 30057 Public Trail, 30064 Government Subsidy, 30065 Retribution, 30075 Hedge Fund; upgrades 30042 Manegarm Skunkworks, 30058 AMAZE Amusements; identity 30019 Tāo Salonga — in the existing test module of rust/netrunner-core/src/cards/sg.rs, going through the public hooks:: dispatch (on_play/on_score/on_steal/on_rez/on_access, trigger_corp_turn_start, trigger_on_agenda_scored_or_stolen, server_gate, run_end, click_ability, playability_gate) so registration is exercised too. Added small corp-side test helpers (corp_operation, corp_agenda, corp_filler, install_corp_card, install_hq_ice). Deleted the 18 exemption lines from tests/fixtures/untested_cards_grandfathered.json (33 → 15; only elev/vp codes remain, sg's grandfather debt is zero) and flipped has_tests: true for the 18 codes in game/cards_impl/sg.json. No bugs found, so no card pulled in extra tests. cargo test --workspace (109 core tests, 62 in the sg module) and .venv/bin/pytest (109 passed) both green.