Laufzeit-Eingabe und Zonenzustand korrigieren und Change archivieren

This commit is contained in:
2026-09-06 08:04:22 +02:00
parent 815825dde7
commit c8b92f0619
36 changed files with 1104 additions and 91 deletions

View File

@@ -0,0 +1,76 @@
# Verification Report: laufzeit-eingabe-und-systemstatus
Erneute Prüfung am 06.09.2026. Grundlage ist der aktuelle, noch uncommittete
Arbeitsbaum auf `815825dde76eb8f4b48cb27d83f21732afe707c2`. Die Aussage aus
`verification.md` wurde gegen Proposal, Design, Tasks, alle vier Delta-Specs,
die tatsächlichen Aufrufpfade und zusätzlich erstellte Reviewproben geprüft.
## Summary
| Dimension | Ergebnis |
|---|---|
| Vollständigkeit | 6/6 Tasks abgeschlossen; 6 Requirements mit 21 Szenarien abgeglichen |
| Korrektheit | 463 Workspace-Tests und 5 unabhängige Reviewproben bestanden |
| Kohärenz | D1D4 eingehalten; gemeinsame Dateileseposition, Codepoint-/Byte-Trennung, Pfadfehler und aktuelle Zonenauflösung |
| CRITICAL | 0 |
| WARNING | 0 |
| SUGGESTION | 0 |
**Keine offenen Befunde im geprüften Change.** Die vorhandene
[Szenariozuordnung](verification.md#szenarien-und-ausführbare-nachweise)
ist durch die erneute Codeprüfung und den aktuellen Testlauf bestätigt.
## Zusätzliche unabhängige Proben
[review-probes.rs](review-probes.rs) wurde separat mit `rustc --test` gegen
die aktuell gebauten `tb_vm`- und `tb_runtime`-Bibliotheken aus
`target/debug/deps` übersetzt und ausgeführt. Alle fünf Tests bestanden.
Die Proben wurden nicht aus den vorhandenen Tests kopiert.
| Probe | Abdeckung / Ergebnis |
|---|---|
| `write_input_roundtrip_string_matrix` | 100 Kombinationen aus leeren Strings, ASCII, Leerzeichen, Tab, Anführungszeichen, Komma, CRLF, ä/Emoji, NUL und geschütztem Leerzeichen: WRITE und zwei folgende INPUT-#-Aufrufe erhalten Inhalt und nächstes Feld exakt |
| `all_nine_file_read_transitions` | Sämtliche 3×3 Übergänge zwischen INPUT #, INPUT$ und LINE INPUT # auf derselben UTF-8-/CRLF-Datei liefern den erwarteten Cursorfortschritt |
| `every_mk_cv_pair_preserves_target_values_and_width` | INTEGER-/LONG-/CURRENCY-Grenzen, negative Null und Fließkomma-Grenzwerte bleiben typ- und bitgetreu; jeweils zu kurze und zu lange Argumente erzeugen Fehler 5 |
| `timezoneknown_survives_tbc_and_source_failure_recovery` | Neuer Builtin über Kompilat-Speicherung und -Laden ausführbar; derselbe Resolver wechselt bekannt → ausgefallen → bekannte UTC. BASIC liefert INTEGER -1/0/-1; Zonenquelle und Programmversatz bleiben unverändert |
| `successive_function_keys_are_split_in_order` | Zwei aufeinanderfolgende erweiterte Tasten und Emoji werden durch INPUT$(3), INPUT$(1), INPUT$(1) ohne Verlust oder Umordnung gelesen |
Statisch zusätzlich abgeglichen: gemeinsame Leser-/SEEK-/EOF-Aufrufpfade,
Binärzugriff nach Einführung von BufReader, beide INPUT$-Dispatchwege,
Trap-Behandlung bereits angenommener Reste, alle fünf CV-Zieltypen,
OPEN/KILL/NAME/MKDIR-Fehlerzuordnung sowie Frontend/HIR/Builtin-ID/CLI
und alle Zeitfunktionen einschließlich der Zuweisungen an DATE$/TIME$.
Die neue Builtin-ID wird angehängt; bestehende IDs werden nicht verschoben.
## Erneut ausgeführte Abnahme
- `cargo test --workspace --quiet`: **463 bestanden, 0 fehlgeschlagen,
1 ignoriert**; der Golden-Generator blieb ignoriert.
- Separate Reviewproben: **5 bestanden, 0 fehlgeschlagen**.
- `cargo clippy --workspace --all-targets --all-features -- -D warnings`: bestanden.
- `cargo fmt --all -- --check`: bestanden.
- `git diff --check`: bestanden vor dem Staging. Die abschließende
Prüfung des gestagten Changes mit `git diff --cached --check -- .
':(exclude)tests/compat/*.out'` besteht ebenfalls. Die neuen `.out`-Dateien
enthalten absichtlich signifikante PRINT-Leerzeichen am Zeilenende.
- `openspec validate laufzeit-eingabe-und-systemstatus --strict`: bestanden.
- `openspec status` und `openspec instructions apply`: Planung vollständig,
6/6 Tasks, `all_done`. Die Häkchen wurden gegen Code und Tests geprüft.
- Keine bestehenden Korpus-Sollausgaben verändert; die drei neuen
Eingabe-/Zonenprogramme bestehen im regulären Korpuslauf jeweils zweimal.
Während dieser Verifikation wurden nur dieser Bericht und die zusätzlichen
Reviewproben angelegt. Produktcode, bestehende Tests und Sollausgaben blieben
unverändert. Headless auf macOS geprüft; kein neuer Windows-/Linux-Lauf oder
interaktiver Fremdprogrammvergleich. Die Prüfung betrifft diesen Change und
ersetzt nicht den noch offenen übergreifenden Spezifikationsabgleich.
Alle Prüfungen bestanden. Der Change ist zur Synchronisierung und
anschließenden Archivierung bereit.
## Archivabschluss
Am 06.09.2026 wurden alle sechs Delta-Requirements mit den vier Hauptspecs
synchronisiert und vollständig abgeglichen. Alle 15 Hauptspecs bestehen
die strenge Validierung. Der Change wurde anschließend einschließlich
der fünf Reviewproben archiviert.