recon + sqlglot validator + drill_down package; guard ReAct dimension picks against candidate list
This commit is contained in:
@@ -6,7 +6,16 @@ Output: a JSON object with exactly this shape, in one fenced ```json block:
|
||||
{
|
||||
"rationale": "<one sentence on why this plan>",
|
||||
"steps": [
|
||||
{"analysis": "<analysis_name>", "args": { ... }, "why": "<one sentence>"}
|
||||
{
|
||||
"analysis": "<analysis_name>",
|
||||
"args": { ... },
|
||||
"why": "<one sentence>",
|
||||
"fallback": { // OPTIONAL — see rules
|
||||
"analysis": "<analysis_name>",
|
||||
"args": { ... },
|
||||
"why": "<one sentence>"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -15,3 +24,4 @@ Rules:
|
||||
- The `args` keys must match the analysis's args_schema; additional keys are ignored, missing optional ones are fine.
|
||||
- Most questions are single-step. Only chain analyses when the second genuinely needs the first's output.
|
||||
- Comparing two periods is ONE `compare_periods` step, not two `direct_answer` steps.
|
||||
- A step's `fallback` is optional. Include one when the primary analysis is speculative (e.g. an exploratory `drill_down` that might find nothing useful) and there's a safer Analysis that can still produce an answer. The fallback runs only if the primary errors or yields no finding. Fallbacks must not themselves have fallbacks.
|
||||
|
||||
Reference in New Issue
Block a user