Skip to content

[P2] Make the scaffold's default test command test the plugin; keep proof-level separation inside the harness, not in the user's command choreography #749

Description

@ScriptedAlchemy

Problem

The normal action npm test in the MCP starter excludes the route and projection tests—the parts that prove the plugin works. The author must know to run test:routes, test:projection, and a multi-stage check sequence separately. This exposes the framework's own proof-pool architecture as basic application setup.

Main reviewed: 14c9822bc6c01d8ff2788454d0e1dc7861bc3816; source-only review. No claim that the current explicit check script fails: it correctly runs the separate pools. The problem is the default user contract and unnecessary orchestration burden.

Evidence

Minimal direction

npm test should run the starter's normal deterministic application suite, including its route/projection tests, with separate reported proof labels. Keep focused subcommands for debugging and keep packed/native/credentialed tests explicitly opt-in or a separate integration gate. An aggregate script over existing helpers is enough initially; do not introduce another test runner or flatten incompatible module conditions.

Where the same graph can safely be reused, avoid compiling it independently solely to achieve distinct labels. Preserve isolation where React conditions, mutations or test lifecycle require it; measure before claiming a speedup.

Acceptance

  • Break the example's route rendering or MCP registration while plain domain tests remain green: the documented default test command must fail.
  • All promised normal test files are collected on a clean project, with no route/provider/type-generation prerequisites silently omitted.
  • Output still distinguishes domain, route and protocol claims. A successful in-memory test is never labelled native-host/installed-package evidence.
  • Test filtering and watch work through the supported public configuration; no handwritten aliases into framework source.
  • Static skill/plain-hook templates do not gain an unnecessary React/MCP pool.
  • The documentation leads with one ordinary test command, then explains optional depth when needed.

Coordinate generated-type readiness with #748. Keep existing framework CI's specialized pools; this issue is about the public plugin-author experience, not rewriting the repository's test infrastructure.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions