#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.