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
Credits
Designed by Jasper van de Meent. Built by Jasper and Root AI as part of HumoticaOS.
Stack-positie: Groep specialized · Eigen tijdlijn — niet onderdeel van de ainternet/evidence-spine · ← tibet-cobol · tibet-pqc → · See STACK.md · See demo/golden-path/ for the spine end-to-end.
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.
Metadata
Release files for tibet-y2k38 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tibet_y2k38-0.1.2.tar.gz | 26.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tibet_y2k38-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 64.8 kB
Release files / tibet_y2k38-0.1.2.tar.gz
| Download URL | tibet_y2k38-0.1.2.tar.gz |
|---|---|
| Size | 26.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e0c34634087f64af3c6355d97cd04bedeb391db595af12d2ffd42951fad6da12
|
|
BLAKE2b-256 checksum How to use checksums |
4edd8e99ebb5b0721130e99c2a29f2834bc236da250bc80b003aecfbad0ddab9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / tibet_y2k38-0.1.2-py3-none-any.whl
| Download URL | tibet_y2k38-0.1.2-py3-none-any.whl |
|---|---|
| Size | 37.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
37b168a6f0ac8b99f427da70ec143378d1dd2a0a2dadb418dfcb00ec61e6910b
|
|
BLAKE2b-256 checksum How to use checksums |
5eecf901da6a3ce739f1963543c104c35525ceb8aeda50830dae42347038bc0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|