- Rename package/module from toki_socket to proto_socket in Dart, Kotlin, Python - Update crosstest implementations to use renamed packages - Add new proto_socket skill, deprecate add-toki-socket-crosstest-language skill - Update domain rules for all languages - Update documentation (README, PORTING_GUIDE, PROTOCOL, VERSIONING)
1.6 KiB
1.6 KiB
Cross-language Test Checklist
Use the runner layout from agent-ops/skills/project/add-proto-socket-crosstest-language/SKILL.md.
Runner Layout
- Server-language orchestrator lives under
<server-language>/crosstest/. - Client-language subprocess helper lives under
<client-language>/crosstest/. - No root-level package metadata is added only for crosstests.
- Subprocess paths resolve from the package root or runner source location.
Required Output
The client helper prints its protocol type name before scenarios:
INFO typeName <language>=TestData
Each scenario prints exactly one result line:
PASS scenario=N detail=...
FAIL scenario=N error=...
The orchestrator fails when an expected scenario is missing, any FAIL line appears, or the subprocess exits non-zero.
Required Scenarios
Run each scenario for TCP and WebSocket:
- Scenario 1: client sends fire-and-forget
TestData; server validatesindexandmessage. - Scenario 2: server pushes
TestData(index=200, message=push from ... server)to the client. - Scenario 3: client
sendRequestreceivesindex=req.index*2andmessage=echo: req.message. - Scenario 4: multiple concurrent
sendRequestcalls verify nonce and response routing.
Split protocols into separate send-push and request phases if a communicator forbids normal listener and request listener registration for the same message type.
Review Notes
- Record the exact commands used to run both directions.
- Record fixed ports and why they do not conflict with existing tests.
- Record any unsupported transport or platform caveat.