mirror of
https://github.com/morluto/rea.git
synced 2026-11-15 11:13:21 +00:00
* fix(hopper): validate inventory replies against their contracts at the provider edge Hopper validated only the response envelope. list_names replies outside the inventory contract were returned unchanged (projectHopperNameInventory passed them through), and the regex search re-parsed its inventory with its own policy. A per-method reply contract table built from the shared native inventory schemas now validates list_names, list_procedures, list_strings, search_procedures and search_strings once; a reply outside the contract is an AnalysisOutputError. The remaining 31 operations are a counted pending list that may only shrink. * fix(hopper): add reply contracts for scalar, boolean and address-list operations Twenty-two more Hopper operations are validated against reply contracts built from the shared native schemas. The pending list shrinks from 31 to 9 operations. * refactor(hopper): validate every bridge reply through one contract table The reply table now covers every bridge method REA reads, including the private caller-reconciliation methods. HopperFileOffset receives a validated observation and HopperCallerReconciliation reads typed replies instead of keeping its own schemas and re-parsing the native result. The segment list schema moves from contracts into its domain owner. * fix(hopper): apply reply contracts on the ready path and test every entry path executeIfReady validated only list_procedures, so a malformed list_documents reply could reach the completion path. Every contracted operation is now validated there, and provider-level tests cover the direct and ready paths for each inventory and document operation.