convergence-checklisted
Install: claude install-skill panjose/Co-Scientist
# convergence-check
Goal:
- Evaluate whether a hypothesis newly entered the current top-k set and update the convergence counter deterministically.
Inputs:
- `hypothesis_id`
- `previous_top_k_ids`
- `current_top_k_ids`
- current convergence count
- caller-owned `state/EVOLUTION_STATE.json`
Outputs:
- `ConvergenceCheckResult`
- updated convergence count
- when consumed by the evolution loop, updated `state/EVOLUTION_STATE.json`
Context Loading:
- Open `skills/shared-references/schema-index.md`.
- Read `packages/agent_contracts/pipeline_control.py` and confirm the exact `EvolutionStateContract` shape before writing `state/EVOLUTION_STATE.json`.
- Treat the top-k sets as caller-supplied frontier inputs. This skill only evaluates the rule and updates the counter.
Execution Contract:
- This skill is deterministic and must not call an LLM.
- Use `from tools import evaluate_convergence` as the stable invocation surface.
- The exported helper is implemented in `packages/agent_mechanics/convergence_check.py`.
- The helper signature is `evaluate_convergence(hypothesis_id, previous_top_k_ids, current_top_k_ids, current_convergence_count) -> ConvergenceCheckResult`.
Execution Steps:
1. Open `skills/shared-references/schema-index.md`, then read `packages/agent_contracts/pipeline_control.py` before writing `state/EVOLUTION_STATE.json`.
2. Read the candidate `hypothesis_id`, the previous and current top-k sets, and the current convergence count.
3. Call `tools.evaluate_convergen