Skip to content

ADR practice

Architecture decisions (ADR index) holds the template and starter decisions (ADR-001–004). This page defines operating rules so ADRs accumulate cleanly as the team and codebase grow.

Create a new ADR (do not only edit narrative docs) when:

  • Integration style changes (e.g. webhook-first vs poll-first, OAuth storage).
  • Adding/removing DocType overrides of core ERPNext behavior.
  • Material changes to guest APIs, auth flows, or webhook verification.
  • Scheduler frequency, idempotency, or data retention policy changes in a way that affects operations or compliance.

Small bug fixes and copy edits do not need an ADR.

RuleDetail
SequenceADR-NNN — three digits, monotonic (005, 006, …).
TitleShort noun phrase: ADR-005 — Stripe webhook idempotency keys.
StatusProposedAccepted → optionally Superseded by ADR-XXX.
ModeLocationWhen
Single file (current default)Append to Architecture decisions under “Indexed decisions”.Few decisions per quarter.
Split files (optional)One file per ADR under docs/src/content/docs/reference/adr/ e.g. adr-005-stripe-idempotency.mdMany decisions; easier PR review.

If you split: replace the long “Indexed decisions” section on the index page with links only (keep template and “Purpose” on the index).

When replacing a decision:

  1. Add Superseded by ADR-NNN to the old entry’s Status.
  2. New ADR’s Context should cite the old ADR and why reality changed.
  3. Link PRs or issues in the new ADR’s Consequences or Code pointers section.
  • Prefer one ADR per PR when the decision is the main change.
  • If the PR implements the decision, add “ADR: ADR-NNN” to the PR title or description for traceability.