docs blog library
github

Maintaining Jazz

Use these pages to answer two questions: where does a change belong, and which invariant must it preserve?

Read in this order

  1. Architecture: package ownership and dependency direction.
  2. Run lifecycle: input to final answer and persistence.
  3. Goal lifecycle: inferred intent, durable multi-run work, completion evidence, budgets, and recovery.
  4. Context lifecycle: pressure, trimming, compaction, and working state.
  5. Tool lifecycle: registration, selection, disclosure, approval, and execution.
  6. Plugin lifecycle: trusted code, artifacts, per-run sessions, and advisory hooks.
  7. Security threat model: trust boundaries and non-goals.
  8. Testing and evals: proving correctness and harness lift.
  9. Design decisions: why each choice is the way it is, and what it gives up.
  10. Documentation quality: writing code-backed concepts, lookup pages, and tutorials without filler or false completeness.

Reference

Extend Jazz

  • Add a service
  • Add a model provider
  • Use the architecture map to decide whether a capability is a tool, skill, MCP server, adapter, command, or surface before writing code.

Every maintainer page should link to current source and nearby tests. Historical implementation plans are not runtime documentation.

machine-readable: /docs/maintainers.md · /llms.txt · /llms-full.txt