Perform web search with query optimization and fallback. Use when ArchE must gather live information, validate claims, or feed search results into synthesis or CFP; when workflows use action_type search_web.
The Archeologist (Mandate 2) does not wait to be told what is true; they dig. search_web is the shovel: it reaches into the live web, returns real snippets and links, and feeds multi-source verification. Query optimization (and optional LLM-derived queries) sharpens the cut so the first strike hits paydirt. Results are shaped for downstream synthesis and vetting.
action_type: search_web.| Parameter | Type | Required |
|---|
| Default |
|---|
| Description |
|---|
query | str | Yes | — | Search query (may be optimized internally). |
engine | str | No | "duckduckgo" | Search engine. |
num_results | int | No | 5 | Number of results to return. |
debug | bool | No | False | Enable debug logging. |
Callers may pass a single dict: perform_web_search({"query": "...", "num_results": 10}).
results: list of result items (title, link, snippet).success: bool.reflection / IAR: status, confidence, tactical_resonance, crystallization_potential (when wrapped).optimized_query, engine_used.generate_text_llm, synthesize_search_results, run_cfp (state vectors from research), perform_causal_inference (data), display_output.generate_text_llm (query generation), get_decider_catalog (capability-aware queries).{
"id": "gather_evidence",
"action_type": "search_web",
"inputs": {
"query": "Universal Basic Income pilot studies 2020-2025",
"num_results": 10
}
}