From 19dc5d6de8e2bb76178f8428548412e2fa24e466 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 18:35:31 +0000 Subject: [PATCH] feat: add EAIP technical specification and XSD schema This commit introduces the formal technical specification for the Enterprise AI Agent Interoperability Protocol (EAIP) in XML format, along with its corresponding XML Schema Definition (XSD). The specification covers: - Necessity of Standardization - API Architecture (mandating gRPC over HTTP/2) - IAM for Autonomous Agents (SPIFFE/SPIRE) - State & Error Management (Recursive Context Envelope - RCE) - Reference Architecture (Mermaid sequence diagram) The XML document has been validated against the XSD. Ref: AXI-5 Co-authored-by: OneFineStarstuff <87420139+OneFineStarstuff@users.noreply.github.com> --- EAIP_Technical_Specification.xml | 75 ++++++++++++++++++ EAIP_Technical_Specification.xsd | 75 ++++++++++++++++++ __pycache__/main.cpython-312.pyc | Bin 0 -> 12119 bytes ...est_cv_module.cpython-312-pytest-9.0.3.pyc | Bin 0 -> 1693 bytes .../test_main.cpython-312-pytest-9.0.3.pyc | Bin 0 -> 3159 bytes ...st_nlp_module.cpython-312-pytest-9.0.3.pyc | Bin 0 -> 1157 bytes ...ech_processor.cpython-312-pytest-9.0.3.pyc | Bin 0 -> 2179 bytes pipeline_2026-05-29_18-23-13_889624.log | 3 + pipeline_2026-05-29_18-25-55_544530.log | 12 +++ pipeline_2026-05-29_18-26-07_247345.log | 9 +++ pipeline_2026-05-29_18-26-09_575874.log | 6 ++ pipeline_2026-05-29_18-26-12_224333.log | 3 + test_cv_module.py | 2 +- test_nlp_module.py | 2 +- test_speech_processor.py | 2 +- 15 files changed, 186 insertions(+), 3 deletions(-) create mode 100644 EAIP_Technical_Specification.xml create mode 100644 EAIP_Technical_Specification.xsd create mode 100644 __pycache__/main.cpython-312.pyc create mode 100644 __pycache__/test_cv_module.cpython-312-pytest-9.0.3.pyc create mode 100644 __pycache__/test_main.cpython-312-pytest-9.0.3.pyc create mode 100644 __pycache__/test_nlp_module.cpython-312-pytest-9.0.3.pyc create mode 100644 __pycache__/test_speech_processor.cpython-312-pytest-9.0.3.pyc create mode 100644 pipeline_2026-05-29_18-23-13_889624.log create mode 100644 pipeline_2026-05-29_18-25-55_544530.log create mode 100644 pipeline_2026-05-29_18-26-07_247345.log create mode 100644 pipeline_2026-05-29_18-26-09_575874.log create mode 100644 pipeline_2026-05-29_18-26-12_224333.log diff --git a/EAIP_Technical_Specification.xml b/EAIP_Technical_Specification.xml new file mode 100644 index 0000000..7766aec --- /dev/null +++ b/EAIP_Technical_Specification.xml @@ -0,0 +1,75 @@ + + + + + Enterprise AI Agent Interoperability Protocol (EAIP) Technical Specification + EAIP + 1.0.0 + DRAFT + 2026-05-29 + + + + Necessity of Standardization + + The rapid proliferation of autonomous AI agents within enterprise environments has led to a fragmented ecosystem. Without a standardized protocol, inter-agent collaboration is hindered by incompatible communication patterns, inconsistent identity management, and opaque state handling. EAIP addresses these challenges by providing a common framework for discovery, authentication, and task delegation, ensuring seamless interoperability across diverse agentic systems. + + + + + API Architecture + + EAIP mandates the use of gRPC over HTTP/2 as the primary transport mechanism. This choice is driven by the need for high-performance, bidirectional streaming, and strong contract enforcement via Protocol Buffers. gRPC enables efficient task handoff and real-time feedback loops between agents. While REST and WebSockets were considered, gRPC's support for strictly typed interfaces and multiplexed streams makes it the optimal choice for complex agent-to-agent interactions. + + + gRPC Configuration + + Agents MUST implement services using proto3 definitions. All service methods SHOULD support deadline propagation to ensure system-wide responsiveness. + + + + + + IAM for Autonomous Agents + + Security in EAIP is built on the SPIFFE (Secure Production Identity Framework for Everyone) standard. Each agent is assigned a SPIFFE ID, which is used to issue short-lived, cryptographically verifiable SVIDs (SPIFFE Verifiable Identity Documents). SPIRE is recommended as the control plane for attesting agent workloads and managing the SVID lifecycle. Mutual TLS (mTLS) using X.509 SVIDs is the required method for securing agent-to-agent communication. + + + + + State & Error Management + + EAIP introduces the Recursive Context Envelope (RCE) for managing distributed agent state. The RCE is a nested data structure that accompanies every request, capturing the lineage of the task, current execution context, and accumulated error metadata. This allows agents to maintain a shared understanding of multi-step processes without relying on a centralized database for transient state. Errors are propagated up the RCE chain, enabling sophisticated recovery and backtracking strategies. + + + + + + The following sequence diagram illustrates the standard EAIP flow for SVID acquisition, agent lookup, and task execution with RCE state management. + + >SPIRE: Request SVID + SPIRE-->>Caller: X.509 SVID + Caller->>Registry: Lookup Target (capabilities) + Registry-->>Caller: Target Endpoint + Caller->>RCE_Store: Init Envelope (RCE depth-0 root) + Caller->>Target: HandoffRequest (gRPC/HTTP/2, SVID, RCE root) + Target->>RCE_Store: Read Context + Target->>Caller: TaskStream (gRPC bidi, HTTP/2) + Target->>RCE_Store: Update Context (append child RCE) + Target->>Caller: TaskComplete + ]]> + + + diff --git a/EAIP_Technical_Specification.xsd b/EAIP_Technical_Specification.xsd new file mode 100644 index 0000000..68908e7 --- /dev/null +++ b/EAIP_Technical_Specification.xsd @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/__pycache__/main.cpython-312.pyc b/__pycache__/main.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..579796c2bde521158289ef69d0b7aaaf570c6fe4 GIT binary patch literal 12119 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 LcpwmQHCy2?DYmG? literal 0 HcmV?d00001 diff --git a/__pycache__/test_nlp_module.cpython-312-pytest-9.0.3.pyc b/__pycache__/test_nlp_module.cpython-312-pytest-9.0.3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5718b5360f37284a15982a189380c6ba9de8ee59 GIT binary patch literal 1157 zcmZWo&1(}u6o0cH$u>=_Nh|%J#UPft7E%x1Dk6BW1sgq74?$Sg>{Jprn>aH;QzBHX z7z9D_kp2N4l>8~4;s-5*;=z-*VtVrAn@u+T@WH;%-+S}sz1dHxR05D}IbFU-0DdVW zB6FbhUZK(k4?N;SfrL`4=tYe{#VDAhABh!W7}5NA#VS|?G`Intz73v1W93X#@=$j4 zzFtVsQO|sM0f1#RKaByVd>B}hH+ zYuK8>slUM$B>Q)A$*t9v1RmyK(5ZwS=V}dUaw_iBHph?kkqez__;dONk7Ug)M5KE%JI zFSTNOR&v*x?OL-tcfVTaLu;;U&FyTwFMhKwGPR7nZA!~=0=GgPM<$%XE>TZ9&ZD~P z_ajXGRBRmCM+o!6rkR>@$kf_+64^HV(TI7r7t_tfK2TxQ5f!%-IF6l^*8O_P7o~v9 z(8!K4RVY=W+g%8$j~L@kuQPC;Y3^}t$I)r%8-USrvGlOb#z>J zaWP?=6ROuq#nip~L$|K#)~EN3^w!GDwP$NDZtd$}%!I}N0WKp0q5uE@ literal 0 HcmV?d00001 diff --git a/__pycache__/test_speech_processor.cpython-312-pytest-9.0.3.pyc b/__pycache__/test_speech_processor.cpython-312-pytest-9.0.3.pyc new file mode 100644 index 0000000000000000000000000000000000000000..479b88e50f1083197a900ad47006079500f46a15 GIT binary patch literal 2179 zcmaJCO-v(Y^!sL}?a-Y9g|Jctw(Jsi2O_YW#mgEa8Wj$7jk=p`FXPx5VsYB3-#3+Q z0|`cqoIDB#PsW2AJnV53Z(hAvfs}k%;z2Lo2y9}qC*S+pDW$T$WZt~@eQ)0Xd-H1| z5hnnqNUi*$67nZ9Aw-(Q>Gwcv6Nfm|BUvinNX&LQVZ|oZl=<=XbX{ZSGDez!Or&j@Olc04MI=@D& z)>(y^G-E0ZGcS6%^wlbb&OV|-NQ9k{AWX3L)W+2YM>Xe)=RYZil!M##7b%BG^ z@+t;ecmmJ{d77TtOW)km4)l>zI3T%}N5E+C$OxVQ(H?{oBP*z(16I&_2dpVAeJXs_)o~5%ni@(_0uq-lk_e3OH1q-5gP2-|_rV2bBW;(R zyr0hb#lS5FRUK0}y=s4MDneg|J}KG-S7=C?F@|w541l3OqPv;uz_$YTVIX>J&RrHP z@{Av3{Guy*!-K^l5A0&j6)F#ysWEg`B&2DpXMU>Jw!Z?A9D zX!ZIS9eR^sWvl^=(mys|&AuoXW{4%Cwqwd6!SIaf>0 zJzm*M&TmBzb)&8i*Yx3?`}_L1muxxaOs>0kh8v!l~giSW5M-2KfUTR&lxk-W@)e>7UZZ=B4LD;z`B5t zEP#eWY!I|_^ra)u=QaFKp3e(nWAQ0K8|1KOWJ~MJsky<5jhLkHXU%$jGfJ_T+6V!+o$9jxk)%(g~k2=v|_d& zst?F2HI}7C($)=MVs?outvN6vm%yJ8*pdu%z zdh3PF{K9Wu0y}&b5ac_NtS3fmiP7(>2Z_l;qqlC1)r_&aFRYQ^fRrW&h6Z&4^7pErk)XCjwgv`Y*l|(Q-@k|W8v$iFP6T#d#n;|NSgQ; DuTA~+ literal 0 HcmV?d00001 diff --git a/pipeline_2026-05-29_18-23-13_889624.log b/pipeline_2026-05-29_18-23-13_889624.log new file mode 100644 index 0000000..e262c21 --- /dev/null +++ b/pipeline_2026-05-29_18-23-13_889624.log @@ -0,0 +1,3 @@ +2026-05-29 18:23:13.925 | INFO | main::23 - Application startup +2026-05-29 18:23:29.683 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:23:30.156 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/pipeline_2026-05-29_18-25-55_544530.log b/pipeline_2026-05-29_18-25-55_544530.log new file mode 100644 index 0000000..95811ab --- /dev/null +++ b/pipeline_2026-05-29_18-25-55_544530.log @@ -0,0 +1,12 @@ +2026-05-29 18:25:55.555 | INFO | main::23 - Application startup +2026-05-29 18:25:56.900 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:25:56.965 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:07.257 | INFO | main::23 - Application startup +2026-05-29 18:26:08.071 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:08.130 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:09.584 | INFO | main::23 - Application startup +2026-05-29 18:26:10.647 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:10.708 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:12.233 | INFO | main::23 - Application startup +2026-05-29 18:26:13.095 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:13.246 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/pipeline_2026-05-29_18-26-07_247345.log b/pipeline_2026-05-29_18-26-07_247345.log new file mode 100644 index 0000000..e6eeaa3 --- /dev/null +++ b/pipeline_2026-05-29_18-26-07_247345.log @@ -0,0 +1,9 @@ +2026-05-29 18:26:07.257 | INFO | main::23 - Application startup +2026-05-29 18:26:08.071 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:08.130 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:09.584 | INFO | main::23 - Application startup +2026-05-29 18:26:10.647 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:10.708 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:12.233 | INFO | main::23 - Application startup +2026-05-29 18:26:13.095 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:13.246 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/pipeline_2026-05-29_18-26-09_575874.log b/pipeline_2026-05-29_18-26-09_575874.log new file mode 100644 index 0000000..58ece3b --- /dev/null +++ b/pipeline_2026-05-29_18-26-09_575874.log @@ -0,0 +1,6 @@ +2026-05-29 18:26:09.584 | INFO | main::23 - Application startup +2026-05-29 18:26:10.647 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:10.708 | INFO | main:__init__:73 - CV model loaded successfully. +2026-05-29 18:26:12.233 | INFO | main::23 - Application startup +2026-05-29 18:26:13.095 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:13.246 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/pipeline_2026-05-29_18-26-12_224333.log b/pipeline_2026-05-29_18-26-12_224333.log new file mode 100644 index 0000000..a53d949 --- /dev/null +++ b/pipeline_2026-05-29_18-26-12_224333.log @@ -0,0 +1,3 @@ +2026-05-29 18:26:12.233 | INFO | main::23 - Application startup +2026-05-29 18:26:13.095 | INFO | main:__init__:56 - NLP model loaded successfully. +2026-05-29 18:26:13.246 | INFO | main:__init__:73 - CV model loaded successfully. diff --git a/test_cv_module.py b/test_cv_module.py index bdb6aef..0052b31 100644 --- a/test_cv_module.py +++ b/test_cv_module.py @@ -1,6 +1,6 @@ import unittest from PIL import Image -from cv_module import CVModule +from main import CVModule class TestCVModule(unittest.TestCase): def setUp(self): diff --git a/test_nlp_module.py b/test_nlp_module.py index 9a20bb5..12e2e69 100644 --- a/test_nlp_module.py +++ b/test_nlp_module.py @@ -1,5 +1,5 @@ import unittest -from nlp_module import NLPModule +from main import NLPModule class TestNLPModule(unittest.TestCase): def setUp(self): diff --git a/test_speech_processor.py b/test_speech_processor.py index 5582cd0..de97623 100644 --- a/test_speech_processor.py +++ b/test_speech_processor.py @@ -1,7 +1,7 @@ import unittest from io import BytesIO from fastapi import UploadFile -from speech_processor import SpeechProcessor +from main import SpeechProcessor class TestSpeechProcessor(unittest.TestCase): def setUp(self):