{
  "run_meta": {
    "run_timestamp": "2026-03-25T18:03:00.628899+00:00",
    "base_url": "http://127.0.0.1:8485",
    "config": "tests/results/20260325T175332Z/runtime_test_genesis.jsonc",
    "binary": "didactyl_static_x86_64_debug",
    "test_count": 43
  },
  "results": [
    {
      "suite": "test_conversation",
      "name": "simple_greeting",
      "status": "pass",
      "message": "greeting response ok",
      "duration_seconds": 0.7118723430030514,
      "agent_errors": [
        "[2026-03-25 13:53:38] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {
        "response": "LLM request failed."
      }
    },
    {
      "suite": "test_conversation",
      "name": "agent_responds_about_itself",
      "status": "error",
      "message": "AssertionError('response missing expected identity terms')",
      "duration_seconds": 0.6928808490010852,
      "agent_errors": [
        "[2026-03-25 13:53:39] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_conversation",
      "name": "empty_message_handling",
      "status": "pass",
      "message": "empty message handled",
      "duration_seconds": 0.7150301859983301,
      "agent_errors": [
        "[2026-03-25 13:53:40] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {
        "success": true
      }
    },
    {
      "suite": "test_conversation",
      "name": "very_long_message",
      "status": "timeout",
      "message": "timed out",
      "duration_seconds": 74.40904328100078,
      "agent_errors": [],
      "details": {}
    },
    {
      "suite": "test_errors",
      "name": "invalid_json_body",
      "status": "pass",
      "message": "invalid json rejected",
      "duration_seconds": 0.3312758339998254,
      "agent_errors": [],
      "details": {
        "status": 400
      }
    },
    {
      "suite": "test_errors",
      "name": "missing_message_field",
      "status": "pass",
      "message": "missing message rejected",
      "duration_seconds": 0.33221357599904877,
      "agent_errors": [],
      "details": {
        "status": 400
      }
    },
    {
      "suite": "test_errors",
      "name": "unknown_endpoint",
      "status": "pass",
      "message": "unknown endpoint 404",
      "duration_seconds": 0.33083409500250127,
      "agent_errors": [],
      "details": {
        "status": 404
      }
    },
    {
      "suite": "test_errors",
      "name": "webhook_nonexistent_dtag",
      "status": "pass",
      "message": "nonexistent d_tag 404",
      "duration_seconds": 0.3310678790003294,
      "agent_errors": [],
      "details": {
        "status": 404
      }
    },
    {
      "suite": "test_health",
      "name": "status_returns_200",
      "status": "pass",
      "message": "status success",
      "duration_seconds": 0.3312179879976611,
      "agent_errors": [],
      "details": {
        "keys": [
          "success",
          "name",
          "version",
          "pubkey",
          "relay_count",
          "connected_relays",
          "active_triggers"
        ]
      }
    },
    {
      "suite": "test_health",
      "name": "status_has_fields",
      "status": "pass",
      "message": "required fields present",
      "duration_seconds": 0.3311822950017813,
      "agent_errors": [],
      "details": {}
    },
    {
      "suite": "test_health",
      "name": "context_current_returns_messages",
      "status": "pass",
      "message": "context current ok",
      "duration_seconds": 0.33288373700270313,
      "agent_errors": [],
      "details": {
        "message_count": 2
      }
    },
    {
      "suite": "test_health",
      "name": "context_parts_has_system_prompt",
      "status": "pass",
      "message": "context parts ok",
      "duration_seconds": 0.33133809699938865,
      "agent_errors": [],
      "details": {
        "parts": [
          "system_prompt",
          "dm_history"
        ]
      }
    },
    {
      "suite": "test_restart",
      "name": "clean_restart",
      "status": "pass",
      "message": "restart succeeded",
      "duration_seconds": 4.6176964590013085,
      "agent_errors": [],
      "details": {}
    },
    {
      "suite": "test_restart",
      "name": "status_after_restart",
      "status": "pass",
      "message": "status stable after restart",
      "duration_seconds": 4.909773605002556,
      "agent_errors": [],
      "details": {
        "pubkey": "1eb171136dbb1ba695b2f14296adfe88a1f81d4220cc7d186b0e139b8ce0cdbc"
      }
    },
    {
      "suite": "test_restart",
      "name": "conversation_after_restart",
      "status": "pass",
      "message": "conversation works post-restart",
      "duration_seconds": 5.050862364001659,
      "agent_errors": [
        "[2026-03-25 13:55:16] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_timeouts",
      "name": "response_within_timeout",
      "status": "pass",
      "message": "response within timeout",
      "duration_seconds": 0.7110072859977663,
      "agent_errors": [
        "[2026-03-25 13:55:17] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {
        "elapsed": 0.7109956109998166
      }
    },
    {
      "suite": "test_timeouts",
      "name": "status_responds_fast",
      "status": "pass",
      "message": "status fast",
      "duration_seconds": 0.3315564660006203,
      "agent_errors": [],
      "details": {
        "elapsed": 0.33155244100271375
      }
    },
    {
      "suite": "test_timeouts",
      "name": "context_responds_fast",
      "status": "pass",
      "message": "context fast",
      "duration_seconds": 0.3315621049987385,
      "agent_errors": [],
      "details": {
        "elapsed": 0.33155633700152976
      }
    },
    {
      "suite": "test_tools_blossom",
      "name": "blossom_list",
      "status": "error",
      "message": "AssertionError('expected tool blossom_list, got []')",
      "duration_seconds": 0.6940111899966723,
      "agent_errors": [
        "[2026-03-25 13:55:18] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_cashu",
      "name": "wallet_balance",
      "status": "timeout",
      "message": "timed out",
      "duration_seconds": 74.33774810400064,
      "agent_errors": [],
      "details": {}
    },
    {
      "suite": "test_tools_identity",
      "name": "get_pubkey",
      "status": "error",
      "message": "AssertionError('expected tool nostr_pubkey, got []')",
      "duration_seconds": 0.7191562530024385,
      "agent_errors": [
        "[2026-03-25 13:56:33] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_identity",
      "name": "get_npub",
      "status": "error",
      "message": "AssertionError('expected tool nostr_npub, got []')",
      "duration_seconds": 0.6996072969996021,
      "agent_errors": [
        "[2026-03-25 13:56:34] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_identity",
      "name": "agent_identity",
      "status": "error",
      "message": "AssertionError('expected tool agent_identity, got []')",
      "duration_seconds": 1.1282884260035644,
      "agent_errors": [
        "[2026-03-25 13:56:35] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_identity",
      "name": "agent_version",
      "status": "timeout",
      "message": "timed out",
      "duration_seconds": 74.35724607999873,
      "agent_errors": [],
      "details": {}
    },
    {
      "suite": "test_tools_identity",
      "name": "admin_identity",
      "status": "error",
      "message": "AssertionError('expected tool admin_identity, got []')",
      "duration_seconds": 0.7115610000000743,
      "agent_errors": [
        "[2026-03-25 13:57:50] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_memory",
      "name": "task_list",
      "status": "error",
      "message": "AssertionError('expected tool task_list, got []')",
      "duration_seconds": 0.7350317499985977,
      "agent_errors": [
        "[2026-03-25 13:57:51] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_memory",
      "name": "task_manage_add_remove",
      "status": "error",
      "message": "AssertionError('expected tool task_manage, got []')",
      "duration_seconds": 0.8766229059983743,
      "agent_errors": [
        "[2026-03-25 13:57:52] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_memory",
      "name": "memory_save_recall",
      "status": "timeout",
      "message": "timed out",
      "duration_seconds": 74.60836348800149,
      "agent_errors": [],
      "details": {}
    },
    {
      "suite": "test_tools_nostr",
      "name": "nostr_post_kind1",
      "status": "error",
      "message": "AssertionError('expected tool nostr_post, got []')",
      "duration_seconds": 0.7428539540014754,
      "agent_errors": [
        "[2026-03-25 13:59:07] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_nostr",
      "name": "nostr_query_recent",
      "status": "error",
      "message": "AssertionError('expected tool nostr_query, got []')",
      "duration_seconds": 0.7209930099998019,
      "agent_errors": [
        "[2026-03-25 13:59:08] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_nostr",
      "name": "nostr_my_events",
      "status": "error",
      "message": "AssertionError('expected tool nostr_my_events, got []')",
      "duration_seconds": 0.7880706729993108,
      "agent_errors": [
        "[2026-03-25 13:59:09] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_nostr",
      "name": "nostr_relay_status",
      "status": "timeout",
      "message": "timed out",
      "duration_seconds": 74.98576622600012,
      "agent_errors": [],
      "details": {}
    },
    {
      "suite": "test_tools_nostr",
      "name": "nostr_dm_send",
      "status": "error",
      "message": "AssertionError('expected tool nostr_dm_send, got []')",
      "duration_seconds": 0.7461701100000937,
      "agent_errors": [
        "[2026-03-25 14:00:24] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_nostr",
      "name": "nostr_encode_npub",
      "status": "error",
      "message": "AssertionError('expected tool nostr_encode, got []')",
      "duration_seconds": 0.7844162699984736,
      "agent_errors": [
        "[2026-03-25 14:00:25] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_nostr",
      "name": "nostr_profile_get",
      "status": "error",
      "message": "AssertionError('expected tool nostr_profile_get, got []')",
      "duration_seconds": 0.830511487001786,
      "agent_errors": [
        "[2026-03-25 14:00:26] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_skills",
      "name": "skill_list",
      "status": "timeout",
      "message": "timed out",
      "duration_seconds": 74.52532047299974,
      "agent_errors": [],
      "details": {}
    },
    {
      "suite": "test_tools_skills",
      "name": "trigger_list",
      "status": "error",
      "message": "AssertionError('expected tool trigger_list, got []')",
      "duration_seconds": 0.8572921800005133,
      "agent_errors": [
        "[2026-03-25 14:01:41] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_skills",
      "name": "skill_create_and_remove",
      "status": "error",
      "message": "AssertionError('expected tool skill_create, got []')",
      "duration_seconds": 0.7580235309978889,
      "agent_errors": [
        "[2026-03-25 14:01:42] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_system",
      "name": "tool_list",
      "status": "error",
      "message": "AssertionError('expected tool tool_list, got []')",
      "duration_seconds": 1.2565209330023208,
      "agent_errors": [
        "[2026-03-25 14:01:43] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_system",
      "name": "model_get",
      "status": "timeout",
      "message": "timed out",
      "duration_seconds": 74.51243137799975,
      "agent_errors": [],
      "details": {}
    },
    {
      "suite": "test_tools_system",
      "name": "model_list",
      "status": "error",
      "message": "AssertionError('expected tool model_list, got []')",
      "duration_seconds": 0.7136340130018652,
      "agent_errors": [
        "[2026-03-25 14:02:58] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_system",
      "name": "local_http_fetch",
      "status": "error",
      "message": "AssertionError('expected tool local_http_fetch, got []')",
      "duration_seconds": 0.7562634130008519,
      "agent_errors": [
        "[2026-03-25 14:02:59] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    },
    {
      "suite": "test_tools_system",
      "name": "config_store_recall",
      "status": "error",
      "message": "AssertionError('expected tool config_store, got []')",
      "duration_seconds": 0.7716166019999946,
      "agent_errors": [
        "[2026-03-25 14:03:00] [ERROR] [llm.c:93] [didactyl] llm http request failed: status=401"
      ],
      "details": {}
    }
  ],
  "summary": {
    "pass": 16,
    "error": 20,
    "timeout": 7
  }
}