island-select
Goal:
- Select the next island strategy and parent hypothesis set for one evolution round.
Inputs:
islands/ISLANDS.json- current viable
hypotheses/<id>/HYPOTHESIS.jsonfrontier iteration_count- numeric island-selection settings from
state/RESOLVED_RUN_CONFIG.json
Outputs:
- deterministic
SelectionResult - selection strategy
- selected parent hypotheses
- when consumed by routing, updated
state/STRATEGY_PLAN.jsonsignals
Context Loading:
- Open
skills/shared-references/schema-index.md. - Read
packages/agent_contracts/state.pyand confirm the exactIslandStateContractshape used insideislands/ISLANDS.json. - Read
packages/agent_contracts/hypothesis.pyfor the exactHypothesisContractshape. - Read
packages/agent_contracts/resolved_config.pyfor the island numeric settings. - When the result is persisted into routing state, also read
packages/agent_contracts/strategy_plan.py.
Execution Contract:
- This skill is deterministic and must not call an LLM.
- Use
from tools import select_island_hypothesesas the stable invocation surface. - The exported helper is implemented in
packages/agent_mechanics/island_select.py. - The helper signature is
select_island_hypotheses(islands, hypotheses, iteration_count, ucb_exploration_constant=..., softmax_temperature=..., stagnation_epsilon=...) -> SelectionResult. - The helper is the canonical implementation of UCB island selection, stagnation-triggered multi-island fallback, and Elo-softmax parent sampling.
islands/ISLANDS.jsonis the only canonical persisted island source for this skill. Do not read, repair from, or writestate/ISLANDS.json.- If
islands/ISLANDS.jsonis missing, invalid, or uses deprecated item keys such asisland_id,reward,stagnation_count, orlast_updated, stop and report an invalid canonical island artifact instead of selecting parents.
Execution Steps:
- Open
skills/shared-references/schema-index.md, then readpackages/agent_contracts/state.py,packages/agent_contracts/hypothesis.py, andpackages/agent_contracts/resolved_config.py. - Load island state from
islands/ISLANDS.jsonand the current viable hypotheses from their canonicalHYPOTHESIS.jsonartifacts. Rejectstate/ISLANDS.jsonas a non-canonical legacy path. - Read
iteration_countand the island numeric settings fromstate/RESOLVED_RUN_CONFIG.json. - Call
tools.select_island_hypotheses(...)with the canonical inputs. - Return the
SelectionResultto the caller. When used by routing, persist:signals.selection_strategysignals.selected_parent_idssignals.selected_island_ids
- Validate any updated
state/STRATEGY_PLAN.jsonartifact before declaring completion.
Artifact Rules:
- Do not replace the helper with ad hoc manual parent choice when the canonical artifacts are available.
- When routing persists the result, the selected parent set becomes the only valid parent set for the next child hypothesis in that round.
islands/ISLANDS.jsonremains the canonical source of island reward and visit statistics; this skill reads it but does not mutate it.- Canonical island items must use
id,decayed_reward,decayed_visits, andvisit_count. Deprecated aliases are not accepted as selection inputs.
Completion Rule:
- This skill is complete only when the deterministic selection result has been produced and any caller-owned routing artifact has been updated consistently with that result.
微信扫一扫