../ runs index

Campaign a2a-openclaw-v0.6.1-r22 FAIL

Agent group
openclaw (homogeneous)
ai-memory ref
v0.6.1
Completed at
2026-04-21T16:36:29Z
Overall pass
false
Skipped reports
0

Infrastructure

Provider
digitalocean
Region
nyc3
Droplet size
s-4vcpu-8gb
Topology
4-node federation mesh (W=2/N=4)
Scenarios started
Scenarios ended
Dispatched by
alphaonedev
Harness SHA
d4dc21e0f280
Workflow run
https://github.com/alphaonedev/ai-memory-ai2ai-gate/actions/runs/24733766168

Node roster

#RoleAgent IDPublic IPPrivate IP
1agentai:alice161.35.176.11310.251.0.3
2agentai:bob159.203.137.2210.251.0.5
3agentai:charlie159.65.177.2710.251.0.4
4memory-only45.55.142.24910.251.0.2

Baseline attestation BASELINE VIOLATION

Per the authoritative baseline spec, every agent node must emit a self-attestation before any scenario is permitted to run. This run's attestation:

Spec version: 1.2.0 — see authoritative baseline.

NodeAgentFrameworkAuthenticMCP ai-memoryxAI cfgxAI defaultAgent IDFederationUFW offiptablesdead-manF1 xAIF2a substrateF2b agent (non-gating)Config SHAPass
node-1ai:aliceopenclaw OpenClaw 2026.4.15 (041266a)06e02f44d9c9FAIL
node-2ai:bobopenclaw OpenClaw 2026.4.15 (041266a)6c36a215d114FAIL
node-3ai:charlieopenclaw OpenClaw 2026.4.15 (041266a)da066e1ee3d1FAIL
a2a-baseline.json
{
	"baseline_pass": false,
	"per_node": [
		{
			"spec_version": "1.2.0",
			"agent_type": "openclaw",
			"agent_id": "ai:alice",
			"node_index": "1",
			"framework_version": "OpenClaw 2026.4.15 (041266a)",
			"ai_memory_version": "0.6.1",
			"peer_urls": "http://10.251.0.5:9077,http://10.251.0.4:9077,http://10.251.0.2:9077",
			"config_file_sha256": "06e02f44d9c9b3d8ce5e94237742736678ae6cfa4a6eac62cbab12323abf6124",
			"config_attestation": {
				"framework_is_authentic": true,
				"mcp_server_ai_memory_registered": false,
				"llm_backend_is_xai_grok": true,
				"llm_is_default_provider": true,
				"mcp_command_is_ai_memory": true,
				"agent_id_stamped": true,
				"federation_live": true,
				"ufw_disabled": true,
				"iptables_flushed": true,
				"dead_man_switch_scheduled": true
			},
			"negative_invariants": {
				"_description": "Alternative A2A channels must be OFF so a passing scenario is only passing via ai-memory shared memory. Any true here = thesis-preserving.",
				"a2a_protocol_off": true,
				"sub_agent_or_sessions_spawn_off": true,
				"alternative_channels_off": true,
				"tool_allowlist_is_memory_only": true,
				"a2a_gate_profile_locked": true
			},
			"functional_probes": {
				"xai_grok_chat_reachable": true,
				"xai_grok_sample_reply": "READY",
				"substrate_http_canary_f2a": true,
				"substrate_http_canary_uuid": "e00b98a0-7224-42c2-8596-22390b7bbd7d",
				"agent_mcp_canary_f2b": false,
				"agent_mcp_canary_uuid": "d47aca4d-51fd-4143-a474-f2b75c75ed54",
				"agent_canary_response_head": "error: unknown command 'run' (Did you mean cron?) ",
				"_f2b_note": "F2b is LLM-dependent and non-blocking. F2a (deterministic HTTP substrate) gates baseline_pass.",
				"mesh_connectivity_f4": true,
				"mesh_edges_ok": 3,
				"mesh_edges_total": 3,
				"mesh_edges_detail": "10.251.0.5:9077:OK,10.251.0.4:9077:OK,10.251.0.2:9077:OK",
				"_f4_note": "F4 verifies this local nodes N-1 OUTBOUND mesh edges to every peer via both GET health and POST sync_push dry_run. Aggregator ANDs across N nodes to confirm full N*(N-1) bidirectional reachability. Gates baseline_pass.",
				"agent_mcp_ai_memory_canary": true,
				"canary_uuid": "e00b98a0-7224-42c2-8596-22390b7bbd7d",
				"canary_namespace": "_baseline_canary_f2a"
			},
			"baseline_pass": false
		},
		{
			"spec_version": "1.2.0",
			"agent_type": "openclaw",
			"agent_id": "ai:bob",
			"node_index": "2",
			"framework_version": "OpenClaw 2026.4.15 (041266a)",
			"ai_memory_version": "0.6.1",
			"peer_urls": "http://10.251.0.3:9077,http://10.251.0.4:9077,http://10.251.0.2:9077",
			"config_file_sha256": "6c36a215d1143357dd649f15549730bef64c503844b91e0550137312002b494d",
			"config_attestation": {
				"framework_is_authentic": true,
				"mcp_server_ai_memory_registered": false,
				"llm_backend_is_xai_grok": true,
				"llm_is_default_provider": true,
				"mcp_command_is_ai_memory": true,
				"agent_id_stamped": true,
				"federation_live": true,
				"ufw_disabled": true,
				"iptables_flushed": true,
				"dead_man_switch_scheduled": true
			},
			"negative_invariants": {
				"_description": "Alternative A2A channels must be OFF so a passing scenario is only passing via ai-memory shared memory. Any true here = thesis-preserving.",
				"a2a_protocol_off": true,
				"sub_agent_or_sessions_spawn_off": true,
				"alternative_channels_off": true,
				"tool_allowlist_is_memory_only": true,
				"a2a_gate_profile_locked": true
			},
			"functional_probes": {
				"xai_grok_chat_reachable": true,
				"xai_grok_sample_reply": "READY",
				"substrate_http_canary_f2a": true,
				"substrate_http_canary_uuid": "4a07adf9-8d51-4503-92f1-037f8074ca92",
				"agent_mcp_canary_f2b": false,
				"agent_mcp_canary_uuid": "1f53129f-fb37-48d0-bb60-f85c4e4c3e84",
				"agent_canary_response_head": "error: unknown command 'run' (Did you mean cron?) ",
				"_f2b_note": "F2b is LLM-dependent and non-blocking. F2a (deterministic HTTP substrate) gates baseline_pass.",
				"mesh_connectivity_f4": true,
				"mesh_edges_ok": 3,
				"mesh_edges_total": 3,
				"mesh_edges_detail": "10.251.0.3:9077:OK,10.251.0.4:9077:OK,10.251.0.2:9077:OK",
				"_f4_note": "F4 verifies this local nodes N-1 OUTBOUND mesh edges to every peer via both GET health and POST sync_push dry_run. Aggregator ANDs across N nodes to confirm full N*(N-1) bidirectional reachability. Gates baseline_pass.",
				"agent_mcp_ai_memory_canary": true,
				"canary_uuid": "4a07adf9-8d51-4503-92f1-037f8074ca92",
				"canary_namespace": "_baseline_canary_f2a"
			},
			"baseline_pass": false
		},
		{
			"spec_version": "1.2.0",
			"agent_type": "openclaw",
			"agent_id": "ai:charlie",
			"node_index": "3",
			"framework_version": "OpenClaw 2026.4.15 (041266a)",
			"ai_memory_version": "0.6.1",
			"peer_urls": "http://10.251.0.3:9077,http://10.251.0.5:9077,http://10.251.0.2:9077",
			"config_file_sha256": "da066e1ee3d10201106337f2561e38340870fd1257bad3907b88e1ba6f61f89f",
			"config_attestation": {
				"framework_is_authentic": true,
				"mcp_server_ai_memory_registered": false,
				"llm_backend_is_xai_grok": true,
				"llm_is_default_provider": true,
				"mcp_command_is_ai_memory": true,
				"agent_id_stamped": true,
				"federation_live": true,
				"ufw_disabled": true,
				"iptables_flushed": true,
				"dead_man_switch_scheduled": true
			},
			"negative_invariants": {
				"_description": "Alternative A2A channels must be OFF so a passing scenario is only passing via ai-memory shared memory. Any true here = thesis-preserving.",
				"a2a_protocol_off": true,
				"sub_agent_or_sessions_spawn_off": true,
				"alternative_channels_off": true,
				"tool_allowlist_is_memory_only": true,
				"a2a_gate_profile_locked": true
			},
			"functional_probes": {
				"xai_grok_chat_reachable": true,
				"xai_grok_sample_reply": "READY",
				"substrate_http_canary_f2a": true,
				"substrate_http_canary_uuid": "c777f189-4109-4088-9f55-5f377f4090a4",
				"agent_mcp_canary_f2b": false,
				"agent_mcp_canary_uuid": "b18caf3b-dc28-4201-91b6-6fb9391d96fa",
				"agent_canary_response_head": "error: unknown command 'run' (Did you mean cron?) ",
				"_f2b_note": "F2b is LLM-dependent and non-blocking. F2a (deterministic HTTP substrate) gates baseline_pass.",
				"mesh_connectivity_f4": true,
				"mesh_edges_ok": 3,
				"mesh_edges_total": 3,
				"mesh_edges_detail": "10.251.0.3:9077:OK,10.251.0.5:9077:OK,10.251.0.2:9077:OK",
				"_f4_note": "F4 verifies this local nodes N-1 OUTBOUND mesh edges to every peer via both GET health and POST sync_push dry_run. Aggregator ANDs across N nodes to confirm full N*(N-1) bidirectional reachability. Gates baseline_pass.",
				"agent_mcp_ai_memory_canary": true,
				"canary_uuid": "c777f189-4109-4088-9f55-5f377f4090a4",
				"canary_namespace": "_baseline_canary_f2a"
			},
			"baseline_pass": false
		}
	],
	"failure_mode": "baseline-violation"
}

raw file

AI NHI analysis

No per-campaign narrative recorded yet. scripts/analyze_run.py will generate one on the next dispatch.

All artifacts