server

server — audit issues

Audited 2026-06-20. Repo: software/server. Criteria: completeness · tests · separation of concerns · verb-named functions · file size (<1000 lines) · organization.

Health summary

The server is small (≈850 lines across 7 files), cleanly layered (transport in main.cpp, protocol in Dispatch.cpp, domain handlers in Tools.cpp, message marshalling in Doc.h), builds clean with -Wall -Wextra, and ./test.sh passes all 9 checks. The pserver::Session rename (commit 4c3762c) is fully applied in source — no Document-wrapper collision remains and no stale prisma/prism identifiers leak outside legitimate .prisma/.prism extension handling. The main weaknesses are completeness gaps where mutating tools (connect/disconnect/rename/set_metadata) report success without validating their targets, thin test coverage (most of the 16 tools and the parse-error / missing-name paths are never exercised), and documentation drift (README tools table omits 5 tools and still names the MCP server prisma). No file exceeds 800 lines.

Issues

[MEDIUM] completeness — connect/disconnect report success without validating endpoints

[MEDIUM] completeness — rename_element reports success on a rejected/no-op rename

[MEDIUM] tests — protocol surface and most tools are untested

[LOW] completeness — no initialize-ordering enforcement

[LOW] organization — README tools table omits 5 tools and example names the server prisma

[LOW] organization — stale binaries in the (gitignored) build dir

[LOW] separation — clean

[LOW] naming — clean

[LOW] filesize — clean