Fix issues #7–#13: protocol shapes, native reads and stable PHP runtime - #16
Conversation
|
Final code head: 668109a. All 24 local PHP contract suites pass, including actual-SDK wire (99), discovery (88), planned (30), jobs (63), native form/security cases, and 600-request endurance under 128 MB. Source ZIP/relocation checks pass (1,834 checks); seed regeneration is deterministic and source syntax is clean. All 54 changed remote file blobs and modes match the tested local source exactly; no vendor changes or release tag were created. The final idle/session and inherited error_log protections pass independent review. A fresh installed 600-call run passed 513 checks in 37.786 seconds, with actual PHP RSS 66,404,352 bytes at every 100-call checkpoint. The earlier installed matrix passed all four platforms. The JCB runner's newly added list suite initially lacked its pinned reference JSON; the runner now supplies that file, and final-head CI is rerunning. Readiness and issue closure will follow the exact-head CI results, not those earlier runs. |
|
Final acceptance is GREEN at 2e4a88d.
Independent local installed evidence also passed 377 list assertions, 165 language assertions and 26 empty-object native write/read-back/replay/CRUD checks. Endurance completed 600 calls under 128 MB in one PHP process with flat sampled RSS. All 54 changed remote file blobs/modes match the tested local source; no vendor source, released tag or package version was changed. Marking this PR ready and issues #7–#13 completed as requested. The shared native fixes are implemented in TypeScript PR #45; its final fixture-selector follow-up and CI are tracked there. These fixes are on PR branches and have not been merged or released. |
This PR resolves #7–#13 on one branch with separate issue-specific commits. It restores object/list input and schema shapes, fixes exact native list pagination and language ordering, delivers large discovery responses, stabilizes long-running stdio, and preserves JSON-RPC error and notification behavior.
{}inputs work through both read tools; arrays/null/scalars fail. Nested mappings survive validation, encrypted plans, deferred jobs and result replay, with native form conversion confined to save.Validation includes actual SDK stdio and both HTTP protocol eras; 88 schema-discovery and 99 wire checks; plan/apply/job/replay and native form regressions; and installation, authorization, write/reconciliation, source ZIP and deterministic catalogue coverage. An independent installed Joomla 6.1.3/PHP 8.3.6/MySQL run passed 377 list assertions, 165 language assertions, and 513 endurance assertions with 600 calls through one 128 MB PHP process. PHP RSS was 66,338,816 bytes at every 100-call checkpoint; discovery responses completed in 0.29–0.68 seconds.
Current-head CI is green for PHP 8.3/8.4 contracts, all four PHP × MySQL/PostgreSQL installed combinations, and the installed JCB golden image. New live list, language and endurance suites run in both installed tracks. Exact results are linked in the final validation comment. Installed empty-object write/read-back/replay/CRUD coverage passes 26 assertions; guarded Registry recovery preserves model-visible values and performs no extra list queries.
Shared native companion defects are also fixed and tested in joomengine/joomla-mcp#45 (tracked by its issue #44). PHP SDK-specific session/validation/dispatch defects are not claimed as TypeScript SDK defects. Vendor code, released tags and version metadata remain unchanged; both changelogs use
[[[NEXT_VERSION]]]. No merge or release is performed by this PR.Closes #7
Closes #8
Closes #9
Closes #10
Closes #11
Closes #12
Closes #13