Orchestrata Ultimate › Plans › plan_subphase_1_1 › subplan-cxp-protocol-2026-04-12

Subplan: Sub-phase 1.1 — CXP Protocol (Steps 39-47)

Source: plans/plan_subphase_1_1/subplan-cxp-protocol-2026-04-12.md at 8a2cb42ad · last changed 2026-07-27 · first committed 2026-04-12 · 85 lines.

Prose pending.

Plan text

Subplan: Sub-phase 1.1 — CXP Protocol (Steps 39-47)

Context

Phase 0 is complete. 813 tests pass at 91% coverage on core modules. This subplan ports the CXP (Cross-Agent eXchange Protocol) package — 27 modules (~7,500 LOC) for inter-agent communication.

Source (read-only): /home/mohamed/workspace/orchestrata/packages/orchestrata-cxp/src/orchestrata/cxp/ Target: /home/mohamed/workspace/orchestrata-ultimate/src/orchestrata_ultimate/cxp/

Coverage gate: --cov-fail-under=90 on ported CXP modules. Traceability: @traces("REQ-1.1-XXX") on all public classes.

Excluded (gRPC not portable to 3.14t): binary_serializer.py, grpc_client.py, grpc_server.py, prolog_bridge.py


Coverage Targets

File Target
cxp/packet.py 90%
cxp/json_serializer.py 90%
cxp/exceptions.py 90%
cxp/headers.py 90%
cxp/payload.py 90%
cxp/threads.py 90%
cxp/validator.py 90%
cxp/dispatcher.py 90%
cxp/constants.py 90%
cxp/types.py 90%

Steps

Step 39: Create cxp/ package directory

Step 40: Port packet.py — CXPPacket dataclass

Step 41: Port json_serializer.py

Step 42: Port exceptions.py + headers.py

Step 43: Port payload.py + threads.py

Step 44: Port validator.py

Step 44b: Port remaining CXP modules (19 files)

Step 45: Verify InMemoryDispatcher exists in dispatcher.py

Step 46: Update init.py exports

Step 47: Gate check — all imports, tests >=813, coverage >=90%


Requirements

REQ ID Description
REQ-1.1-001 packet.py + json_serializer.py import and serialize
REQ-1.1-002 exceptions, headers, payload, threads import
REQ-1.1-003 validator.py validates packets
REQ-1.1-004 All 19 remaining modules import
REQ-1.1-005 interfaces.py ABCs converted to Protocol
REQ-1.1-006 ws_client + ws_server import (websockets dep)
REQ-1.1-007 init.py exports CXPPacket, dispatcher
REQ-1.1-008 All os.environ use .get() with defaults
REQ-1.1-009 Tests pass (>=813), coverage >=90% on CXP
REQ-1.1-010 TYPE_CHECKING guards for postman/session adapters