mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-25 20:05:46 -06:00
10e0e690df
Makes the Mantis Telegram Desktop proof agent programmable at its trust boundaries: declarative Bot API fault rules (drop/status per method), per-request scripted mock-provider responses, observe-until predicates (post-cursor events/text, cumulative provider count), and bounded proxy-side recording of outbound Bot API requests as trusted lane facts. Adds a reusable recipe library under .github/codex/prompts/mantis-recipes/ and raises the proof agent's reasoning effort to high. Security: the SUT container shadows proxy-control with an inaccessible tmpfs so candidate PR code sharing the mantis-sut uid cannot read or rewrite the proxy's recorded evidence; unmount is blocked by cap-drop/no-new-privileges. Proof doctrine now treats proxy-recorded Bot API facts as trusted comparison evidence and provider request logs as diagnostics. Follow-up named in PR: move the mock OpenAI server out of the SUT container so provider request facts also become candidate-tamper-proof.
1.2 KiB
1.2 KiB
Busy queue with scripted provider responses
Use when two turns overlap and response order or queue draining is under test.
Write provider-script.json:
{
"responses": [
{ "text": "slow first response", "chunkDelayMs": 5000 },
{ "text": "distinct second response" }
]
}
Then run each lane without changing provider controls mid-flight:
sha="$(sha256sum "$MANTIS_OUTPUT_DIR/provider-script.json" | cut -d ' ' -f1)"
lane="$OPENCLAW_TELEGRAM_MANTIS_LANE_CMD"
$lane start --lane baseline --repo-root "$MANTIS_BASELINE_ROOT" --config "$config"
$lane mock --lane baseline --script "$MANTIS_OUTPUT_DIR/provider-script.json" "$sha"
$lane send --lane baseline --text '@{sut} turn one'
$lane send --lane baseline --text '@{sut} turn two'
$lane observe --lane baseline --seconds 60 --until-text 'distinct second response' --until-provider-requests 2
$lane requests --lane baseline
$lane finish --lane baseline
Repeat for candidate. Proof facts: session events and recorded Bot API
messages show the slow first and distinct second outcomes without a
control-file race. The provider request log (scriptEntry 0 then 1, turn
order in bodies) is diagnostic context, not the comparison evidence.