Skip to content

Pin the authoring prompts' stable framing #117

Description

@kikashy

Goal

Add focused tests for the MCP prompts' load-bearing sentences.

Why

internal/mcp/prompts.go builds the authoring prompts — author_pack, author_graph, test_pack, fix_pack, present_pack, explain_disposition. getPrompt and every build* function is unreferenced by any test.

These are not decorative. They carry claim boundaries a model client acts on: that a pack decides nothing, that a matrix row is a rehearsal rather than a decision, that the conformance claim lives in CONFORMANCE.md and nowhere else. A refactor can drop one of those sentences and every test still passes.

There is precedent for the failure: the author_graph prompt recently told a model to run a tool that cannot see a graph the prompt has not yet had declared, and nothing caught it.

Scope

  • Change internal/mcp/prompts_test.go (new file) or an existing MCP test file only.
  • For each prompt, assert:
    • it is returned by getPrompt under its advertised name;
    • it is non-empty and mentions the artifact it is about;
    • the claim-boundary sentences it carries are present.
  • Prefer asserting a phrase's presence over matching whole paragraphs, so rewording stays cheap and deletion does not.
  • Do not change any prompt's wording in this issue. If a prompt looks wrong, open a separate issue.

Acceptance criteria

  • Every prompt the server advertises has at least one test.
  • At least one claim-boundary phrase per prompt is pinned.
  • Deleting a pinned sentence fails a test — check this by trying it locally before opening the pull request.
  • No prompt text, tool behaviour, or advertised surface changes.
  • env GO111MODULE=on go test ./internal/mcp and go test ./... pass.
  • Every commit includes a DCO sign-off created with git commit -s.

Contributor learning

What this runtime does and does not claim, and how a text surface is held in place by tests rather than by care.

Metadata

Metadata

Assignees

No one assigned

    Labels

    goPull requests that update go codegood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions