# Scattered Residue — 2026-05-28

20 files archived in a single direct-ship sweep after the 2026-05-28 dead-code recon lap. Each was confirmed dead by ≥1 grep pass with all 5 audit-bug compensations applied, then re-verified pre-ship by strict-token caller scan (apparent hits were all substring false positives against differently-named siblings like `bulk_claim_stage_named`, `try_pull_animated`, `team/receive_accept`, `pet_duel/challenge_target`).

Joseph's decision (DA-D2): Direct-ship with tombstone, no council. Recon files are the analysis.

## Per-file verdicts

### bestiary/
- `gui/nav.mcfunction` — never wired; missing `Adv.NavLeftClick`/`NavRightClick` dispatch the parallel party/codex GUIs all have. Recon: `_council/2026-05-28-recon-fresh-bestiary/RECON.md`.
- `gui/nav_inner.mcfunction` — sole-callee co-orphan of `nav.mcfunction`. Only caller was the now-archived `nav.mcfunction`. Falls together.
- `stages/tick_claims.mcfunction` — superseded duplicate; body line byte-identical to `tick.mcfunction:597`. Recon: `_council/2026-05-28-recon-fresh-bestiary/RECON.md`.

### phoenix/
- `do_restore.mcfunction` — tags `ec.phoenix_restore` + `ec.phoenix_mainhand` only ever REMOVED inside the file. No upstream adder. Mid-build abandonment. Recon: `_council/2026-05-28-recon-fresh-phoenix/RECON.md`.

### spirit_tome/
- `quests/display_quest.mcfunction` — first-draft; superseded by `quests/show_activated.mcfunction` + `quests/display_status.mcfunction` (show_quest_status split). Recon: `_council/2026-05-28-recon-fresh-spirit_tome/RECON.md`.

### biome_mastery/
- `titles/leave_teams.mcfunction` — single `team leave @s` line; never invoked by any title-grant/title-revoke path. Stranded helper from an earlier teams-as-titles design. Recon: `_council/2026-05-28-recon-fresh-singletons-batch1/RECON.md`.

### bosses/
- `give_totem.mcfunction` — test-only Totem of Summoning grant. Header literally says "(test function)". No wiring; replaced by proper boss-spawn flow. Recon: `_council/2026-05-28-recon-fresh-singletons-batch1/RECON.md`.

### claim/
- `bulk_claim_stage.mcfunction` — silent single-stage claim macro. All current bulk-claim flows use `bulk_claim_stage_named` (different function — substring overlap caused apparent caller hits during recon, ruled out). Recon: `_council/2026-05-28-recon-fresh-singletons-batch1/RECON.md`.

### competition/
- `score/forge_item.mcfunction` — forging-advancement point grant for "competition type 3". The forging advancement no longer routes here. Recon: `_council/2026-05-28-recon-fresh-singletons-batch1/RECON.md`.

### crop_harvest/
- `try_ingredient_drop.mcfunction` — 3% cooking-ingredient drop on harvest, per-player race-safe variant. Superseded by the shared-fake-player path that production crop_harvest tick uses. Recon: `_council/2026-05-28-recon-fresh-singletons-batch1/RECON.md`.

### difficulty/
- `check_lock.mcfunction` — 14-day difficulty-lock check. No live difficulty-change flow calls it; the live path checks the lock inline. Recon: `_council/2026-05-28-recon-fresh-singletons-batch2/RECON.md`.

### duel/
- `team/receive.mcfunction` — team-duel "receive" stub (opponent partner-pick + confirm). Live team-duel flow uses `team/receive_accept` (different function — substring overlap caused apparent caller hits, ruled out). Recon: `_council/2026-05-28-recon-fresh-singletons-batch2/RECON.md`.

### dyeing/
- `consume_dye.mcfunction` — consume 1 dye from mainhand. Live dyeing flows handle dye consumption inline at apply-time. Recon: `_council/2026-05-28-recon-fresh-singletons-batch2/RECON.md`.

### gacha/
- `pull/try_pull.mcfunction` — single-pull stub. Live fountain confirms call `try_pull_animated` and `try_pull_10_animated` (different functions — substring overlap, ruled out). Recon: `_council/2026-05-28-recon-fresh-singletons-batch2/RECON.md`.

### items/
- ~~`salvation_check.mcfunction`~~ — **RESTORED 2026-05-28 (Council #22+#23).** The recon's "each milestone routes directly" claim was wrong on verification — NO live caller of `salvation_grant` existed, leaving the Salvation Stone (canonical "rarest item in Forevercraft" — death-save with live loot table + consume advancement) with **zero acquisition path in normal play**. Joseph's call: "death save, yeah no, i want that wired up right away." Restored to `data/evercraft/function/items/salvation_check.mcfunction`. Wired via `evercraft:achievements/check/cross_system:32` (same 5s tick aggregator that grants World Boss Conqueror). Six sticky one-shot milestones now grant the Stone: First Ender Dragon Kill, All 10 Constellations, DR 50 reached, Castle Floor 100, All 14 Spirit Weapons Metamorphosed, First Maxed Beacon. All 6 input scoreboards verified live; the 6 `ec.salv_*` flag objectives are pre-declared in `tomb/load:6-11`. Recon's wrong-on-verification claim documented in Council #22+#23 SYNTHESIS for future audit-of-recon learning.

### laborer/
- `dismiss.mcfunction` — dismiss-laborer confirm path. Live laborer system does dismissal via a different confirm route. Recon: `_council/2026-05-28-recon-fresh-singletons-batch2/RECON.md`.

### mount_training/
- `recall_find.mcfunction` — bonded-horse find + teleport. Live mount-recall flow handles find+tp inline. Recon: `_council/2026-05-28-recon-fresh-singletons-batch3/RECON.md`.

### pet_duel/
- `challenge.mcfunction` — DEPRECATED per its own header comment: "Pet duel challenges are now triggered by sneak-right-clicking another player's companion (detected in companions/tick → detect_cross_click). This file kept as a no-op to prevent 'function not found' errors." The "function not found" risk no longer exists — nothing references `pet_duel/challenge`; the live flow calls `pet_duel/challenge_target` (substring overlap, ruled out). Recon: `_council/2026-05-28-recon-fresh-singletons-batch3/RECON.md`.

### raids/
- `boss/setup/sync_hp.mcfunction` — superseded by `raids/boss/setup/apply_hp.mcfunction`. Both heal boss to full 2 ticks after spawn; `apply_hp` is the live one. Recon: `_council/2026-05-28-recon-fresh-singletons-batch3/RECON.md`.

### world/
- `crop_replant/scan.mcfunction` — within-2-block soil scan + replant macro. Live crop-replant uses a different scan approach. Recon: `_council/2026-05-28-recon-fresh-singletons-batch3/RECON.md`.

## Recon refs
- `_council/2026-05-28-recon-fresh-bestiary/RECON.md` (nav, nav_inner, tick_claims)
- `_council/2026-05-28-recon-fresh-phoenix/RECON.md` (do_restore)
- `_council/2026-05-28-recon-fresh-spirit_tome/RECON.md` (display_quest)
- `_council/2026-05-28-recon-fresh-singletons-batch1/RECON.md` (biome_mastery/titles/leave_teams, bosses/give_totem, claim/bulk_claim_stage, competition/score/forge_item, crop_harvest/try_ingredient_drop)
- `_council/2026-05-28-recon-fresh-singletons-batch2/RECON.md` (difficulty/check_lock, duel/team/receive, dyeing/consume_dye, gacha/pull/try_pull, items/salvation_check, laborer/dismiss)
- `_council/2026-05-28-recon-fresh-singletons-batch3/RECON.md` (mount_training/recall_find, pet_duel/challenge, raids/boss/setup/sync_hp, world/crop_replant/scan; note `raids/boss/setup/sync_hp` superseded by `setup/apply_hp`)

## Reversibility
If any candidate is needed back:

```
git mv data/.archive/2026-05-28-scattered-residue/<path> data/evercraft/function/<path>
```

Then wire consumers per the recon's evidence column.

## Pre-ship verification
Strict-token grep on each of the 20 candidates returned 0 live function-call sites. Apparent substring hits (5 candidates: `nav_inner`, `bulk_claim_stage`, `duel/team/receive`, `gacha/pull/try_pull`, `pet_duel/challenge`) were all matches against differently-named sibling functions (`_named`, `_animated`, `_accept`, `_target`, or sole-caller of an also-archived orphan). All hand-disambiguated before the move.

## Post-ship verification
Re-grep across `data/evercraft/{function,tags,advancement,loot_table,predicate,recipe,item_modifier}/` and `data/minecraft/` for any references to the archived paths: 0 hits. 0 regressions.

## Audit-bug context
This sweep landed BEFORE the 5 v2-regen audit bugs (DA-1 through DA-7 per `BIG_BRAIN/10-pending.md`) are patched. The list was hand-verified per-recon, not pulled from the broken raw output.

## NOT included (separate-track preserved)
- `quests/advancement_rewards/grant_world_boss_conqueror.mcfunction` — RECONSTRUCT path, parallel agent.
- `treasure/treasure/mythical/set.mcfunction` — Wiring Audit #3.
- `story/test/debug.mcfunction` + `story/test/reset_all.mcfunction` — intentional dev fixtures.
- `phoenix/give`, `spirit_tome/give`, `spirit/give_crystal`, `tome/give`, `transmute/give`, `structures/storage/reset_all`, `admin/strip_structure_chests*` — admin-grant pattern PRESERVED class-wide per DA-D1.
