Skip to content

docs: design principles & opinionated choices spec#322

Closed
gwleclerc wants to merge 1 commit into
mainfrom
docs/principles
Closed

docs: design principles & opinionated choices spec#322
gwleclerc wants to merge 1 commit into
mainfrom
docs/principles

Conversation

@gwleclerc

Copy link
Copy Markdown
Collaborator

Summary

Adds docs/PRINCIPLES.md — a shared reference for triaging issues and reviewing
contributions
. It's descriptive of decisions already made (sourced from maintainer
answers in issue threads, referenced inline), not a roadmap.

Contents:

  • What Smocker is / is not — an HTTP mock server for testing; not contract testing,
    not an outbound-webhook simulator, not a production gateway.
  • Core model — mock / session (one active, session-scoped mocks, locked-mock migration) /
    history + verification.
  • Opinionated choices with rationale — append-only called sessions, priority = declaration
    order (no explicit field), self-contained mocks (no file refs), case-sensitive matching,
    Go-template/Lua dynamic responses, opaque IDs, concurrency safety.
  • The stability contract — the frozen mock format/serialization and HTTP/CLI API, additive
    changes only, resilient persistence; enforced by golden + venom tests.
  • Quality bar and a 6-point checklist for judging an issue or PR.
  • Known, accepted limitations (binary files, webhooks, contract testing).

Meant to make issue/PR triage faster and more consistent by writing the implicit rules down.

🤖 Generated with Claude Code

A shared reference for triaging issues and reviewing contributions: purpose and
non-goals, the mock/session/history model, the opinionated choices (append-only
called sessions, order-based priority, self-contained mocks, case-sensitive
matching, ...), the frozen format/API stability contract, the quality bar, and a
checklist for judging an issue or PR. Sourced from maintainer decisions in the
referenced issues.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@gwleclerc gwleclerc closed this Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant