feat: MCP prompts capability — authoring method as static text (ADR-0008) - #22
Merged
Conversation
…0008) Serve three non-normative method prompts over the MCP prompts primitive: author_pack (the create -> validate -> evaluate loop, the resolution-model shapes that avoid conflicts, the decimal-string and onUnknown rules, the prepared-facts ledger), test_pack (the instance-matrix logic probe), and fix_pack (diagnostics-driven repair in layer order). A prompt is static, versioned text the CLIENT's model executes with the client's key; the server still calls no model, holds no key, and opens no network connection -- serving one is read-only, the same class as get_schema. This equips ADR-0006's client-side authoring loop rather than bending it: the runtime ships the method, the client ships the mind, the tools stay the oracle. An authoring TOOL remains rejected (it would make the reference implementation the canonical interpreter of policies). Method content distills the expressiveness studies, so the findings stop being folklore rediscovered per pack: both blind study authors had to discover the single-outcome architecture independently; author_pack now teaches it up front, alongside the onUnknown/fallback-blocking behavior one encoder called load-bearing and the JSON-number-yields-unknown trap every study skirted. Guardrails: every rendering carries the no-claim disclaimer (tested); prompts teach mechanics, never what any policy means; argument values are echoed verbatim, not interpreted; unknown prompt names are JSON-RPC errors. ADR-0008 records the decision and amends ADR-0003's surface description a second time. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
kikashy
added a commit
that referenced
this pull request
Jul 27, 2026
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.
What
The MCP server gains the protocol's
promptscapability: three non-normative method prompts —author_pack,test_pack,fix_pack— served as static, versioned text that the client's model executes with the client's key.Why prompts and not a tool
An "encode this policy" tool stays rejected: it would put a model, a key, and nondeterminism inside the runtime, and make the reference implementation the canonical interpreter of what policies mean. A prompt is the opposite shape — serving it is read-only (same class as
get_schema), keyless/offline/stateless survive untouched, and the content is precisely instructions for ADR-0006's client-side authoring loop. The runtime ships the method; the client ships the mind; the tools stay the oracle.Why now
The expressiveness studies produced method knowledge that was living as folklore: both blind study authors independently had to discover the single-outcome architecture §8's conflict rule forces; one encoder called the
onUnknown/fallback-blocking behavior "load-bearing"; every study skirted the JSON-number-yields-unknowntrap.author_packteaches all of it up front;test_packturns the study instance-matrix into a reusable logic probe;fix_packencodes the layer-ordered repair discipline.Guardrails
TestEveryPromptRendersWithDisclaimer).Verification
gofmt/vet clean · all packages pass · conformance corpus passes · live stdio smoke: capability advertised, 3 prompts listed,
test_packrenders 2.3 KB with disclaimer.🤖 Generated with Claude Code