5b88e3dddf
The contract test only checked one direction (each name in HOST_CONTRACT_METHODS exists on the real DocmostClient). But HOST_CONTRACT_METHODS is itself a hand-copy of the server's DocmostClientLike interface (docmost-client.loader.ts), and that list<->interface link was untested: a method added to the interface + consumed by the adapter but forgotten in the list (or removed from the interface but left in the list) would escape both the server typecheck (the pkg emits no .d.ts) and the existing test (name not in the list) -> a runtime "x is not a function" in a tool call. Parse the method names from the DocmostClientLike interface body (read the .ts source via import.meta.url, scan member-signature lines) and assert.deepEqual them against HOST_CONTRACT_METHODS BOTH ways. Lists are currently identical (39=39), so this is a coverage hole closed, not a live bug. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>