Instrumentation Naming & Event Contract Template

A fillable event contract template with naming conventions, required/optional payload documentation, versioning rules, privacy/compliance notes, test checklist, and a lightweight governance workflow. Saveable form fields help teams produce consistent, discoverable, and validated telemetry at the source.

Interactive Tool

Event Contract Template

Purpose

This template captures a clear, discoverable contract for a tracked event: its canonical name, payload schema, ownership, versioning, privacy considerations, test requirements, and rollout plan. Use it to avoid accidental telemetry artifacts, make events discoverable, and enable reliable downstream analysis.

Naming conventions (quick rules)

  • Use lowercase, dot-separated namespaces: <domain>.<entity>.<action> (e.g., orders.checkout.completed).
  • Prefer business semantics over implementation details.
  • Avoid verbs that imply system internals (use completed/succeeded/failed rather than ack).
  • Include version in the contract, not the name; use a separate version field for evolution.

How to use

Complete the fields below, attach or link a machine-readable schema (JSON Schema, Avro, Protobuf), and add tests. Save the contract and notify known consumers before rolling out changes.

Lowercase dot-separated namespace.entity.action (required). Example: orders.checkout.completed
High-level domain or team responsible for the event (e.g., orders, payments).
Semantic style recommended (e.g., 1.0, 2.0) or a simple integer. Increment when payload or semantics change in incompatible ways.
One-sentence business meaning of the event. Explain what the event represents and why it exists.
Service, component, or team that emits the event.
Person or team responsible for contract changes and consumer inquiries (name, team, email or ticket queue).
List systems, teams, dashboards, models, or reports that rely on this event (helps impact analysis).
Concrete examples of how the event is used in business logic, KPIs, or analytics (helps avoid accidental renames).
Link to machine-readable schema (JSON Schema / Avro / Protobuf). Prefer a versioned artifact located in a registry or repo.
List required fields, types, and short meanings. Example: order_id (string) — canonical order identifier. Use one per line.
List optional fields, types, and meanings. Specify default values if any.
Provide a representative JSON example (pretty-printed). Helps consumers understand typical and edge cases.
If yes, describe PII, PHI or other regulated fields below and reference compliance controls.
List fields considered PII/PHI or subject to special handling, masking, or encryption. Leave blank if not applicable.
How long raw events and derived artifacts should be retained, and where. Reference storage class or bucket where applicable.
Any regulatory or contractual considerations analysts and engineering must know before using the event.
How incompatible vs. compatible changes are handled.
Describe how to migrate consumers, compatibility guarantees, and whether older versions will be retained.
Pick tests that must run for this contract to be considered healthy.
Short checklist to validate event before rollout (e.g., schema passes, sample payloads emitted, consumers smoke-tested).
CI job or script name that runs contract validation (e.g., ci/event-contract-validate).
How known and potential consumers will be notified of changes (mailing list, changelog, deprecation window).
Phases, feature flags, canary windows, and rollback criteria.
How and when old versions will be deprecated and removed. Include minimum notice period.
Metrics or dashboards that rely on this event (helps prioritize stability).
Contract lifecycle state.
Name or id of the person who last edited this contract.
Any other information helpful to consumers or maintainers.
You can explore this tool now. Sign in or create an account to save your responses and return to them later.
Make this tool part of your work

Save a personal copy, bring it to your team, or tailor the questions and workflow to fit what you are hungry to improve.

Member customization and team collaboration are coming soon.

Discussion

Comments and conversation will live here.