"ok" key — failures never raise into the agent loop; they come back as {"ok": false, "error": "..."}.
Operations
Mailbox
| Operation | Purpose |
|---|---|
harness_mailbox_list | Pending notice summaries plus mailbox status (count, max severity). |
harness_mailbox_read | One notice in full, including its trace dump. |
harness_mailbox_ack | Acknowledge a pending notice, optionally linking the resolving rule. |
Investigation
| Operation | Purpose |
|---|---|
harness_trace_inspect | One flagged trace via the platform: the trace, its TOOL spans, and its trace-level scores. |
harness_history | Score trajectory for a metric: the local per-session series plus backend session scores. |
harness_journal | Recent journal events — the cross-run memory for spotting recurring patterns. |
Rules
| Operation | Purpose |
|---|---|
harness_rule_add | Record a mitigation rule with rationale and provenance. Starts as a candidate (see Rule validation); dedup-safe; fails at the rule cap. |
harness_rule_retire | Retire a rule (candidate or active) that proved ineffective or obsolete. |
harness_rule_status | A rule’s lifecycle state plus its validation bookkeeping — baseline vs. trial breach rate, sessions observed, and the verdict — so the agent can see why a rule was promoted or retired. |
harness_rules_search | Search the whole rule set by lexical relevance — everything beyond the context top-k stays reachable. |
harness_rules_list | List rules by lifecycle status (candidate / active / retired). |
harness_reflect | Assembled cross-run context for a rules refactor: recent notices, active + candidate rules, recent validation outcomes, and per-rule effectiveness counts. |
Eval set
| Operation | Purpose |
|---|---|
harness_evalset_list | Captured eval cases: failure scenarios and protected wins. |
harness_evalset_attach | Attach a replay input to an eval case so it becomes replayable. |
Example: one healing pass
The standing protocol drives this sequence for each pending notice:Delivery channels
Native tool registration
Convert the toolset into your framework’s tool format in one call:- Anthropic
- LangChain
- OpenAI Agents
The companion CLI
For sandboxed or framework-less agents, the same operations ship as an allow-listed binary the agent can call through a restricted shell:- The workspace is resolved from
HARNESS_*environment variables; the platform is reached through thepandaprobebinary. --key valuepairs; values are parsed as JSON when possible, else taken as strings;--dashed-keysmap tosnake_case.- Output is the JSON envelope on stdout; exit code
0iffok.
RestrictedShellTool (harness.shell) allow-lists exactly this binary and pandaprobe, scrubs credential-shaped environment variables from everything else, and blocks path escapes — see the security model.
