contract
9.1.0
Contract 9.1.0
The consistency pass (Jamie, 2026-09-25): decisions that had reached one tool now reach every tool they apply to, and the war family's old names go.
- A boat defense is not the member's battle: an enemy attacked the boat and the defense deck answered. It leaves
battles_performance(and its streak),battles_compare,battles_cards,battles_decks,battles_trends,clans_participationand the timeline's battle sessions; boat attacks stay. battles_performancewithout amodeandbattles_compare(which now takesmode) servemodes, the record split by mode family, and a note says the headline pools them.battles_trendsover the corpus counts recorded players only, like every other metric; a battle-stub player is a ghost entry, never a metric.clanMateand unrecognized battle types are casual in every mode group, never ranked or an event.- Battle deck cards carry
form(base,evolution,hero) beside the API's rawevolutionLevel. elixir_timelinetakesseasonlike every windowed tool, and says where a capped feed stops (timeline_more_to).war_current,war_rivalsandwar_historydrop theclan_scoreandour_clan_scorealiases (deprecated since 6.19.0; the names areclan_war_trophiesandour_clan_war_trophies), andwar_currentdropstraining_today(decks_today.day_kindsays it).- On a personal connection
on_behalf_ofis ignored andelixir_identifyandelixir_my_identitiesare not listed: they map an agent's other people, and a person is themselves. Omittingclan_tagmeans your primary player's clan; the brief names the other clans you track. elixir_track_playerrefuses to remove your primary player while you track others (bad_request): make another player primary first. It used to promote one silently.rankings_clan_ladderalways emitslocated_elsewhere;clans_standingsdeclarescurrent_streakas the object it is;elixir_collectorssays credits follow points.
Additive, with removals that are patches under the agent-facing rule (DECISIONS: majors track domain shifts). The JSON API mirrors none of the removed names and moves to 2.1.0 separately.