# TOMBSTONE — 2026-05-29 Wiring Audit #9 — `mob_crates/` archive

Archived during **Minecraft Council Wiring Audit #9** (`mob_crates/`, double-purpose wiring + dead-code). 5-seat council + dispatcher synthesis; Joseph answered the 3 gate questions (D1=ARCHIVE all 12, D3=ARCHIVE both).

## D1 — the dead refactor-orphan rarity-mob layer (12 files)

The patron system was migrated from `mobs.patrons.<tier>` **entity tags** to `ec.patron.<tier>`. The new path (`killed_patron_<tier>` → `drop/patron_<tier>`, ≈100% at mythical) is LIVE and was **left untouched**. The old 25%-partial path (`killed_<tier>` → `drop/<tier>`) was keyed on the never-applied `mobs.patrons.<tier>` tag and never removed.

**Verified-dead (pack-wide, this run):** `tag @s add mobs.patrons.<tier>` is **never** executed anywhere — `mobs/patrons/convert/<tier>` only adds `ec.patron`, `ec.patron.<tier>`, `ec.patron.processed`, `mobs.patrons.applied`. The only pack-wide occurrences of the literal `mobs.patrons.<tier>` are (a) `eden:settings` config-storage keys in `mobs/default_values:119-124` (different purpose) and (b) the dead `killed_<tier>` advancement criteria themselves. So all 6 `killed_<tier>` advancements key on a tag no entity ever carries → they never fire → their reward fns `drop/<tier>` are unreachable. Each `drop/<tier>` only self-revokes its own dead advancement (`advancement revoke @s only evercraft:mob_crates/killed_<tier>`); the pair is a self-contained orphan.

| File | Reason |
|---|---|
| `function/mob_crates/drop/common.mcfunction` | Reward fn of dead `killed_common` adv (keys never-applied `mobs.patrons.common`). 0 live callers. |
| `function/mob_crates/drop/uncommon.mcfunction` | Reward fn of dead `killed_uncommon`. 0 live callers. |
| `function/mob_crates/drop/rare.mcfunction` | Reward fn of dead `killed_rare`. 0 live callers. |
| `function/mob_crates/drop/ornate.mcfunction` | Reward fn of dead `killed_ornate`. 0 live callers. |
| `function/mob_crates/drop/exquisite.mcfunction` | Reward fn of dead `killed_exquisite`. 0 live callers. |
| `function/mob_crates/drop/mythical.mcfunction` | Reward fn of dead `killed_mythical`. 0 live callers. |
| `advancement/mob_crates/killed_common.json` | Criterion `{Tags:["mobs.patrons.common"]}` — tag never applied → never fires. |
| `advancement/mob_crates/killed_uncommon.json` | Criterion `{Tags:["mobs.patrons.uncommon"]}` — never fires. |
| `advancement/mob_crates/killed_rare.json` | Criterion `{Tags:["mobs.patrons.rare"]}` — never fires. |
| `advancement/mob_crates/killed_ornate.json` | Criterion `{Tags:["mobs.patrons.ornate"]}` — never fires. |
| `advancement/mob_crates/killed_exquisite.json` | Criterion `{Tags:["mobs.patrons.exquisite"]}` — never fires. |
| `advancement/mob_crates/killed_mythical.json` | Criterion `{Tags:["mobs.patrons.mythical"]}` — never fires. |

**Why not WIRE instead:** the race seat (F2) confirmed that if both advancements fired, both `spawn/<tier>` would `setblock ~ ~ ~ barrel` at the same killer-aligned block → the second `setblock` overwrites the first (lost loot). Wiring the dead tag would simultaneously create a +25% second crate AND collide it into the first. Archiving is the clean resolution; the LIVE patron path already covers patron crate drops.

## D3 — pure dead loot tables (2 files)

| File | Reason |
|---|---|
| `loot_table/mob_crates/death_marker.json` | Tierless `mob_crate_marker` knowledge_book with no `mob_crate_tier` field. `process_marker:6-11` only branches on the 6 tiers → a tierless marker matches none → falls through to `kill @s` (silent no-op, no crate). 0 callers/attachments (verified). Prototype of the per-tier `death/<tier>.json`, never wired. |
| `loot_table/mob_crates/drop/named.json` | "Named mobs get 5x rate" PATH-B variant. **0 loot-table attachments** (vs `drop/regular.json`'s many). Behavior is live inline in `drop/regular.json` pool 2 (the 5x-named pool). Also carries the wrong NBT key `custom_name:{}` (item-component form) where the live `drop/regular.json` correctly uses `CustomName:{}` (entity NBT). 0 references anywhere. |

## NOT touched (LIVE — confirmed this run)

- All 12 patron files: `drop/patron_<tier>.mcfunction` + `killed_patron_<tier>.json` (the LIVE PATH C, keyed on `ec.patron`/`ec.patron.<tier>`).
- All 6 PATH-B markers: `loot_table/mob_crates/death/<tier>.json` (these reference no archived files; `death/exquisite.json` got its glint typo fixed this run, W4).
- `loot_table/mob_crates/drop/regular.json` (the live PATH-B table, 2-pool design that already implements the 5x-named behavior).

## Reversibility

This is not a git working tree; files were moved with plain `mv`. To restore: `mv` any file back from `data/.archive/2026-05-29-wiring-mob_crates/<path>` to its original `data/evercraft/<path>`. Note: restoring `drop/<tier>` + `killed_<tier>` alone does nothing unless you ALSO wire `tag @s add mobs.patrons.<tier>` into `mobs/patrons/convert/<tier>` AND fix the same-block barrel collision (offset the second spawn) — see race seat F2.

## Council artifacts

- `_council/2026-05-29-wiring-mob_crates/README.md` (brief)
- `_council/2026-05-29-wiring-mob_crates/chat/{reachability,obtainability,race,performance,correctness}.md` (5 seats)
- `_council/2026-05-29-wiring-mob_crates/chat/SYNTHESIS.md`
- `_council/2026-05-29-wiring-mob_crates/CLOSED.md`
