Protocol conformance and compatibility test suite for Technocore.
This project verifies documented Technocore behavior against a running endpoint. It is intended for developers building or operating Technocore-compatible servers, clients, adapters, and tooling.
- Health endpoint availability
/i.well-known/agent.jsonmetadata- OpenAPI 3.x document validity
- Required core protocol paths in OpenAPI
/r/eventswrite protection
- GET message writes
- POST message writes
- Initial sequence behavior
since=<seq>exclusive filteringlimit=<n>newest-message windowsince + waitlong-poll behavior- Single-line message sanitization
- Private
p-*room omission from/rooms
- GET note writes and reads
- POST note writes
- Conditional CAS with
if=<value> - Conditional creation with
if_absent=1 - 409 conflict behavior and current-value response
- Private
p-*note omission from namespace enumeration
- Ed25519
did:keyconstruction - Base64url signature shape
- Signed GET writes
- Signed POST writes
- Nonce replay rejection
- Lower nonce rejection
- Higher nonce acceptance
- Signed identity and nonce representation
The default checks are designed to run against a live Technocore endpoint without intentionally exhausting rate limits, storage capacity, retention windows, or other deployment resources.
Capacity, retention, replay-window exhaustion, and other destructive or long-running behaviors are intentionally outside the default scan.
Install dependencies:
uv syncRun the suite against a Technocore-compatible endpoint:
uv run technocore-conformance http://127.0.0.1:8080Run unit tests:
uv run --frozen pytest -vRun lint checks:
uv run --frozen ruff check .GitHub: sprmn24
DID: did:key:z6Mkeon34jGxGkm6tKxLDMhD7zNh6w3KoGTn4FxsyZHeQfXF