Setzt den OpenSpec-Change phase-3-ortszeit um (21/21 Aufgaben) und zieht
damit die in Phase 3 eingegangene Abweichung zurueck: DATE$, TIME$, TIMER
und NOW rechnen in der Zeitzone des Rechners, TIMER zaehlt ab der lokalen
Mitternacht.
Versatzermittlung
- jiff 0.2.35 als Abhaengigkeit von tb-runtime
- datetime::utc_versatz(zeitpunkt) ist der einzige Aufrufpunkt der
Bibliothek; die Kalenderrechnung darunter bleibt Eigenimplementierung
und sieht sie nie -- zwei Kalendermodelle nebeneinander waeren eine
dauerhafte Fehlerquelle
- Der Versatz gilt je Zeitpunkt, nicht je Programmlauf: ein Programm, das
ueber eine Zeitumstellung hinweg laeuft, folgt ihr
Zonenzustand
- Zeitzone { System, Fest(i32), Unbekannt } im RtState
- Fest(n) macht Tests und Korpusprogramme unabhaengig von der Zone des
Testrechners; TZ waere prozessweit und set_var seit Rust 2024 unsafe
Rueckfallebene
- Ohne ermittelbare Zone gilt UTC, das Programm laeuft weiter
- tbc run meldet den Rueckfall einmal beim Start auf der Fehlerausgabe,
nicht je Abfrage -- ein stiller Wechsel waere ein Verstoss gegen den
Guiding Principle
Korpus
- Neue Direktive ' tb-tz: +-HH:MM im Harness
- zeitzone.bas prueft Ortszeit, TIMER ab lokaler Mitternacht und den
Programmversatz gegen eine gesetzte Uhrzeit
- datumzeit.bas auf die Direktive umgestellt; Sollausgabe unveraendert
Nebenbefund
- TIMER trennt jetzt ganze Sekunden (Ortszeit) vom Bruchteil
(Systemuhr). Ohne die Trennung waere TIMER in Zonen mit halbstuendigem
Versatz gesprungen.
Dokumentation: die Abweichung "Uhr laeuft in UTC" entfaellt aus
sprachreferenz.md; bibliothek.md und PLAN.md nachgezogen, jiff steht im
Stufe-2-Ideenspeicher neben crossterm.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
43 lines
768 B
TOML
43 lines
768 B
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/tb-frontend",
|
|
"crates/tb-vm",
|
|
"crates/tb-runtime",
|
|
"crates/tb-ui",
|
|
"crates/tb-cli",
|
|
"crates/tb-ide",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
repository = ""
|
|
authors = ["Georg Bauer"]
|
|
|
|
[workspace.dependencies]
|
|
# UI / Terminal
|
|
ratatui = "0.29"
|
|
crossterm = "0.28"
|
|
|
|
# Text und Zeit
|
|
unicode-width = "0.2"
|
|
# Nur fuer den UTC-Versatz zu einem Zeitpunkt (siehe design.md, D1/D2).
|
|
jiff = "0.2"
|
|
|
|
# Allgemein
|
|
anyhow = "1"
|
|
thiserror = "2"
|
|
log = "0.4"
|
|
|
|
# Interne Crates
|
|
tb-frontend = { path = "crates/tb-frontend" }
|
|
tb-vm = { path = "crates/tb-vm" }
|
|
tb-runtime = { path = "crates/tb-runtime" }
|
|
tb-ui = { path = "crates/tb-ui" }
|
|
|
|
[profile.release]
|
|
lto = true
|
|
codegen-units = 1
|