iris-rea-recherche: Zahlen in Fundstellen brauchen 0x, offset auf Archive wird abgelehnt #377

Open
opened 2026-11-06 19:00:13 +00:00 by alf · 1 comment
Owner

Problem

Zahlen in Fundstellen (offset:, adresse:, datei:…@A-B) gelten „mit oder ohne 0x“ als Hex. Ein Modell, das Dezimalzahlen schreibt, bekommt keine Meldung, die Fundstelle zeigt still auf andere Bytes.

Belegt im Lauf „Raiden II“ (Chat-Export 2026-11-06, MacBook): B17 trägt offset:614528-614656, Nachbau N3 hat die Testvektor-Herkunft offset:614528-614592 und offset:613198-613222. Gemeint war dezimal (0x96080), gelesen wurde hex (0x614528, ein Byte bei 6,4 von 10,6 MB im ZIP). Zusätzlich gilt offset: für die Kopie des Ziels, hier ein ZIP, also für komprimierte Bytes; die Palette steht im entpackten ROM. B10 trägt …prg1.u0212@32701-32702 (vermutlich dezimal, gelesen als 0x32701). Der Befund „belegt“ hat damit eine falsche Herkunft, ohne dass das Plugin es merkt.

Warum

Der Befund ist nur so viel wert wie seine Fundstelle. Eine mehrdeutige Zahl ist die gleiche Art Lücke wie die zirkuläre Verifikation, die Teil 3 (#374) schließen sollte.

Umfang

  • Neue Eingaben: Zahlen brauchen 0x (offset, adresse, datei@Bereich, Testvektor-Quelle). SEG:OFF (Ghidra, 1000:0157) bleibt ohne Präfix. Die Fehlermeldung nennt bei einer reinen Dezimalzahl den passenden Hex-Wert.
  • offset: auf ein Archiv als Ziel (ZIP, tar, gzip, xz, 7z, rar) wird abgelehnt, mit Hinweis auf datei:PFAD@A-B.
  • Testvektor-Quellen werden gegen das Projekt geprüft (bisher nur die Form).
  • Gespeicherte ältere Fundstellen bleiben lesbar: Bare-Hex mit Buchstaben (7ff8) ist eindeutig und wird toleriert; Zahlen aus lauter Ziffern ohne 0x und offset: auf ein Archiv meldet pruefen als Abweichung.

Ändert die in #374 abgestimmte Grammatik („mit oder ohne 0x“).

## Problem Zahlen in Fundstellen (`offset:`, `adresse:`, `datei:…@A-B`) gelten „mit oder ohne 0x“ als Hex. Ein Modell, das Dezimalzahlen schreibt, bekommt keine Meldung, die Fundstelle zeigt still auf andere Bytes. Belegt im Lauf „Raiden II“ (Chat-Export 2026-11-06, MacBook): B17 trägt `offset:614528-614656`, Nachbau N3 hat die Testvektor-Herkunft `offset:614528-614592` und `offset:613198-613222`. Gemeint war dezimal (0x96080), gelesen wurde hex (0x614528, ein Byte bei 6,4 von 10,6 MB im ZIP). Zusätzlich gilt `offset:` für die Kopie des Ziels, hier ein ZIP, also für komprimierte Bytes; die Palette steht im entpackten ROM. B10 trägt `…prg1.u0212@32701-32702` (vermutlich dezimal, gelesen als 0x32701). Der Befund „belegt“ hat damit eine falsche Herkunft, ohne dass das Plugin es merkt. ## Warum Der Befund ist nur so viel wert wie seine Fundstelle. Eine mehrdeutige Zahl ist die gleiche Art Lücke wie die zirkuläre Verifikation, die Teil 3 (#374) schließen sollte. ## Umfang - Neue Eingaben: Zahlen brauchen `0x` (`offset`, `adresse`, `datei@Bereich`, Testvektor-Quelle). `SEG:OFF` (Ghidra, `1000:0157`) bleibt ohne Präfix. Die Fehlermeldung nennt bei einer reinen Dezimalzahl den passenden Hex-Wert. - `offset:` auf ein Archiv als Ziel (ZIP, tar, gzip, xz, 7z, rar) wird abgelehnt, mit Hinweis auf `datei:PFAD@A-B`. - Testvektor-Quellen werden gegen das Projekt geprüft (bisher nur die Form). - Gespeicherte ältere Fundstellen bleiben lesbar: Bare-Hex mit Buchstaben (`7ff8`) ist eindeutig und wird toleriert; Zahlen aus lauter Ziffern ohne `0x` und `offset:` auf ein Archiv meldet `pruefen` als Abweichung. Ändert die in #374 abgestimmte Grammatik („mit oder ohne 0x“).
Author
Owner

PR #379 gemergt: fix(iris-rea-recherche): Zahlen in Fundstellen brauchen 0x, offset auf Archive wird abgelehnt (iris/iris-plugins#377)
http://docker:3000/iris/iris-plugins/pulls/379

Commits:

  • fix(iris-rea-recherche): Zahlen in Fundstellen brauchen 0x, offset auf Archive wird abgelehnt (iris/iris-plugins#377)

Stand: umgesetzt, Version 0.3.1 veröffentlicht (Registry nach dem Pull: Paket 0.3.1).

Berichtigung zum Issue: Testvektor-Herkünfte wurden schon vorher gegen das Projekt geprüft (testvektor_add ruft pruefe_fundstelle_im_projekt); die Lücke war allein die Hex-Lesart von Zahlen ohne Präfix (0x614528 liegt im 10,6 MB großen ZIP und blieb gültig).

Geändert:

  • Neue Eingaben (befund add/aendern/bestaetigen, Testvektor-Quelle und --…-aus): Zahlen in offset, adresse (ohne SEG:OFF) und datei@Bereich brauchen 0x. Die Meldung nennt beide Lesarten (offset:614528 → „Dezimal gemeint: 0x96080; hex gemeint: 0x614528“).
  • offset: auf ein Archiv als Ziel (Magic-Bytes: ZIP, gzip, 7z, RAR, xz, bzip2, zstd, tar) wird abgelehnt, mit Hinweis auf datei:PFAD@0xA-0xB. Dateisystem-Abbilder (SquashFS) zählen nicht.
  • Ältere gespeicherte Fundstellen bleiben lesbar (streng=False). pruefen meldet Zahlen aus lauter Ziffern ohne 0x als mehrdeutig; steht in der Fundstelle ein Buchstabe oder 0x, gilt sie als eindeutig hex (B5 @7ff8-8000 bleibt ohne Meldung). offset: auf ein Archiv in gespeicherten Daten meldet pruefen ebenfalls. Die Unabhängigkeitsprüfung von befund bestaetigen liest auch alte Quellen ohne Präfix.
  • Systemprompt, SKILL.md und Anleitung nennen die Regel; der Doku-Test prüft den Systemprompt.

Geprüft: 337 Tests grün (2 übersprungen), davon 12 neue (tests/test_rea_zahlen.py: Präfix-Pflicht je Fundstellenart, beide Lesarten in der Meldung, alte Fundstellen, Magic-Bytes-Erkennung, ZIP-Ziel mit offset/datei/Testvektor-Quelle/bytes_aus_ziel). 9 Gegenproben (Regel ausgebaut → Tests rot): 0x-Pflicht, Prüfmuster, Archivregel, Hex-Heuristik, Meldung mehrdeutiger alter Stellen, strenges Lesen alter Stellen, Unabhängigkeit mit alten Quellen, tar-Erkennung, Systemprompt-Zeile. Durchlauf mit dem entpackten Paket (python3 -I) mit einem ZIP-Ziel: Dezimalzahl abgelehnt, offset abgelehnt, datei:…@0x10-0x20 und adresse:1000:0157 angenommen. --dry-run, Veröffentlichung.

Nicht geprüft: Verhalten des Agenten im echten Chat (ob er nach der Ablehnung 0x schreibt oder auf datei: wechselt); die Fundstellen des vorhandenen Raiden-Projekts (B10, B17, N3) wurden nicht korrigiert, pruefen meldet sie dort nach dem Update; Installation von 0.3.1 über die Mac-GUI.

Offen: #378 (Artefakte).

PR #379 gemergt: fix(iris-rea-recherche): Zahlen in Fundstellen brauchen 0x, offset auf Archive wird abgelehnt (iris/iris-plugins#377) http://docker:3000/iris/iris-plugins/pulls/379 Commits: - fix(iris-rea-recherche): Zahlen in Fundstellen brauchen 0x, offset auf Archive wird abgelehnt (iris/iris-plugins#377) --- **Stand: umgesetzt, Version 0.3.1 veröffentlicht (Registry nach dem Pull: Paket 0.3.1).** **Berichtigung zum Issue:** Testvektor-Herkünfte wurden schon vorher gegen das Projekt geprüft (`testvektor_add` ruft `pruefe_fundstelle_im_projekt`); die Lücke war allein die Hex-Lesart von Zahlen ohne Präfix (0x614528 liegt im 10,6 MB großen ZIP und blieb gültig). **Geändert:** - Neue Eingaben (`befund add/aendern/bestaetigen`, Testvektor-Quelle und `--…-aus`): Zahlen in `offset`, `adresse` (ohne SEG:OFF) und `datei@Bereich` brauchen `0x`. Die Meldung nennt beide Lesarten (`offset:614528` → „Dezimal gemeint: `0x96080`; hex gemeint: `0x614528`“). - `offset:` auf ein Archiv als Ziel (Magic-Bytes: ZIP, gzip, 7z, RAR, xz, bzip2, zstd, tar) wird abgelehnt, mit Hinweis auf `datei:PFAD@0xA-0xB`. Dateisystem-Abbilder (SquashFS) zählen nicht. - Ältere gespeicherte Fundstellen bleiben lesbar (`streng=False`). `pruefen` meldet Zahlen aus lauter Ziffern ohne `0x` als mehrdeutig; steht in der Fundstelle ein Buchstabe oder `0x`, gilt sie als eindeutig hex (B5 `@7ff8-8000` bleibt ohne Meldung). `offset:` auf ein Archiv in gespeicherten Daten meldet `pruefen` ebenfalls. Die Unabhängigkeitsprüfung von `befund bestaetigen` liest auch alte Quellen ohne Präfix. - Systemprompt, SKILL.md und Anleitung nennen die Regel; der Doku-Test prüft den Systemprompt. **Geprüft:** 337 Tests grün (2 übersprungen), davon 12 neue (`tests/test_rea_zahlen.py`: Präfix-Pflicht je Fundstellenart, beide Lesarten in der Meldung, alte Fundstellen, Magic-Bytes-Erkennung, ZIP-Ziel mit `offset`/`datei`/Testvektor-Quelle/`bytes_aus_ziel`). 9 Gegenproben (Regel ausgebaut → Tests rot): `0x`-Pflicht, Prüfmuster, Archivregel, Hex-Heuristik, Meldung mehrdeutiger alter Stellen, strenges Lesen alter Stellen, Unabhängigkeit mit alten Quellen, tar-Erkennung, Systemprompt-Zeile. Durchlauf mit dem entpackten Paket (`python3 -I`) mit einem ZIP-Ziel: Dezimalzahl abgelehnt, `offset` abgelehnt, `datei:…@0x10-0x20` und `adresse:1000:0157` angenommen. `--dry-run`, Veröffentlichung. **Nicht geprüft:** Verhalten des Agenten im echten Chat (ob er nach der Ablehnung `0x` schreibt oder auf `datei:` wechselt); die Fundstellen des vorhandenen Raiden-Projekts (B10, B17, N3) wurden nicht korrigiert, `pruefen` meldet sie dort nach dem Update; Installation von 0.3.1 über die Mac-GUI. **Offen:** #378 (Artefakte).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/iris-plugins#377
No description provided.