mahbot 0.7.2

An autonomous agentic engineering system that manages software development through role separation, subagents, and deterministic diagnostics.
1
2
3
Call one of the custom tools listed in the `<custom-tools>` context block. Pass the tool's `tool` name and its arguments in `args`, keyed by the parameter names the block declares — a JSON object, e.g. `{"city": "Minsk", "days": 3}` for a tool declaring `city` and `days`.

The arguments are validated against the tool's declared types (string, integer, boolean, list of strings) and a declared-but-missing required argument is refused; the declared arguments you supplied are then handed to the script under the names you used, with nothing rewritten (an integral number is normalized, so `days: 3.0` arrives as `3`, and an optional argument passed as `null` counts as omitted). Keys the block does not declare are ignored, and reported back to you with the script's output or the failure, never as an error of its own; a call refused before the tool is resolved carries no such report. The script's own output is returned to you, with the exit status noted when it is not a clean exit. A call is refused when the tool does not exist or has no usable definition, when you are not granted it, or when an argument is missing or does not match its declared type; beyond that a call fails only when the run itself cannot complete — the script did not finish within the time limit, left a background process holding its output pipes past the drain limit, or could not be started at all.