Skip to content

ADR 0015 scope boundaries

Karthik P edited this page Oct 31, 2026 · 1 revision

ADR-0015: Scope boundaries

Holidays, business days, working hours, pay periods and sprints are out of scope, and fiscalclock exposes periods as plain date intervals that other tools can build on.

Last reviewed: 31 Oct 2026

Status

Accepted on 31 Oct 2026. Decided by the research documents: the research proposal ("Adoption and positioning" and "Risks and decisions"). Applies from 0.1.0 and to every later release.

Context

The proposal names losing focus as the biggest risk, and its risk table rates scope creep into holidays, business days and pay periods as High likelihood. It points to fiscalyear, which it says stalled with one maintainer (Analysis). Several surveyed tools mix concerns: retailcalendar adds US and Brazil holidays, and fiscal-year-calendar bundles holidays and accounting connectors, according to the proposal. Tempo lists sprints and pay periods under "What is not here yet" (Evidence).

The proposal also notes a sibling project, workclock, that covers business days through period intervals. Business-day proration bases belong there, not here (ADR-0016).

Decision drivers

  • A small team must be able to keep every result correct and evidenced.
  • Holiday and working-time rules differ by jurisdiction and would need data that this project cannot evidence to its own standard.
  • Users still need to combine fiscal periods with business-day logic.

Considered options

Option 1: Include holidays and business days

Pros:

  • One library for every date question a finance team asks.

Cons:

  • Holiday data needs constant updates per country, which this project cannot evidence to its own standard.
  • Doubles the surface the conformance suite must cover.

Option 2: Strict fiscal scope, periods as plain intervals (chosen)

Pros:

  • Every feature is a fiscal calendar computation with a clear oracle.
  • Other tools consume [start, end_exclusive) intervals without depending on fiscalclock internals.

Cons:

  • Users who need business days must add another library.

Option 3: Plug-in hooks for holidays

Pros:

  • Keeps holiday data outside the core while integrating it.

Cons:

  • A plug-in API is public surface to design, version and keep identical across languages.

Decision

Option 2. The out-of-scope list is in the README and in AGENTS.md ("Out of scope"): holidays, business days, working hours, pay periods and sprints. Requests to add them are declined, and periods are exposed as plain intervals instead. Changing the scope needs an ADR (ADR-0001).

Consequences

Good:

  • Reviewers have a clear rule for declining feature requests.

Bad:

  • Some users will need two libraries for a common question, such as business days in a fiscal quarter.
  • Proration has no business-day basis (ADR-0016).

Links

Clone this wiki locally