[DEPRECATED] Y2K38 Time Bridge - Software router for 32→64 bit epoch translation with TIBET provenance and JIS identity
Project description
tibet-y2k38
Time Bridge — Where TIBET provenance meets legacy infrastructure.
What This Is
TIBET gives every action provenance. JIS gives every device identity. Together, they can bridge any system — old or new — into a trusted, auditable network.
tibet-y2k38 applies this to time-critical infrastructure: billions of embedded devices that speak different clock formats, different bit widths, different epochs. The bridge translates between them — and every translation carries proof.
from tibet_y2k38 import TimeBridge
bridge = TimeBridge(
device_id="jis:factory:plc-line4",
clock_bits=32,
profile="scada"
)
result = bridge.translate(legacy_timestamp=0x7FFFFFFF)
print(result.translated_iso) # 2038-01-19T03:14:07+00:00
print(result.tibet_token["erin"]) # What was translated
print(result.tibet_token["erachter"]) # Why it was translated
JIS identifies the device. TIBET proves the translation. The bridge connects worlds.
How It Works
Any Device (any clock) TimeBridge Modern System
┌──────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ 32-bit PLC │ │ │ │ │
│ GPS receiver │ │ JIS identity │ │ Correct 64-bit │
│ NTP server │────>│ Format detect │────>│ UTC timestamp │
│ COBOL system │ │ Translate │ │ with provenance │
│ Smart meter │ │ TIBET token │ │ │
└──────────────┘ └────────┬─────────┘ └──────────────────┘
│
┌────────┴─────────┐
│ Audit Trail │
│ ERIN: values │
│ ERAAN: deps │
│ EROMHEEN: ctx │
│ ERACHTER: why │
└──────────────────┘
The same router architecture works for every sector where devices can't be replaced but time must be trusted:
10 Sector Profiles
| Sector | Profile | Clock Format | Compliance |
|---|---|---|---|
| IoT | iot |
Unix 32-bit | CE, FCC, GDPR |
| Industrial | scada |
BCD datetime | IEC 62443, NIS2 |
| Automotive | automotive |
Unix 32-bit | ISO 26262, UNECE |
| Medical | medical |
Unix 32-bit | FDA 21 CFR, MDR |
| Telecom | telecom |
NTP 32-bit | NIS2, 3GPP, ITU-T |
| Navigation | gps |
GPS week (10-bit) | ICAO, DO-229E |
| Financial | banking |
COBOL packed | PCI DSS, DORA, MiFID II |
| Energy | energy |
Unix 32-bit | NIS2, IEC 61850 |
| Aviation | aviation |
Unix 32-bit | DO-178C, FAA, EASA |
| Railway | rail |
Unix 32-bit | EN 50128, SIL 4 |
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")
router.add_device("jis:gps:antenna", profile="gps")
router.add_device("jis:atm:lobby", profile="banking")
router.add_device("jis:ntp:server1", profile="telecom")
# Route timestamps through the correct bridge
result = router.translate("jis:plc:line4", timestamp=0x7FFFFFFF)
# Network-wide risk and anomaly detection
print(router.status())
print(router.anomalies())
Time Formats
| Format | Description | Key Dates |
|---|---|---|
UNIX_SIGNED_32 |
Standard signed 32-bit epoch | Overflows 2038-01-19 |
UNIX_UNSIGNED_32 |
Unsigned 32-bit epoch | Overflows 2106-02-07 |
NTP_32 |
NTP short format (epoch 1900) | Overflows 2036-02-07 |
GPS_WEEK |
10-bit GPS week counter | Rolls every ~19.7 years |
FAT_TIMESTAMP |
DOS/FAT 2-second resolution | Max 2107-12-31 |
COBOL_PACKED |
COBOL packed decimal dates | Format dependent |
BCD_DATETIME |
Binary-Coded Decimal (PLCs) | Format dependent |
Compliance
Built-in reporting for NIS2 and ISO/IEC 5338 — because provenance isn't optional in regulated industries.
from tibet_y2k38.compliance import NIS2Reporter, ISO5338Reporter
nis2 = NIS2Reporter(router)
print(nis2.risk_assessment())
print(nis2.audit_trail_report())
iso = ISO5338Reporter(router)
print(iso.data_lineage_report())
TIBET provides the provenance layer that ISO 5338 requires but doesn't define how to implement. This bridge is that how.
CLI
tibet-y2k38 info # Countdown and overview
tibet-y2k38 demo # Interactive demo across all sectors
tibet-y2k38 profiles # Detailed sector profiles
tibet-y2k38 report # JSON compliance report
Installation
pip install tibet-y2k38
Part of the TIBET/JIS Ecosystem
| Package | Purpose |
|---|---|
| tibet-core | Protocol core (zero dependencies) |
| jis-core | Identity standard |
| tibet-audit | Audit tooling |
| tibet-forge | Code certification |
| tibet-y2k38 | Time bridge (this package) |
Standards:
- IETF: draft-vandemeent-tibet-provenance-00 · draft-vandemeent-jis-identity-00
- Zenodo: TIBET · JIS · JIS/TIBET Coupling
License
MIT — Humotica AI Lab
Authors: J. van de Meent & R. AI
Enterprise
For private hub hosting, SLA support, custom integrations, or compliance guidance:
| Enterprise | enterprise@humotica.com |
| Support | support@humotica.com |
| Security | security@humotica.com |
See ENTERPRISE.md for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tibet_y2k38-0.1.1.tar.gz.
File metadata
- Download URL: tibet_y2k38-0.1.1.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4314cbb89725af0e35c68fc3cd6fc3177d30d9de39c1b20cb7caf5c2cf86ba5c
|
|
| MD5 |
8d6c134d2bd612683608abbb89fc244e
|
|
| BLAKE2b-256 |
0541057c1b15137528b1177223da37e171da1a33b52d01b2c23ede556c8069df
|
File details
Details for the file tibet_y2k38-0.1.1-py3-none-any.whl.
File metadata
- Download URL: tibet_y2k38-0.1.1-py3-none-any.whl
- Upload date:
- Size: 37.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddc517c3312e09588cc5b6b01c4ef3a29f8224fb349159a90dc65e1a516e0767
|
|
| MD5 |
051b1efb43f5b713db0fd82aa15f8b9d
|
|
| BLAKE2b-256 |
00995a323d57c7c65cac093068c3a70e74f54b00eabd5f71dd5eb0f7abf36952
|