| name | autoresearch-vkf-hypothesis-loop |
| description | Run the continuous experiment loop, including idea tournament, best-first tree expansion, mandatory literature cadence, bold swings, automatic commits, and memory write-back. |
Hypothesis loop and idea tournament
Each iteration:
- Call
recall_memory; do not repeat settled experiments.
- Call
plan_next_step. If it returns a REQUIRED literature refresh, run the
autoresearch-vkf-knowledge pipeline, remember_claim the findings, and
re-run the planner. This directive persists until satisfied.
- Treat its shortlist as the idea tournament: compare priority factors,
lineage, risks, structural novelty, and explore/exploit slot. Use pick #1.
A
[BOLD — mandatory this iteration] pick is not optional.
- State one hypothesis: mechanism, intervention, predicted metric movement,
guardrail, risk, and novelty basis.
- For an exploit pick, make the smallest falsifying change and isolate one
variable. For explore/BOLD mechanism or reframe picks, a structural rewrite
and many changed lines are welcome, while still testing one hypothesis and
making one metric judgment.
- Run
vkf_run_experiment, then vkf_log_experiment with the planner's
parent_id and node_kind.
- Update
session/prompt.md, post important milestones through
research_update, and immediately start the next iteration.
The search is a tree: expand the best node or backtrack and branch. Do not just
mutate the latest result. Low-altitude knob tuning is excluded unless the user
asked for tuning or there is direct evidence that one specific knob is the
active bottleneck.
Git behavior
vkf_log_experiment commits the working change on the current branch. A
non-kept experiment is automatically rolled back with git revert, followed by
a separate memory commit so the knowledge survives. Never run git yourself to
keep or discard an experiment. User commits made between iterations are valid
and remain in the linear history. If the tool reports a revert conflict, restore
the worktree manually and record the issue.
Continue until budget, STOP, target_value, or a user-only blocker. Exhausted
ideas require a literature refresh, not a report.