Skip to content

docs: design principles & opinionated choices spec#324

Merged
gwleclerc merged 1 commit into
mainfrom
docs/principles
Jul 18, 2026
Merged

docs: design principles & opinionated choices spec#324
gwleclerc merged 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 merged commit 2801d06 into main Jul 18, 2026
6 checks passed
@gwleclerc
gwleclerc deleted the docs/principles branch July 18, 2026 14:42
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