Governor-review bounce (PR #12) fixes on issue-3:
1. Maple IS F2P — restored as an optional level-45 tier. The only F2P
maples are the 4 trees in the Corsair Cove Resource Area (requires
Dragon Slayer I to enter), per the Free-to-play Woodcutting training
guide and Maple tree page (members1=No @ Corsair Cove). Entry no
longer labels Maple itself members-only; the quest gate is in
accounts.requires_quest and the tier route table.
2. XP-versus-income mode is now explicit: state machine and a1 gate-tier
take a mode parameter — XP mode stays on Willow (or Maple with Dragon
Slayer I) after 60; income mode selects Yew at Edgeville. The guide:
yew logs 'earn a profit' but 'it is recommended to cut willow or
maple trees for experience'. Default is XP mode; income must be an
explicit run parameter.
3. Bank loop is now executable and tier-specific: actions split into
walk-to-bank (a5) + deposit-logs (a6) + walk-back-to-trees (a7), and
the state machine pins chop -> walk_to_bank -> deposit_logs ->
walk_back -> chop with dedicated states. Per-tier tree+bank routes
(Lumbridge/Draynor/Edgeville/Corsair Cove) replace the hardcoded
Draynor-for-everything; Yew is routed to Edgeville (guide: 'best
place to chop yew trees is south of Edgeville bank').
4. Combat gate instead of a false no-combat claim: the Draynor willow
spot sits between two aggressive level-7 Dark Wizards that attack
players under combat 15 (Draynor Village wiki page). Accounts below
combat 15 are routed to the single Edgeville willow (bank adjacent);
relog/respawn N/A now scoped to the gated routes only, and the risk
notes call out Draynor as a combat zone for low-level accounts.
Tests: python3 tools/validate.py -> 2 entries, 0 errors, 1 pre-existing
warning (researched flag on low-alch-f2p, owned by issue #5's PR);
merged-tree check (main 79cab78 + head) keeps the issue-6 catalog,
gate clean; git diff --check clean.