All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- ARCP v1.1 feature coverage for
session.list_jobs/session.jobs, versionedname@versiontool resolution,job.result_chunk, andcost.budgetenforcement. Arcp\Errors\BudgetExhaustedExceptionandArcp\Errors\AgentVersionNotAvailableExceptionmapped to their v1.1 canonical wire codes.Arcp\Errors\ARCPExceptionInterface— root marker for every exception the SDK can throw. Implemented by the existing abstractArcp\Errors\ARCPException(no migration needed for existing catch blocks). SeeUPGRADE.md.Arcp\Errors\TransportClosedException— typed replacement for the bare\RuntimeException('… closed')previously thrown by stdio, memory, and WebSocket transports. Maps toErrorCode::Unavailable.Arcp\Internal\…namespace housing the runtime and client collaborators that were split out ofARCPRuntime/ARCPClient/EnvelopeSerializer. Marked@internal; not part of the BC promise.- Toolchain:
rector/rector,infection/infection,tools/size-check.phpgate enforcing PHP_SDK_GUIDE §14 hard limits. New composer scriptsrector,rector:fix,infection,size-check,audit,all.
Envelope,Id, andErrorPayloadvalidation paths now throwArcp\Errors\InvalidArgumentExceptioninstead of the SPL\InvalidArgumentException. Migration inUPGRADE.md.- Every src/ file is wrapped to ≤ 100 chars, every method body ≤ 30 lines, every file ≤ 400 lines, every class ≤ 300 lines.
- Psalm
errorLevel: 1now reports zero errors on test code.
- Initial reference SDK release aligned with ARCP protocol v1.1 (see README status).