Skip to content

feat: MCP prompts capability — authoring method as static text (ADR-0008) - #22

Merged
kikashy merged 1 commit into
mainfrom
feat/mcp-prompts
Jul 27, 2026
Merged

feat: MCP prompts capability — authoring method as static text (ADR-0008)#22
kikashy merged 1 commit into
mainfrom
feat/mcp-prompts

Conversation

@kikashy

@kikashy kikashy commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

What

The MCP server gains the protocol's prompts capability: 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-unknown trap. author_pack teaches all of it up front; test_pack turns the study instance-matrix into a reusable logic probe; fix_pack encodes the layer-ordered repair discipline.

Guardrails

  • Every rendering carries the no-claim disclaimer — tested (TestEveryPromptRendersWithDisclaimer).
  • Prompts teach format mechanics, never what any policy means; caller arguments are echoed verbatim, not interpreted.
  • Unknown prompt name → JSON-RPC error; prompts render fine with zero arguments.
  • ADR-0008 records the decision; ADR-0003 carries a second amendment note.

Verification

gofmt/vet clean · all packages pass · conformance corpus passes · live stdio smoke: capability advertised, 3 prompts listed, test_pack renders 2.3 KB with disclaimer.

🤖 Generated with Claude Code

…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
kikashy merged commit 1f5e33f into main Jul 27, 2026
4 checks passed
@kikashy
kikashy deleted the feat/mcp-prompts branch July 27, 2026 22:20
kikashy added a commit that referenced this pull request Jul 27, 2026
Status flip only, per the ADR process.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant