Add a build-time generator for static calendar JSON #14

Closed
opened 2026-07-01 00:57:49 +00:00 by manlycucumber · 1 comment
manlycucumber commented 2026-07-01 00:57:49 +00:00 (Migrated from github.com)

Problem

Hot calendar paths (common date ranges, current and adjacent years) should be served as pre-generated immutable JSON rather than computed per request. A Node build-time generator must produce these files from Core output.

Acceptance criteria

  • A Node build script generates static JSON for a configurable set of hot date ranges/systems/calendars.
  • Generated files are laid out by a deterministic path scheme matching the runtime key.
  • Re-running the generator is idempotent for unchanged inputs.
  • The generator is covered by a test that verifies output for a sample range.

Notes

Node is build-time only; no Python. Generated files must be byte-stable for ETag reuse.

## Problem Hot calendar paths (common date ranges, current and adjacent years) should be served as pre-generated immutable JSON rather than computed per request. A Node build-time generator must produce these files from Core output. ## Acceptance criteria - [ ] A Node build script generates static JSON for a configurable set of hot date ranges/systems/calendars. - [ ] Generated files are laid out by a deterministic path scheme matching the runtime key. - [ ] Re-running the generator is idempotent for unchanged inputs. - [ ] The generator is covered by a test that verifies output for a sample range. ## Notes Node is build-time only; no Python. Generated files must be byte-stable for ETag reuse.
manlycucumber commented 2026-07-03 05:50:34 +00:00 (Migrated from github.com)

Delivered in #135 (squash-merged to develop).

Delivered in #135 (squash-merged to `develop`).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Directorium/Api#14
No description provided.