{"id":576529,"name":"Purple8 Hyper Graph","description":"AI-native complete backend infrastructure: Unified LPG + RDF + Hypergraph, vector search, structured tables, hybrid RAG, stateful workflows (SLAs + HITL), AEC/BIM engineering, SOC & SuperGraph, event automation, and cryptographic governance in one process. Send a question as text or name a skill to call any of the 176 tools.","card_url":"https://www.purple8.ai/.well-known/agent-card.json","endpoint":"https://purple8-graph-sandbox.fly.dev/a2a","protocol_version":"1.0","first_seen":"2026-11-08T22:30:11.585660+00:00","last_verified":"2026-11-08T22:30:11.585660+00:00","card":{"name":"Purple8 Hyper Graph","skills":[{"id":"admin","name":"admin.*","tags":["admin.audit_verify","admin.hold_list","admin.hold_place","admin.hold_release","admin.kms_status","admin.lineage_get","admin.recovery_status","admin.retention_delete","admin.retention_list","admin.retention_set","admin.retention_sweep","admin.smtp_configure","admin.smtp_status","admin.storage_scrub"],"description":"Cryptographic audit chain verification, legal holds, data retention policies, and SMTP administration. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"aec","name":"aec.*","tags":["aec.bim_clashes","aec.buildings_analyses","aec.buildings_delete","aec.buildings_demo","aec.buildings_get","aec.buildings_list","aec.buildings_run","aec.design_egress","aec.hypergraph_build","aec.ifc_rewrite","aec.mep_max_flow","aec.morl_generate","aec.mpnn_propagate","aec.spectral_fiedler","aec.structural_critical_members","aec.structural_rigidity","aec.topo_optimise","aec.vga_build"],"description":"AEC/BIM engineering vertical: stored BIM buildings, Space Syntax VGA, 2D/3D structural rigidity & critical members, BIM clash/change-impact, emergency egress, MEP max-flow/fault-impact, Laplacian spectral connectivity, 3D SIMP topology optimisation, MORL layout generation, MPNN physics surrogate, hypergraphs, and IFC rewriting. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"data","name":"data.*","tags":["data.commit","data.get_table","data.index_table_columns","data.ingest_file","data.ingest_text","data.link_table_rows","data.list_file_versions","data.list_files","data.patch_file_properties","data.query_table_rows","data.replace_file"],"description":"Commit entities, Markdown chunks, and structured tables directly (data.commit) or ingest 70+ file formats via DocIntel. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"egress","name":"egress.*","tags":["egress.add_sink","egress.list_sinks","egress.remove_sink","egress.status"],"description":"Stream graph and workflow changes to external HMAC-signed webhooks. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"evolution","name":"evolution.*","tags":["evolution.create_experiment","evolution.list_experiments","evolution.production","evolution.propose","evolution.rag_retrieval","evolution.report","evolution.routing_policy","evolution.suggest"],"description":"Evolutionary multi-objective optimisation for RAG parameters, model routing, and online experiments. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"feedback","name":"feedback.*","tags":["feedback.open","feedback.record","feedback.resolve","feedback.summary"],"description":"Collect and resolve human and agent quality feedback. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"graph","name":"graph.*","tags":["graph.add_edge","graph.add_edges_bulk","graph.add_node","graph.add_nodes_bulk","graph.articulation_points","graph.assert_statement","graph.attack_paths","graph.auto_config","graph.bipartite_check","graph.bipartite_matching","graph.bridges","graph.centrality","graph.communities","graph.counts","graph.delete_edge","graph.delete_node","graph.dynamic_communities","graph.dynamic_pagerank","graph.edges_count","graph.edges_exist","graph.explain_query","graph.fraud_rings","graph.get_edge","graph.get_node","graph.hybrid_search","graph.import_nquads","graph.labels","graph.laundering_paths","graph.link_prediction","graph.local_morans_i","graph.morans_i","graph.motifs","graph.mst","graph.pagerank","graph.personalised_pagerank","graph.poll_changes","graph.query","graph.recommend","graph.retract_statement","graph.rolesim","graph.semantic_query","graph.shortest_path","graph.simrank","graph.structural_roles","graph.supply_chain_route","graph.temporal_pagerank","graph.text_search","graph.traverse","graph.triangles","graph.update_node","graph.vector_search","graph.wait_for_changes"],"description":"Unified LPG + RDF + Vector graph engine: read/write LPG nodes & edges, assert/import RDF quads, run conjunctive LPG+RDF semantic_query, hybrid_search, and graph algorithms (PageRank, communities, shortest_path, centrality, link_prediction, Moran's I). Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"guardrails","name":"guardrails.*","tags":["guardrails.evaluate"],"description":"Evaluate input, output, and structural agent payloads against safety/PII/injection guardrails. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"journey","name":"journey.*","tags":["journey.advance","journey.audit","journey.define","journey.list","journey.list_hitl","journey.resolve_hitl","journey.sla_alerts","journey.start","journey.status"],"description":"Run stateful multi-stage workflows with SLAs, Human-In-The-Loop (HITL) gates, and immutable audit trails. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"memory","name":"memory.*","tags":["memory.history","memory.search"],"description":"Search and read conversation session memory. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"models","name":"models.*","tags":["models.get_policy","models.list","models.remove","models.route_explain","models.search_known","models.set_policy","models.upsert"],"description":"Manage the LLM model catalogue and dynamic System-1/System-2 routing policy. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"quantum","name":"quantum.*","tags":["quantum.anneal","quantum.compare","quantum.encode_state","quantum.measure","quantum.optimize","quantum.profile","quantum.simulate","quantum.vqe_step"],"description":"Quantum-inspired QUBO/Ising optimisation (routing, scheduling, portfolio allocation, tensor networks). Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"rag","name":"rag.*","tags":["rag.graph_query","rag.hybrid_query","rag.profile_collection","rag.query","rag.rerank","rag.tune_collection"],"examples":["Which suppliers are linked to the delayed shipments?"],"description":"Answer questions over the knowledge graph (vector, graph and hybrid RAG). Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"registry","name":"registry.*","tags":["registry.list_tools","registry.register_a2a_agent","registry.register_mcp_server","registry.register_tool","registry.remove_tool","registry.test_tool"],"description":"Federate external REST tools, downstream MCP servers, and peer A2A agents. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"scheduler","name":"scheduler.*","tags":["scheduler.add_trigger","scheduler.list_triggers","scheduler.remove_trigger","scheduler.status"],"description":"Schedule interval, cron, and CDC event/drift-triggered automations. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"schema","name":"schema.*","tags":["schema.define_edge_type","schema.define_node_type","schema.delete_edge_type","schema.delete_node_type","schema.get","schema.get_edge_type","schema.get_node_type","schema.list_edge_types","schema.list_node_types","schema.update_edge_type","schema.update_node_type","schema.validate"],"description":"Declare and validate the data model (node types, edge types, property constraints, IAM classifications). Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"sentinel","name":"sentinel.*","tags":["sentinel.drift_check","sentinel.get_finding","sentinel.list_findings","sentinel.reject","sentinel.summary"],"description":"Autonomous data-drift and risk-threshold findings gated by human approval. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"soc","name":"soc.*","tags":["soc.audit_log","soc.containments_active","soc.stats"],"description":"Autonomous Security Operations Center (SOC): threat detection statistics, active session containments, and security incident audit logs. Invoke a specific tool with message.metadata.skill = one of the tags."},{"id":"supergraph","name":"supergraph.*","tags":["supergraph.peers_list","supergraph.query"],"description":"Federated multi-graph stitching: list declared regional/domain peers and execute approved cross-graph queries. Invoke a specific tool with message.metadata.skill = one of the tags."}],"version":"0","provider":{"url":"https://www.purple8.ai","organization":"Purple8 Inc."},"description":"AI-native complete backend infrastructure: Unified LPG + RDF + Hypergraph, vector search, structured tables, hybrid RAG, stateful workflows (SLAs + HITL), AEC/BIM engineering, SOC & SuperGraph, event automation, and cryptographic governance in one process. Send a question as text or name a skill to call any of the 176 tools.","capabilities":{"streaming":true,"extendedAgentCard":false,"pushNotifications":true},"securitySchemes":{"apiKey":{"apiKeySecurityScheme":{"name":"X-API-Key","location":"header"}},"bearer":{"httpAuthSecurityScheme":{"scheme":"Bearer","description":"Purple8 API key (p8g_...)"}}},"documentationUrl":"https://docs.graph.purple8.ai/guides/a2a","defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"supportedInterfaces":[{"url":"https://purple8-graph-sandbox.fly.dev/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"securityRequirements":[{"schemes":{"apiKey":{"list":[]}}},{"schemes":{"bearer":{"list":[]}}}]},"status":"verified","publisher_domain":"purple8.ai","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-11-08T22:30:11.585660+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://www.purple8.ai/.well-known/agent-card.json","last_check":{"checked_at":"2026-11-08T22:30:11.58566+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://www.purple8.ai/.well-known/agent-card.json"],"skills":[{"skill_id":"admin","name":"admin.*","description":"Cryptographic audit chain verification, legal holds, data retention policies, and SMTP administration. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["admin.audit_verify","admin.hold_list","admin.hold_place","admin.hold_release","admin.kms_status","admin.lineage_get","admin.recovery_status","admin.retention_delete","admin.retention_list","admin.retention_set","admin.retention_sweep","admin.smtp_configure","admin.smtp_status","admin.storage_scrub"],"quality_warning":false},{"skill_id":"aec","name":"aec.*","description":"AEC/BIM engineering vertical: stored BIM buildings, Space Syntax VGA, 2D/3D structural rigidity & critical members, BIM clash/change-impact, emergency egress, MEP max-flow/fault-impact, Laplacian spectral connectivity, 3D SIMP topology optimisation, MORL layout generation, MPNN physics surrogate, hypergraphs, and IFC rewriting. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["aec.bim_clashes","aec.buildings_analyses","aec.buildings_delete","aec.buildings_demo","aec.buildings_get","aec.buildings_list","aec.buildings_run","aec.design_egress","aec.hypergraph_build","aec.ifc_rewrite","aec.mep_max_flow","aec.morl_generate","aec.mpnn_propagate","aec.spectral_fiedler","aec.structural_critical_members","aec.structural_rigidity","aec.topo_optimise","aec.vga_build"],"quality_warning":false},{"skill_id":"data","name":"data.*","description":"Commit entities, Markdown chunks, and structured tables directly (data.commit) or ingest 70+ file formats via DocIntel. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["data.commit","data.get_table","data.index_table_columns","data.ingest_file","data.ingest_text","data.link_table_rows","data.list_file_versions","data.list_files","data.patch_file_properties","data.query_table_rows","data.replace_file"],"quality_warning":false},{"skill_id":"egress","name":"egress.*","description":"Stream graph and workflow changes to external HMAC-signed webhooks. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["egress.add_sink","egress.list_sinks","egress.remove_sink","egress.status"],"quality_warning":false},{"skill_id":"evolution","name":"evolution.*","description":"Evolutionary multi-objective optimisation for RAG parameters, model routing, and online experiments. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["evolution.create_experiment","evolution.list_experiments","evolution.production","evolution.propose","evolution.rag_retrieval","evolution.report","evolution.routing_policy","evolution.suggest"],"quality_warning":false},{"skill_id":"feedback","name":"feedback.*","description":"Collect and resolve human and agent quality feedback. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["feedback.open","feedback.record","feedback.resolve","feedback.summary"],"quality_warning":false},{"skill_id":"graph","name":"graph.*","description":"Unified LPG + RDF + Vector graph engine: read/write LPG nodes & edges, assert/import RDF quads, run conjunctive LPG+RDF semantic_query, hybrid_search, and graph algorithms (PageRank, communities, shortest_path, centrality, link_prediction, Moran's I). Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["graph.add_edge","graph.add_edges_bulk","graph.add_node","graph.add_nodes_bulk","graph.articulation_points","graph.assert_statement","graph.attack_paths","graph.auto_config","graph.bipartite_check","graph.bipartite_matching","graph.bridges","graph.centrality","graph.communities","graph.counts","graph.delete_edge","graph.delete_node","graph.dynamic_communities","graph.dynamic_pagerank","graph.edges_count","graph.edges_exist"],"quality_warning":false},{"skill_id":"guardrails","name":"guardrails.*","description":"Evaluate input, output, and structural agent payloads against safety/PII/injection guardrails. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["guardrails.evaluate"],"quality_warning":false},{"skill_id":"journey","name":"journey.*","description":"Run stateful multi-stage workflows with SLAs, Human-In-The-Loop (HITL) gates, and immutable audit trails. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["journey.advance","journey.audit","journey.define","journey.list","journey.list_hitl","journey.resolve_hitl","journey.sla_alerts","journey.start","journey.status"],"quality_warning":false},{"skill_id":"memory","name":"memory.*","description":"Search and read conversation session memory. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["memory.history","memory.search"],"quality_warning":false},{"skill_id":"models","name":"models.*","description":"Manage the LLM model catalogue and dynamic System-1/System-2 routing policy. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["models.get_policy","models.list","models.remove","models.route_explain","models.search_known","models.set_policy","models.upsert"],"quality_warning":false},{"skill_id":"quantum","name":"quantum.*","description":"Quantum-inspired QUBO/Ising optimisation (routing, scheduling, portfolio allocation, tensor networks). Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["quantum.anneal","quantum.compare","quantum.encode_state","quantum.measure","quantum.optimize","quantum.profile","quantum.simulate","quantum.vqe_step"],"quality_warning":false},{"skill_id":"rag","name":"rag.*","description":"Answer questions over the knowledge graph (vector, graph and hybrid RAG). Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["rag.graph_query","rag.hybrid_query","rag.profile_collection","rag.query","rag.rerank","rag.tune_collection"],"quality_warning":false},{"skill_id":"registry","name":"registry.*","description":"Federate external REST tools, downstream MCP servers, and peer A2A agents. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["registry.list_tools","registry.register_a2a_agent","registry.register_mcp_server","registry.register_tool","registry.remove_tool","registry.test_tool"],"quality_warning":false},{"skill_id":"scheduler","name":"scheduler.*","description":"Schedule interval, cron, and CDC event/drift-triggered automations. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["scheduler.add_trigger","scheduler.list_triggers","scheduler.remove_trigger","scheduler.status"],"quality_warning":false},{"skill_id":"schema","name":"schema.*","description":"Declare and validate the data model (node types, edge types, property constraints, IAM classifications). Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["schema.define_edge_type","schema.define_node_type","schema.delete_edge_type","schema.delete_node_type","schema.get","schema.get_edge_type","schema.get_node_type","schema.list_edge_types","schema.list_node_types","schema.update_edge_type","schema.update_node_type","schema.validate"],"quality_warning":false},{"skill_id":"sentinel","name":"sentinel.*","description":"Autonomous data-drift and risk-threshold findings gated by human approval. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["sentinel.drift_check","sentinel.get_finding","sentinel.list_findings","sentinel.reject","sentinel.summary"],"quality_warning":false},{"skill_id":"soc","name":"soc.*","description":"Autonomous Security Operations Center (SOC): threat detection statistics, active session containments, and security incident audit logs. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["soc.audit_log","soc.containments_active","soc.stats"],"quality_warning":false},{"skill_id":"supergraph","name":"supergraph.*","description":"Federated multi-graph stitching: list declared regional/domain peers and execute approved cross-graph queries. Invoke a specific tool with message.metadata.skill = one of the tags.","tags":["supergraph.peers_list","supergraph.query"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://www.purple8.ai/.well-known/agent-card.json","checked_at":"2026-11-08T22:30:11.585660+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-11-08T22:30:11.585660+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-11-08T22:30:11.585660+00:00","endpoint":"https://purple8-graph-sandbox.fly.dev/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","state":"unconfirmed","http_status":null,"detail":"Endpoint did not answer the bounded read-only request","request_diagnostics":null},"declared_primary_endpoint":"https://purple8-graph-sandbox.fly.dev/a2a","selected_connection_interface":{"url":"https://purple8-graph-sandbox.fly.dev/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},"protocol_interface_checks":[{"endpoint":"https://purple8-graph-sandbox.fly.dev/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","selected":true,"state":"unconfirmed","checked_at":"2026-11-08T22:30:11.585660+00:00","http_status":null,"detail":"Endpoint did not answer the bounded read-only request","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://www.purple8.ai/.well-known/agent-card.json","last_successful_card_check":"2026-11-08T22:30:11.585660+00:00","latest_card_check":{"checked_at":"2026-11-08T22:30:11.58566+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-11-08T22:30:11.585660+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-11-08T22:30:11.585660+00:00","endpoint_tls_reachable":true,"protocol_check_state":"unconfirmed","protocol_checked_at":"2026-11-08T22:30:11.585660+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":576529,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/576529/repair","publisher_report_url":"https://localmark.ai/publishers/purple8.ai/repair","diagnostics_json_url":"https://localmark.ai/publishers/purple8.ai/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/purple8.ai/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}