Skip to content

Principles

MIC intentionally stays small. The framework is not the center of gravity; the service contract is.

The Six Non-Negotiables

  1. Strict contracts - reject fuzzy payloads and unstable schemas.
  2. Framework-agnostic code - domain logic does not import FastAPI, Litestar, or any other transport framework.
  3. Explicit dependency injection - dependencies are visible and testable.
  4. Domain errors as codes - clients receive stable error codes, not accidental exception text.
  5. 100% mirror tests - one source file, one test file, full line and branch coverage.
  6. Machine-readable failures - logs and metrics should be useful to humans and automation.