Introducing TCL-Y2K v1.0.0-rc2

GitHub

Easy Date Entry for Users · Effortless Date Management in Any Database.

QUICK INSTALL: npm i @tcl-y2k/core cargo add tcl-y2k pip install tcl-y2k
Specification & Syntax Reference Guide v1.0.0-rc2 · September 2026
Read Normative Specification (v1.0.0-rc2 RFC & ABNF Definition)
The formal normative definition of the 3-Track Coordinate System, bounding invariants, SQL query semantics, and polyglot reference engines.
View Spec
Introducing TCL-Y2K

TCL-Y2K (Universal 3-Track Time Code Layer) is a sovereign coordinate engine format. It is easy for humans to read and write. It is easy for machines and relational databases to index and query without slow regex scans. It bridges the gap between expressive text strings and exact point-in-time timestamps. TCL-Y2K is a text format designed for natural, effortless data entry. It allows everyday users, archivists, and catalogers to enter dates exactly as they read and write them (early 1950s, 13th century, 53 BCE, c1976, 1998..2004), using intuitive, punctuation-friendly conventions that prevent input errors in search bars, web forms, and catalog databases. These properties make TCL-Y2K an ideal temporal data-entry and interchange format.

TCL-Y2K is built on three structures:

  • A semantic presentation track. In various systems, this is a human-readable expression of precision and certainty.
  • A macro epoch track. In most languages and databases, this is realized as a signed 64-bit integer bounding box of [start_day, end_day], anchored to 2000-01-01 (Day 0).
  • A micro media track. This represents sub-microsecond time bounds or millisecond video/audio streaming offsets.

These are universal temporal structures. Virtually all modern databases, astronomical systems, and financial systems support them in one form or another. It makes sense that a coordinate format that is interchangeable with polyglot environments also be based on these structures.

In TCL-Y2K, intervals and bounds take on these forms:
  • A closed interval is a fixed temporal range. It begins with a start value and ends with an end value. The values are separated by .. double dot.
  • An open start bound is a range without a known beginning. It begins with .. double dot and ends with an end value.
  • An open end bound is a range without a known conclusion. It begins with a start value and ends with .. double dot.
  • An exact calendar date adheres to standard ISO 8601 (YYYY-MM-DD) (e.g., 2000-01-01, 2024-03-15), acting as the starting point for precise time and compiling directly into an exact single-day bounding box with zero migration friction.
  • A value can be a standard year (e.g., 1976), a fiscal quarter (e.g., 2024-Q1), a semester (e.g., 2024-S1), or a named season (e.g., 1984-Fall).
  • A year can express uncertainty or approximation using URL-safe conventions. An uncertain year is followed by -u (e.g., 1976-u). An approximate year is preceded by c or followed by -a (e.g., c1976). Case-insensitive masks can use X to denote decades (e.g., 198X). A year is very much like a standard calendar year, except it is strictly parsed into an integer range of days.
  • A historical expression captures natural human historiographical and archival notation: ordinal centuries (e.g., 13th century, 5th century BCE), sub-decade partitions (e.g., early 1950s, mid 1940s, late 1960s), plural decades (e.g., 1950s), and BCE dates (e.g., 53 BCE, c53 BCE, 53-03-15 BCE).

A macro epoch coordinate is a signed 64-bit integer representing days from the worldwide millennium turn (2000-01-01). A day coordinate is very much like a standard integer, providing exact modulo arithmetic across all cosmic time without float precision drift. It spans ±5.8 trillion days, capturing the entire 13.8 billion-year universe. Sub-microsecond SQL interval math is evaluated using simple overlap logic: start_day <= B.end AND end_day >= B.start.

Temporal Era Milestone Event Calendar Date Day Coordinate System Anchor
Epoch Zero Worldwide Millennium Turn 2000-01-01 Day 0 Civil Calendar Epoch
Negative Days First Web Page Online at CERN 1991-08-06 Day -3,070 Birth of the Web
Negative Days Apollo 11 Moon Landing 1969-07-20 Day -11,122 Global Exploration
Positive Days James Webb Telescope Deep Field 2022-07-11 Day +8,227 Early Cosmic History
Positive Days Unix 32-Bit Roll-Over (Y2K38) 2038-01-19 Day +13,898 Solved by 64-Bit TCL-Y2K

Excepting a few secondary EDTF compatibility details, that completely describes the engine.

Syntax Preferences: TCL-Y2K is designed as a URL-safe, SQL-friendly primary notation for web APIs, distributed databases, and streaming pipelines. EDTF (ISO 8601-2) is fully supported as a secondary notation for legacy and archival library compatibility.
ISO 8601 (YYYY-MM-DD) as the Precise Baseline: Standard ISO 8601 serves as the universal foundation for exact calendar dates. TCL-Y2K natively adopts this standard, meaning exact inputs like 2024-03-15 or 2000-01-01 act as the starting point and require no conversion.

However, real-world information is frequently less exact. Human memory, historical records, and everyday planning often naturally express time as a span or an approximation—such as c1976, the 1950s, or 2024-Q3. When systems expect a precise day, recording these broader timeframes often requires defaulting to a specific date (like January 1st), which can inadvertently obscure the true, approximate nature of the original information.

TCL-Y2K builds upon ISO 8601 to capture this natural human ambiguity. It expands the standard to safely and accurately record uncertainty (1976-u), approximations (c1976), intervals (1998..2004), and natural eras (13th century)—preserving the exact level of detail known, while translating them all into clean, queryable database bounds.
Database & SQL Wildcard Safety: In relational databases (SQLite, PostgreSQL, MySQL, DuckDB), ? is the universal positional parameter placeholder / single-char wildcard, while % is the standard SQL LIKE multi-character wildcard. Storing or querying raw EDTF tokens like 1976? or 1976% triggers severe wildcard matching collisions, driver syntax errors, and escaping bugs. TCL-Y2K's 1976-u and 1976-i are clean alphanumeric tokens that are 100% database wildcard safe and URL-safe.
Temporal Domain Preferred TCL-Y2K (Primary) Supported EDTF (Secondary) Rationale & System Advantage
Exact Date (ISO 8601) YYYY-MM-DD (e.g. 2024-03-15, 2000-01-01) YYYY-MM-DD The universal ISO 8601-1 starting point for precise dates. Parsed natively as exact single-day bounds [day, day] with zero migration friction, providing the baseline upon which real-world uncertainty and interval extensions are built.
Closed Intervals 1976..1985 1976/1985 .. is safe in REST URL paths & queries; / breaks HTTP routing.
Open Start Bounds ..2026-01-01 or ..1984 ../1984 Pure .. prefix avoids slash (/) collisions in REST URI path segments.
Open End Bounds 2020-01-01.. 2020-01-01/.. Pure .. suffix avoids trailing-slash stripping bugs by reverse proxies and CDNs.
Fiscal Quarters 2024-Q1 through 2024-Q4 2024-21 through 2024-24 Human-readable and standard in financial accounting and SQL reporting.
Semesters & Halves 2024-S1, 2024-H2 Not in EDTF First-class support for academic semesters and financial half-year statements.
Named Seasons 1976-Spring, 1984-Fall 1976-21 Self-documenting in historical archives without looking up arbitrary numeric codes.
URL-Safe Uncertainty 1976-u (or 1976-unkn) 1976? 1976-u prevents query delimiter (?) collisions in HTTP GET requests and parameter placeholder / wildcard collisions in SQL databases.
URL-Safe Approx c1976 or 1976-a 1976~ c1976 & 1976-a avoid URL escaping and match historian convention (circa).
URL-Safe Inferred 1976-i (or 1976-infer) 1976% Avoids % which causes URI percent-decoding crashes on web servers and acts as the multi-character wildcard in SQL LIKE queries.
Ordinal Centuries 13th century, 5th century BCE Not in EDTF
(Literal text unsupported; requires manual numeric range: 1201/1300, -0499/-0400)
The literal text strings 13th century and 5th century BCE are not supported in EDTF. Because EDTF requires manual computation of numeric slash intervals (1201/1300), users can easily introduce off-by-one errors (such as mistyping 12XX, which is 1200–1299). TCL-Y2K allows direct, natural human data entry, strictly mapped to cardinal century boundaries: 1201-01-01..1300-12-31.
Decades & Plurals 1950s (or 1950's) Not in EDTF
(Colloquial plural unsupported; EDTF requires masked year 195X)
Universal archival and colloquial plural syntax; bounds 1950-01-01..1959-12-31 with inferred certainty.
Sub-Decade Partitions early 1950s, mid 1940s, late 1960s Not in EDTF Standard archival 4–3–3 rule: early (0–3), mid (4–6), late (7–9). Default approximate certainty.
Human BCE / BC Years 53 BCE (or 53 BC) Not in EDTF
(Human era text unsupported; EDTF requires astronomical -0052)
Continuous astronomical conversion y_astro = -(y_human - 1) eliminates astronomical/human off-by-one errors.
Case-Insensitive Masks 198X, 198x, 19xx 198X, 19XX Robust against user case input across search bars, archival catalogs, and CLI tools.
Micro Streaming Media tcly2k-media:1984-01-24#125430 Not in EDTF Binds wall-clock calendar dates directly to millisecond video/audio streaming offsets.
Codified Rules & Mathematical Bounds Reference: Deterministic coordinate mapping from natural archival temporal expressions to signed 64-bit integer day bounds [start_day, end_day] ([tStartDay, tEndDay]) relative to Epoch Zero (2000-01-01).
Expression Category Syntax / Input Signed Day Range [start_day, end_day] Precision Certainty Presentation (Display)
Ordinal Century (CE) 13th century [-291828, -255305] century exact 13th century
Ordinal Century (BCE) 5th century BCE [-912741, -876217] century exact 5th century BCE
Decade Plural 1950s [-18262, -14611] decade inferred 1950s
Sub-Decade (Early) early 1950s [-18262, -16802] decade approximate early 1950s
Sub-Decade (Mid) mid 1940s [-20454, -19359] decade approximate mid 1940s
Sub-Decade (Late) late 1960s [-12053, -10958] decade approximate late 1960s
Unspecified Century Mask 19xx / 19XX [-36524, -1] century inferred 1900s century
Unspecified Decade Mask 198x / 198X [-7305, -3653] decade inferred 1980s decade
BCE Year (Human) 53 BCE / 53 BC [-749478, -749113] year exact 53 BCE
Approximate BCE Year c53 BCE / 53-approx BCE [-749478, -749113] year approximate circa 53 BCE
BCE Calendar Day 53-03-15 BCE [-749404, -749404] day exact 53-03-15 BCE
BCE Calendar Quarter 53-Q1 BCE [-749478, -749388] quarter exact Q1 53 BCE
Cross-Era Interval 44 BC..14 AD [-746190, -725007] day exact 44 BC – 14 AD
Exact Year (CE) 1976 [-8766, -8401] year exact 1976
Exact Date (ISO 8601) 2000-01-01 / 2024-03-15 [0, 0] / [8839, 8839] day exact 2000-01-01 / 2024-03-15
Fiscal Quarter 2024-Q3 [8948, 9039] quarter exact Q3 2024
Academic Semester 2024-S1 [8766, 8947] semester exact S1 2024
Named Season 1976-Spring [-8706, -8615] season exact Spring 1976
Open Start Bound ..1984 [-2147483648, -5479] day inferred before 1984
Open End Bound 2020-01-01.. [7305, 2147483647] day inferred after 2020-01-01
Live Verification Suite (83 Conformance Tests)
83 / 83 Passed
ID Description Input Expected [Start, End] Computed [Start, End] Status
Interactive 3-Track Coordinate Parser EXACT
Canonical:
URL & Certainty:
Qtr & Season:
Deep Time & Masks:
Archival & Decades:
Track 1: Semantic Presentation
possibly 1976
Precision: year
Certainty: uncertain
Track 2: Macro Epoch (Day Bounds)
[-8766, -8401]
Start Day: -8766
End Day: -8401
Track 3: Micro Media / Time Bounds
[0, 86399] s
Start Sec: 0
End Sec: 86399
-15,000 Days (~1959) Year 2000 (Day 0) +15,000 Days (~2041)
Allen's Interval Algebra
Interval A: 1976 – 1985 [-8766, -5114]
Interval B: 1984-01-24 [-5821, -5821]
Polyglot Query & Multi-Runtime Code
-- Loading code...