Expand description
The task loop of the experimental --use-formal-ai mode (issue #255).
Mirrors js/src/lib/formal-ai.js.
The natural-language request goes to Formal AI verbatim. Formal AI decides what to observe and which tool calls to make; start checks every call against the effect policy, runs approved calls, reports each receipt back and keeps evidence of what actually happened. The run ends when Formal AI gives its final answer, says it did not understand, or a bound, refusal, protocol error or cancellation stops it, and the exit status says which.
A final answer that is a known capability gap (issue #258) is reported as incomplete with a nonzero exit, and structured read, edit and write calls run under the same workspace policy as bash commands.
Structs§
- Outcome
- The final state of a run.
- Task
Options - What one task run needs besides the Formal AI client.
Functions§
- describe_
effects - Observed working-directory changes, in words.
- describe_
gap - Capability gap, in words.
- gap_
obligations - What a capability gap leaves to do, and how to offer the change tools.
- run_
formal_ ai_ task - Run one request to completion. Fills
evidence(a JSON object) as it goes, setsevidence.outcomeand returns the outcome. - signal_
exit - Exit status of a cancellation by signal name (128 + signal number).