Skip to main content

Y2K38 Time Bridge - Software router for 32→64 bit epoch translation with TIBET provenance and JIS identity

Project description

tibet-y2k38

Y2K38 Time Bridge — Software router for 32→64 bit epoch translation with TIBET provenance and JIS identity.

Why replace billions of chips when a software router can catch the dumb chip?

PyPI License: MIT

The Problem

On January 19, 2038 at 03:14:07 UTC, the signed 32-bit Unix epoch overflows. Billions of embedded devices — PLCs, sensors, GPS receivers, ATMs, medical monitors, avionics — will wrap to negative timestamps or 1970.

You cannot replace all these chips. Many devices are:

  • Embedded in walls, factories, vehicles, patients
  • Safety-certified (FDA, FAA, EASA, SIL 4) — recertification takes years
  • Running 20-40 year lifecycles
  • Cost-prohibitive to replace at scale

The Solution

A software router that sits between legacy 32-bit devices and modern 64-bit systems:

from tibet_y2k38 import TimeBridge

# Legacy Siemens PLC with 32-bit clock
bridge = TimeBridge(
    device_id="jis:factory:plc-line4",
    clock_bits=32,
    profile="scada"
)

# Translate the maximum 32-bit timestamp
result = bridge.translate(legacy_timestamp=0x7FFFFFFF)
print(result.translated_iso)  # 2038-01-19T03:14:07+00:00

# Every translation creates a TIBET provenance token
print(result.tibet_token["erachter"])
# "32→64 bit time bridge for device jis:factory:plc-line4, profile=scada, confidence=1.00"

Every translation is:

  • Identified via JIS (JTel Identity Standard) — each device has a verifiable identity
  • Provenance-tracked via TIBET (Time Intent Based Event Token) — immutable audit trail
  • Auditable — full chain from legacy input to 64-bit output

10 Sector Profiles

Sector Devices Worldwide Chip Replacement Key Challenge
IoT 15+ billion Impossible Deployed in unreachable locations
SCADA 50+ million €500-5k/unit 20+ year lifecycles, downtime = €10k-100k/hr
Automotive 1+ billion ECUs Billions in recalls 30+ ECUs per car, 15-20 year lifespan
Medical 100+ million Recertification = years FDA/CE certified, patient safety critical
Telecom 10+ million Cannot during uptime NTP overflow hits 2036! SS7 timestamps
GPS 4+ billion Scale impossible Week rollover already happened (2019!)
Banking 50+ million Mainframe = billions COBOL packed decimal, legally binding timestamps
Energy 500+ million Regulatory complex Smart meters, grid frequency depends on time sync
Aviation 5+ million FAA/EASA recert DO-178C certification, 30-40 year aircraft life
Rail 10+ million SIL 4 safety critical ERTMS/ETCS, incorrect time = collision risk
from tibet_y2k38 import TimeRouter

router = TimeRouter(network_id="jis:factory:eindhoven")

# Each device gets its sector-specific configuration
router.add_device("jis:plc:line4", profile="scada")      # BCD datetime
router.add_device("jis:gps:antenna", profile="gps")       # GPS week number
router.add_device("jis:atm:lobby", profile="banking")     # COBOL packed
router.add_device("jis:ntp:server1", profile="telecom")   # NTP 32-bit

# Route timestamps through the correct bridge
result = router.translate("jis:plc:line4", timestamp=0x7FFFFFFF)

Time Formats Supported

Format Description Overflow Date
UNIX_SIGNED_32 Standard signed 32-bit epoch 2038-01-19
UNIX_UNSIGNED_32 Unsigned 32-bit epoch 2106-02-07
NTP_32 NTP short format (epoch 1900) 2036-02-07
GPS_WEEK 10-bit GPS week counter ~19.7 year cycle
FAT_TIMESTAMP DOS/FAT 2-second resolution 2107-12-31
COBOL_PACKED COBOL packed decimal dates Format dependent
BCD_DATETIME Binary-Coded Decimal (PLCs) Format dependent

Compliance

Built-in compliance reporting for:

  • NIS2 (EU Directive 2022/2555) — Asset inventory, risk assessment, incident reporting, audit trails
  • ISO/IEC 5338 (AI system lifecycle) — Data lineage, provenance tracking, lifecycle documentation
from tibet_y2k38.compliance import NIS2Reporter, ISO5338Reporter

nis2 = NIS2Reporter(router)
print(nis2.risk_assessment())   # Devices at risk, mitigation status
print(nis2.audit_trail_report()) # TIBET provenance proof

iso = ISO5338Reporter(router)
print(iso.data_lineage_report()) # Full translation pipeline lineage

CLI

# Show Y2K38 countdown
tibet-y2k38 info

# Run interactive demo (10 sectors, overflow scenarios)
tibet-y2k38 demo

# List all sector profiles
tibet-y2k38 profiles

# Generate JSON compliance report
tibet-y2k38 report

Installation

pip install tibet-y2k38

# With rich terminal output
pip install tibet-y2k38[full]

How It Works

Legacy Device (32-bit)    TimeBridge         Modern System (64-bit)
┌──────────────┐     ┌──────────────────┐     ┌──────────────────┐
│ PLC/Sensor/  │     │ 1. Receive 32b   │     │                  │
│ GPS/ATM/...  │────>│ 2. Detect format │────>│ Correct 64-bit   │
│              │     │ 3. Translate     │     │ UTC timestamp    │
│ 0x7FFFFFFF   │     │ 4. TIBET token   │     │                  │
└──────────────┘     │ 5. JIS identity  │     └──────────────────┘
                     └──────────────────┘
                            │
                     ┌──────────────────┐
                     │ TIBET Audit Trail │
                     │ - ERIN: values   │
                     │ - ERAAN: deps    │
                     │ - EROMHEEN: ctx  │
                     │ - ERACHTER: why  │
                     └──────────────────┘

The Bigger Picture

This package is part of the Humotica ecosystem:

Standards:

License

MIT — Humotica AI Lab (humotica.com)

Authors: J. van de Meent & R. AI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tibet_y2k38-0.1.0.tar.gz (27.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tibet_y2k38-0.1.0-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file tibet_y2k38-0.1.0.tar.gz.

File metadata

  • Download URL: tibet_y2k38-0.1.0.tar.gz
  • Upload date:
  • Size: 27.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tibet_y2k38-0.1.0.tar.gz
Algorithm Hash digest
SHA256 553182130dd520ac23992da119954193a277346a1b47c17f21c70645146924fc
MD5 f4faf4e2bb9a127b7ac1538bebefac56
BLAKE2b-256 839aa0154c242f6e2c8f404d8fbcd76de4ac1a583920e8faf935cb425cab889a

See more details on using hashes here.

File details

Details for the file tibet_y2k38-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tibet_y2k38-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tibet_y2k38-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3bd5227f309eccd3f694240e0375e271bdb739afb871921845695f5b83302b7a
MD5 f5e6c6f68dccabe62014b209e556f12f
BLAKE2b-256 88ba84dc6cd15ca7748588bf918265804b56c087565d1dc2699be37ad016d71c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page