docs: assess whether this project should expose an MCP server - #44
Merged
Conversation
Phase 16 of the plan asks for this evaluation and assumes the answer: "all four are strong candidates". Working through them one at a time, that is not what the code says. This project's verdict: mostly no - it would compromise the benchmark. The plan's assumption holds for api-verity-lab and devrepro-doctor, which answer bounded questions from files on disk and already emit structured artifacts. It does not hold for tooltrace-bench, where letting an agent invoke the scorer is a contamination problem rather than an engineering one -- an agent that can call `run` can run itself, retry until the score improves, and report the best result with the same provenance as an honest one. And it half holds for aihwbench, where the constraint is not danger but meaning: a benchmark invoked concurrently by two agents produces two wrong numbers and says nothing about it. Each document states what would be exposed, what would deliberately not be, and what has to be true first. Nothing is built. The point is to record the reasoning while it is fresh rather than to ship a surface nobody has thought about, and to be clear that this is an assessment rather than a capability the project has. The recurring "what has to be true first" across all four is path confinement: every candidate tool takes a file path, and an MCP server that hands an agent unrestricted filesystem reach through a path argument is a real hazard whatever the tool does with it.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 16 of the plan asks for this evaluation and assumes the answer: "all four are strong candidates". Working through them one at a time, that is not what the code says.
api-verity-labresult-v1artifactsdevrepro-doctortooltrace-benchaihwbenchWhere the plan's assumption breaks
tooltrace-bench. An agent that can call
runcan run itself, retry until the score improves, and report the best result — with the same provenance as an honest one. Nothing in the protocol distinguishes that from a legitimate call. It's also already an MCP client (tooltrace/agents/mcp.pyspeaks JSON-RPC over stdio with conformance fixtures), which is the useful direction: MCP servers are something this benchmark measures, not something it needs to become.aihwbench.
benchmarktakes minutes and assumes it owns the machine. Two concurrent calls produce two invalid numbers, published with a full hardware manifest that makes them look trustworthy. The read side — especiallycompare, which can answer "you may not compare these, and here is why" — is a genuinely good fit.devrepro-doctor is the strongest case precisely because its output already passes through
devrepro/privacy/before serialization. Most machine-inspection tools are unsafe behind an agent because their output is full of paths, usernames and environment variables; this one treats that as a correctness property. Its one hard exclusion isfix, whose--yesgate exists so a human confirms remediation — an MCP call would move that confirmation to a model.What these documents are
Assessments, not features. Nothing is built. Each states what would be exposed, what deliberately would not be, and what has to be true first — recorded while the reasoning is fresh, and explicit that this is not a capability the project currently has.
The constraint common to all four: path confinement. Every candidate tool takes a file path, and a server handing an agent unrestricted filesystem reach through a path argument is a hazard whatever the tool does with it.