timescale.info
Sign inSign up

How OpenChronology was built

Every merged pull request of openchronology/timeline-app, its first week of commits and its releases; and before them the 2020 PureScript editor, from snapshots of its deleted repositories in the Wayback Machine. Written to this server through the HTTP API.

327 moments · 2020-03-09T00:15:08Z CE – 2026-11-02T20:11:21Z CE · by @athan · @athan

#391 · Technical disclosures: OpenChronology's mechanisms in implementable detail

  • timeline-app
  • pull request

Refs #388 Adds `docs/disclosures/`: a dated, public technical description of OpenChronology's mechanisms, detailed enough to implement, as a defensive publication. It is engineering documentation with one short, neutral statement of purpose and no legal claims. ## Disclosures | Document | First public | | --- | --- | | `rational-time.md`: exact rationals, ordering across JS/PostgreSQL/SQLite, `oc_qkey` | `88aea8c` 2026-10-05, v0.1.0 | | `viewport-rasterization.md`: power-of-two grid camera rounding, reciprocal wheel factors | `88aea8c` 2026-10-05, v0.1.0 | | `persistent-interval-index.md`: AVL moment/duration/arc trees as rows, bounded walks, O(k log n) saves | `88aea8c` / `61c0f77` 2026-10-08, v0.1.0 | | `history-and-forks.md`: versions as rows, read-through forks, versioned index rows, `differences`, merges | `d7a9a23` 2026-10-13, v0.1.0 | | `summaries-and-clustering.md`: anchored-span grouping, 256 longest bands, layout | `88aea8c` 2026-10-05, v0.1.0 (bands v0.9.4) | | `viewport-cache.md`: multi-resolution window cache, prefetch, eviction, IndexedDB | `6530edf` 2026-10-07, v0.1.0 | | `time-presentation.md`: exact printers/parsers, BigInt rounding, rulers, restricted language | `88aea8c` 2026-10-05, v0.1.0 | | `plugin-sandbox.md`: plugin interpreter, host-drawn effects, compile-only worker sandbox | `6530edf` 2026-10-07, v0.1.0 | | `log-ingestion.md`: syslog/journald/log files at exact times, batching, retention | `055e5d6` 2026-10-10, v0.1.0 | | `time-mapping.md`: exact affine time mapping, delete-range, comparisons | `7347c96` 2026-10-15, v0.1.0 | | `desktop-file-format.md`: `.och` disk baselines, token-matched saves, staged patches | `6530edf` 2026-10-07, v0.1.0 | Each document covers the field and problem, the mechanism, data structures, algorithms with pseudocode, complexity, variations, implementation links pinned to `007091c`, benchmarks (cited from `docs/benchmarks.md`, `docs/architecture.md` and tests; the rasterization bit-size table was measured by running the code), and first public disclosure. Where code and docs disagree, the documents follow the code and say so. The index's **Keeping the record** section says releases and tags are never deleted or force-moved, and lists follow-up steps for the maintainer (none taken here): Software Heritage Save Code Now, optional Zenodo DOIs per release, optional submission to Technical Disclosure Commons. Immutable releases are currently off for this repository and no ruleset protects tags; both are repository settings. Linked from `README.md` and `docs/README.md`. `npm test` passes; Prettier is clean on the changed Markdown.

Sources

Open #391 · Technical disclosures: OpenChronology's mechanisms in implementable detail in the timeline