Campaign a2a-ironclaw-v0.6.2-rc.0-r3 FAIL
Infrastructure
Node roster
| # | Role | Agent ID | Public IP | Private IP |
|---|---|---|---|---|
| 1 | agent | ai:alice | 64.225.16.11 | 10.251.0.5 |
| 2 | agent | ai:bob | 159.65.47.150 | 10.251.0.2 |
| 3 | agent | ai:charlie | 157.245.216.59 | 10.251.0.3 |
| 4 | memory-only | — | 104.131.11.95 | 10.251.0.4 |
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.
| Node | Agent | Framework | Authentic | MCP ai-memory | xAI cfg | xAI default | Agent ID | Federation | UFW off | iptables | dead-man | F1 xAI | F2a substrate | F2b agent (non-gating) | Config SHA | Pass |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| node-1 | ai:alice | ironclaw ironclaw 0.26.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | — | 8800309d345b | FAIL |
| node-2 | ai:bob | ironclaw ironclaw 0.26.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | — | 96604976c07b | FAIL |
| node-3 | ai:charlie | ironclaw ironclaw 0.26.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | — | 6ff3891538ec | FAIL |
a2a-baseline.json
{
"baseline_pass": false,
"per_node": [
{
"spec_version": "1.2.0",
"agent_type": "ironclaw",
"agent_id": "ai:alice",
"node_index": "1",
"framework_version": "ironclaw 0.26.0",
"ai_memory_version": "0.6.2-rc.0",
"peer_urls": "http://10.251.0.2:9077,http://10.251.0.3:9077,http://10.251.0.4:9077",
"config_file_sha256": "8800309d345bd72034caf614c89b58480bccc788ab89d72d0df16fe302780963",
"config_attestation": {
"framework_is_authentic": true,
"mcp_server_ai_memory_registered": true,
"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": false,
"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": "10552b7b-516c-4247-81c5-9c94b9fe82fc",
"agent_mcp_canary_f2b": false,
"agent_mcp_canary_uuid": "6d8d5f20-de28-4ab4-bb53-97d65bd826fb",
"agent_canary_response_head": "",
"_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.2:9077:OK,10.251.0.3:9077:OK,10.251.0.4: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": "10552b7b-516c-4247-81c5-9c94b9fe82fc",
"canary_namespace": "_baseline_canary_f2a"
},
"baseline_pass": false
},
{
"spec_version": "1.2.0",
"agent_type": "ironclaw",
"agent_id": "ai:bob",
"node_index": "2",
"framework_version": "ironclaw 0.26.0",
"ai_memory_version": "0.6.2-rc.0",
"peer_urls": "http://10.251.0.5:9077,http://10.251.0.3:9077,http://10.251.0.4:9077",
"config_file_sha256": "96604976c07b99f6f9a8ab3c4d8abd503f402a0265bfa309223dc5f2ad79f739",
"config_attestation": {
"framework_is_authentic": true,
"mcp_server_ai_memory_registered": true,
"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": false,
"a2a_gate_profile_locked": true
},
"functional_probes": {
"xai_grok_chat_reachable": false,
"xai_grok_sample_reply": "",
"substrate_http_canary_f2a": true,
"substrate_http_canary_uuid": "8cce46b5-f0e8-4b6b-b1b6-70c414cdb119",
"agent_mcp_canary_f2b": false,
"agent_mcp_canary_uuid": "46dd73b6-493c-4c3d-aaa2-f0db38d84634",
"agent_canary_response_head": "",
"_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.3:9077:OK,10.251.0.4: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": "8cce46b5-f0e8-4b6b-b1b6-70c414cdb119",
"canary_namespace": "_baseline_canary_f2a"
},
"baseline_pass": false
},
{
"spec_version": "1.2.0",
"agent_type": "ironclaw",
"agent_id": "ai:charlie",
"node_index": "3",
"framework_version": "ironclaw 0.26.0",
"ai_memory_version": "0.6.2-rc.0",
"peer_urls": "http://10.251.0.5:9077,http://10.251.0.2:9077,http://10.251.0.4:9077",
"config_file_sha256": "6ff3891538ec7f59d682552aedbb94a348f412d584ec4393f8a708340947dc20",
"config_attestation": {
"framework_is_authentic": true,
"mcp_server_ai_memory_registered": true,
"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": false,
"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": "09a10355-2af4-46a3-8505-431c2afa7cd3",
"agent_mcp_canary_f2b": false,
"agent_mcp_canary_uuid": "633b5c55-20a6-4b98-ab33-5a3606f03ccc",
"agent_canary_response_head": "",
"_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.2:9077:OK,10.251.0.4: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": "09a10355-2af4-46a3-8505-431c2afa7cd3",
"canary_namespace": "_baseline_canary_f2a"
},
"baseline_pass": false
}
],
"failure_mode": "baseline-violation"
}
AI NHI analysis
No per-campaign narrative recorded yet. scripts/analyze_run.py will generate one on the next dispatch.