iris-rea-recherche: kontext überschreibt von Hand ergänzte Abschnitte in kontext.md ohne Meldung #384

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

Problem

rea_kontext.py kontext schreibt kontext.md bei jedem Aufruf neu aus dem Speicher und überschreibt, was dort steht. Iris weist dem Chat genau diese Datei als Notiz zu (vaultNotePath des Jobs zeigt auf <Workspace>/rea/<id>/kontext.md). Der Agent schreibt dort hinein, wenn er etwas festhalten will, das das Plugin nicht kennt.

Belegt im Lauf „Raiden II“ (MacBook, 2026-11-06): Die Datei hat 17.220 Bytes (Obergrenze des Plugins 12.000 Zeichen) und zwei von Hand ergänzte Abschnitte („Ziel-Architektur: funktionsgleicher Port“, „Machbarkeitsbeweis V30-Kern“) mit den Entscheidungen des Nutzers. projekt.json hat kontext.vault: None, im Vault liegt nichts. Der nächste kontext-Aufruf erkennt die Datei an rea_projekt: im Kopf als eigene und überschreibt sie: Die Abschnitte wären ohne Meldung weg.

Warum

Eine Datei mit zwei Schreibern verliert still Inhalt. Der Agent soll nichts verlieren, der Befehl soll weiter die gültige Fassung erzeugen.

Umfang

  • kontext merkt sich die SHA-256 der zuletzt geschriebenen Fassung (projekt.json, kontext.sha256).
  • Weicht kontext.md (und eine Vault-Kopie) beim nächsten Lauf davon ab, wird sie vorher als kontext.manuell-<Zeit>.md im Projektordner gesichert; der Befehl meldet das und nennt den Weg, den Inhalt festzuhalten (befund add, entscheidung add, rea_artefakt.py add).
  • Projekte ohne gespeicherte Prüfsumme (ältere Stände): Weicht die Datei von der neu erzeugten Fassung ab, wird sie einmal gesichert.
  • Systemprompt und SKILL.md: kontext.md nicht von Hand erweitern.

Nicht im Umfang

Der Abschnitt „Entscheidungen“ selbst (eigenes Issue).

## Problem `rea_kontext.py kontext` schreibt `kontext.md` bei jedem Aufruf neu aus dem Speicher und überschreibt, was dort steht. Iris weist dem Chat genau diese Datei als Notiz zu (`vaultNotePath` des Jobs zeigt auf `<Workspace>/rea/<id>/kontext.md`). Der Agent schreibt dort hinein, wenn er etwas festhalten will, das das Plugin nicht kennt. Belegt im Lauf „Raiden II“ (MacBook, 2026-11-06): Die Datei hat 17.220 Bytes (Obergrenze des Plugins 12.000 Zeichen) und zwei von Hand ergänzte Abschnitte („Ziel-Architektur: funktionsgleicher Port“, „Machbarkeitsbeweis V30-Kern“) mit den Entscheidungen des Nutzers. `projekt.json` hat `kontext.vault: None`, im Vault liegt nichts. Der nächste `kontext`-Aufruf erkennt die Datei an `rea_projekt:` im Kopf als eigene und überschreibt sie: Die Abschnitte wären ohne Meldung weg. ## Warum Eine Datei mit zwei Schreibern verliert still Inhalt. Der Agent soll nichts verlieren, der Befehl soll weiter die gültige Fassung erzeugen. ## Umfang - `kontext` merkt sich die SHA-256 der zuletzt geschriebenen Fassung (`projekt.json`, `kontext.sha256`). - Weicht `kontext.md` (und eine Vault-Kopie) beim nächsten Lauf davon ab, wird sie vorher als `kontext.manuell-<Zeit>.md` im Projektordner gesichert; der Befehl meldet das und nennt den Weg, den Inhalt festzuhalten (`befund add`, `entscheidung add`, `rea_artefakt.py add`). - Projekte ohne gespeicherte Prüfsumme (ältere Stände): Weicht die Datei von der neu erzeugten Fassung ab, wird sie einmal gesichert. - Systemprompt und SKILL.md: `kontext.md` nicht von Hand erweitern. ## Nicht im Umfang Der Abschnitt „Entscheidungen“ selbst (eigenes Issue).
Author
Owner

PR #386 gemergt: fix(iris-rea-recherche): kontext sichert von Hand ergänzte kontext.md vor dem Überschreiben (iris/iris-plugins#384)
http://docker:3000/iris/iris-plugins/pulls/386

Commits:

  • fix(iris-rea-recherche): kontext sichert von Hand ergänzte kontext.md vor dem Überschreiben (iris/iris-plugins#384)

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

Klarstellung zum Anlass: Die Datei, die der Agent ergänzte, liegt im Workspace (vaultNotePath des Jobs zeigt auf <Workspace>/rea/<id>/kontext.md; im Vault liegt zu Raiden nichts, projekt.json hat kontext.vault: None). Der Name des Felds täuscht.

Geändert:

  • kontext merkt sich die SHA-256 der zuletzt geschriebenen Fassung (projekt.json, kontext.sha256). Weicht kontext.md beim nächsten Lauf davon ab, wird sie vorher als kontext.manuell-<Zeit>.md im Projektordner gesichert (bei gleicher Sekunde mit Zähler), dasselbe für die Vault-Kopie (kontext.manuell-vault-<Zeit>.md). Die Kommandozeile meldet es mit ACHTUNG: und nennt den Weg, den Inhalt festzuhalten (befund add, entscheidung add, rea_artefakt.py add).
  • Ältere Stände ohne gespeicherte Prüfsumme: weicht die Datei von der neu erzeugten Fassung ab, wird sie einmal gesichert.
  • Die Handänderung wird nicht in die neue Fassung übernommen (eine Zusammenführung hätte ein unklares Ergebnis), sie liegt daneben.
  • Systemprompt, SKILL.md und Anleitung: kontext.md und kontext.json nicht von Hand erweitern.

Geprüft: 376 Tests grün (2 übersprungen), davon 10 neue (tests/test_rea_kontext_schutz.py: Prüfsumme, unverändert, Handabschnitt gesichert und nicht übernommen, mehrere Änderungen, älterer Stand, erster Lauf, Vault-Kopie, lokal und Vault zugleich, Kommandozeile, pruefen bleibt sauber). 7 Gegenproben (Regel ausgebaut → Tests rot): Erkennung, gespeicherte Prüfsumme, Vault-Sicherung, älterer Stand, Zähler bei gleicher Sekunde, Meldung der Kommandozeile, Systemprompt-Zeile. Beim ersten Lauf war die Basis rot, weil der Test eine Zeichenfolge ohne die Backticks des Systemprompts erwartete; dadurch hatte die erste Gegenprobe zum Systemprompt nichts bewiesen. Test korrigiert, Gegenprobe wiederholt (rot), Basis grün. Durchlauf mit dem entpackten Paket (python3 -I): Handabschnitt angehängt, kontext gesichert und neu erzeugt, die Sicherung enthält den Abschnitt, die neue Datei nicht.

Nicht geprüft: das Raiden-Projekt (dort fehlt die Prüfsumme; der nächste kontext-Lauf sichert die 17-KB-Fassung einmal); ob Iris die Datei während eines Laufs selbst schreibt; Installation von 0.4.2 über die Mac-GUI.

Offen: #385 (Entscheidungen), damit der Inhalt, der jetzt von Hand eingetragen wird, einen Platz im Speicher hat.

PR #386 gemergt: fix(iris-rea-recherche): kontext sichert von Hand ergänzte kontext.md vor dem Überschreiben (iris/iris-plugins#384) http://docker:3000/iris/iris-plugins/pulls/386 Commits: - fix(iris-rea-recherche): kontext sichert von Hand ergänzte kontext.md vor dem Überschreiben (iris/iris-plugins#384) --- **Stand: umgesetzt, Version 0.4.2 veröffentlicht (Registry nach dem Pull: Paket 0.4.2).** **Klarstellung zum Anlass:** Die Datei, die der Agent ergänzte, liegt im Workspace (`vaultNotePath` des Jobs zeigt auf `<Workspace>/rea/<id>/kontext.md`; im Vault liegt zu Raiden nichts, `projekt.json` hat `kontext.vault: None`). Der Name des Felds täuscht. **Geändert:** - `kontext` merkt sich die SHA-256 der zuletzt geschriebenen Fassung (`projekt.json`, `kontext.sha256`). Weicht `kontext.md` beim nächsten Lauf davon ab, wird sie vorher als `kontext.manuell-<Zeit>.md` im Projektordner gesichert (bei gleicher Sekunde mit Zähler), dasselbe für die Vault-Kopie (`kontext.manuell-vault-<Zeit>.md`). Die Kommandozeile meldet es mit `ACHTUNG:` und nennt den Weg, den Inhalt festzuhalten (`befund add`, `entscheidung add`, `rea_artefakt.py add`). - Ältere Stände ohne gespeicherte Prüfsumme: weicht die Datei von der neu erzeugten Fassung ab, wird sie einmal gesichert. - Die Handänderung wird nicht in die neue Fassung übernommen (eine Zusammenführung hätte ein unklares Ergebnis), sie liegt daneben. - Systemprompt, SKILL.md und Anleitung: `kontext.md` und `kontext.json` nicht von Hand erweitern. **Geprüft:** 376 Tests grün (2 übersprungen), davon 10 neue (`tests/test_rea_kontext_schutz.py`: Prüfsumme, unverändert, Handabschnitt gesichert und nicht übernommen, mehrere Änderungen, älterer Stand, erster Lauf, Vault-Kopie, lokal und Vault zugleich, Kommandozeile, `pruefen` bleibt sauber). 7 Gegenproben (Regel ausgebaut → Tests rot): Erkennung, gespeicherte Prüfsumme, Vault-Sicherung, älterer Stand, Zähler bei gleicher Sekunde, Meldung der Kommandozeile, Systemprompt-Zeile. Beim ersten Lauf war die Basis rot, weil der Test eine Zeichenfolge ohne die Backticks des Systemprompts erwartete; dadurch hatte die erste Gegenprobe zum Systemprompt nichts bewiesen. Test korrigiert, Gegenprobe wiederholt (rot), Basis grün. Durchlauf mit dem entpackten Paket (`python3 -I`): Handabschnitt angehängt, `kontext` gesichert und neu erzeugt, die Sicherung enthält den Abschnitt, die neue Datei nicht. **Nicht geprüft:** das Raiden-Projekt (dort fehlt die Prüfsumme; der nächste `kontext`-Lauf sichert die 17-KB-Fassung einmal); ob Iris die Datei während eines Laufs selbst schreibt; Installation von 0.4.2 über die Mac-GUI. **Offen:** #385 (Entscheidungen), damit der Inhalt, der jetzt von Hand eingetragen wird, einen Platz im Speicher hat.
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#384
No description provided.