--navigator-renders-when-impossible
- CLI
- --navigator-renders-when-impossible
When the navigator answers IMPOSSIBLE, the navigation ends as one that succeeded and zshot exits 0. A goal output is the reason the navigator gave, and an llm_text or llm_json formatter reads it in its account of the navigation. Use it for a task the navigator may not be able to finish, where what it found is the answer: a JSON Schema with a field such as incomplete_reasons lets the formatter say what the form still needs. A navigation that runs out of steps or fails with an error still exits 9. The page the navigation ends on is judged by its HTTP status, so a session that stops on a form’s error page, often a 422, renders only with --no-fail.
Example
zshot -t llm_json -f claim.json \
--navigator-type "anthropic://YOUR_API_KEY@" \
--navigate "Fill in the claim form, or say what information it still needs" \
--navigator-renders-when-impossible \
--llm-format-expects '{"type":"object","properties":{"form_complete":{"type":"boolean"},"incomplete_reasons":{"type":"array","items":{"type":"string"}}},"required":["form_complete","incomplete_reasons"]}' \
https://example.com/claim{
"url": "https://example.com/claim",
"output_type": "llm_json",
"navigate": "Fill in the claim form, or say what information it still needs",
"navigator_renders_when_impossible": true,
"navigator_type": ["anthropic://YOUR_API_KEY@"],
"llm_format_expects": "{\"type\":\"object\",\"properties\":{\"form_complete\":{\"type\":\"boolean\"},\"incomplete_reasons\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"form_complete\",\"incomplete_reasons\"]}"
}curl -X POST http://127.0.0.1:3000/ \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/claim","output_type":"llm_json","navigate":"Fill in the claim form, or say what information it still needs","navigator_renders_when_impossible":true,"navigator_type":["anthropic://YOUR_API_KEY@"],"llm_format_expects":"{\"type\":\"object\",\"properties\":{\"form_complete\":{\"type\":\"boolean\"},\"incomplete_reasons\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"form_complete\",\"incomplete_reasons\"]}"}' \
-o claim.json