Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
the current turn has run, distinguishing actively working from waiting on a
tool, a sub-agent or the operator; the 0.9.12 shell had dropped the overall
working-time indicator from the place a glancing user checks (#5914).
- A background runtime turn whose own store record could not be read, parsed
or written (`Failed to read turn …`, `Failed to read item …`) was only a log
line. The runtime now publishes a `runtime.store_failure` event naming the
file, the root cause and the next action (move the file aside, or check free
space and permissions); the TUI shows it as a warning toast and a transcript
line, the task timeline records it, and the runtime API streams it. A turn
whose own record is unreadable or unwritable is reported as terminal, so its
task fails at once instead of idling out (#5931).
Comment on lines +55 to +62

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Remove branch changelog edits

Repository rules reserve both changelogs for merge-time updates on main. These additions create the conflicts that policy explicitly avoids.

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.


- An MCP token refresh that fails to parse the provider's answer keeps the
endpoint's receipt — status line, content type, and a 200-byte excerpt
Expand Down
8 changes: 8 additions & 0 deletions crates/tui/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
the current turn has run, distinguishing actively working from waiting on a
tool, a sub-agent or the operator; the 0.9.12 shell had dropped the overall
working-time indicator from the place a glancing user checks (#5914).
- A background runtime turn whose own store record could not be read, parsed
or written (`Failed to read turn …`, `Failed to read item …`) was only a log
line. The runtime now publishes a `runtime.store_failure` event naming the
file, the root cause and the next action (move the file aside, or check free
space and permissions); the TUI shows it as a warning toast and a transcript
line, the task timeline records it, and the runtime API streams it. A turn
whose own record is unreadable or unwritable is reported as terminal, so its
task fails at once instead of idling out (#5931).

- An MCP token refresh that fails to parse the provider's answer keeps the
endpoint's receipt — status line, content type, and a 200-byte excerpt
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/ca.json
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,8 @@
"ToolProjectionWarning": "Avís: {provider} ha omès eines incompatibles en aquesta sol·licitud: {tools}",
"SnapshotsDisabledNotice": "Les instantànies i /undo estan desactivats per a {workspace}: {reason} Augmenta `{config_key}` a config.toml (o posa-ho a 0 per treure el límit) per activar-los.",
"SessionIdDivergedNotice": "La identitat de la sessió ha canviat sota aquesta finestra: el motor ara desa els punts de control com a {next} (abans era {previous}). Els punts anteriors queden sota l'id antic; `codewhale sessions` els llista tots dos i `codewhale resume {previous}` reobre l'anterior.",
"RuntimeStoreUnreadableNotice": "Magatzem d'execució de la sessió: no s'ha pogut llegir {record} a {path} ({reason}). Aparta aquest fitxer (o suprimeix-lo) i torna-ho a provar; la resta de registres del fil es conserven.",
"RuntimeStoreUnwritableNotice": "Magatzem d'execució de la sessió: no s'ha pogut escriure {record} a {path} ({reason}). Comprova l'espai lliure i els permisos allà i torna-ho a provar; no s'ha sobreescrit res.",
"ProviderExternalSemanticsRevoke": "{semantics} | revoca: {revoke}",
"ProviderExternalRevoke": "revoca: {revoke}",
"ProviderExternalChoiceTitle": " Accés a credencials externes · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,8 @@
"ToolProjectionWarning": "Warnung: {provider} hat für diese Anfrage inkompatible Werkzeuge ausgelassen: {tools}",
"SnapshotsDisabledNotice": "Snapshots und /undo sind für {workspace} aus: {reason} Erhöhe `{config_key}` in config.toml (oder setze es auf 0, um die Grenze aufzuheben), um sie einzuschalten.",
"SessionIdDivergedNotice": "Die Sitzungsidentität unter diesem Fenster hat sich geändert: Die Engine speichert Checkpoints jetzt als {next} (vorher {previous}). Frühere Checkpoints bleiben unter der alten ID; `codewhale sessions` listet beide und `codewhale resume {previous}` öffnet die frühere wieder.",
"RuntimeStoreUnreadableNotice": "Laufzeitspeicher der Sitzung: {record} unter {path} konnte nicht gelesen werden ({reason}). Verschiebe diese Datei beiseite (oder lösche sie) und versuche es erneut; die übrigen Datensätze des Threads bleiben erhalten.",
"RuntimeStoreUnwritableNotice": "Laufzeitspeicher der Sitzung: {record} unter {path} konnte nicht geschrieben werden ({reason}). Prüfe dort freien Speicherplatz und Berechtigungen und versuche es erneut; nichts wurde überschrieben.",
"ProviderExternalSemanticsRevoke": "{semantics} | Widerruf: {revoke}",
"ProviderExternalRevoke": "Widerruf: {revoke}",
"ProviderExternalChoiceTitle": " Externer Zugangsdaten-Zugriff · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1457,6 +1457,8 @@
"ToolProjectionWarning": "Warning: {provider} omitted incompatible tools for this request: {tools}",
"SnapshotsDisabledNotice": "Snapshots and /undo are off for {workspace}: {reason} Raise `{config_key}` in config.toml (or set it to 0 to remove the cap) to turn them on.",
"SessionIdDivergedNotice": "Session identity changed under this window: the engine now saves checkpoints as {next} (it was {previous}). Earlier checkpoints stay under the old id; `codewhale sessions` lists both and `codewhale resume {previous}` reopens the earlier one.",
"RuntimeStoreUnreadableNotice": "Session runtime store: {record} at {path} could not be read ({reason}). Move that file aside (or delete it) and retry; the thread's other records stay in place.",
"RuntimeStoreUnwritableNotice": "Session runtime store: {record} at {path} could not be written ({reason}). Check free space and permissions there, then retry; nothing was overwritten.",
"ProviderExternalSemanticsRevoke": "{semantics} | revoke: {revoke}",
"ProviderExternalRevoke": "revoke: {revoke}",
"ProviderExternalChoiceTitle": " External credential access · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/es-419.json
Original file line number Diff line number Diff line change
Expand Up @@ -1457,6 +1457,8 @@
"ToolProjectionWarning": "Advertencia: {provider} omitió herramientas incompatibles en esta solicitud: {tools}",
"SnapshotsDisabledNotice": "Las instantáneas y /undo están desactivados para {workspace}: {reason} Sube `{config_key}` en config.toml (o ponlo en 0 para quitar el límite) para activarlos.",
"SessionIdDivergedNotice": "La identidad de la sesión cambió bajo esta ventana: el motor ahora guarda checkpoints como {next} (antes era {previous}). Los checkpoints anteriores quedan bajo el id anterior; `codewhale sessions` lista ambos y `codewhale resume {previous}` reabre el anterior.",
"RuntimeStoreUnreadableNotice": "Almacén de ejecución de la sesión: no se pudo leer {record} en {path} ({reason}). Aparta ese archivo (o elimínalo) y vuelve a intentar; los demás registros del hilo se conservan.",
"RuntimeStoreUnwritableNotice": "Almacén de ejecución de la sesión: no se pudo escribir {record} en {path} ({reason}). Revisa el espacio libre y los permisos allí y vuelve a intentar; no se sobrescribió nada.",
"ProviderExternalSemanticsRevoke": "{semantics} | revocar: {revoke}",
"ProviderExternalRevoke": "revocar: {revoke}",
"ProviderExternalChoiceTitle": " Acceso a credencial externa · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,8 @@
"ToolProjectionWarning": "Avertissement : {provider} a omis les outils incompatibles pour cette requête : {tools}",
"SnapshotsDisabledNotice": "Les instantanés et /undo sont désactivés pour {workspace} : {reason} Augmentez `{config_key}` dans config.toml (ou mettez 0 pour lever la limite) pour les activer.",
"SessionIdDivergedNotice": "L'identité de session a changé sous cette fenêtre : le moteur enregistre désormais les points de reprise sous {next} (c'était {previous}). Les points antérieurs restent sous l'ancien identifiant ; `codewhale sessions` liste les deux et `codewhale resume {previous}` rouvre l'ancien.",
"RuntimeStoreUnreadableNotice": "Magasin d'exécution de la session : impossible de lire {record} dans {path} ({reason}). Mettez ce fichier de côté (ou supprimez-le) et réessayez ; les autres enregistrements du fil restent en place.",
"RuntimeStoreUnwritableNotice": "Magasin d'exécution de la session : impossible d'écrire {record} dans {path} ({reason}). Vérifiez l'espace libre et les permissions à cet endroit, puis réessayez ; rien n'a été écrasé.",
"ProviderExternalSemanticsRevoke": "{semantics} | révocation : {revoke}",
"ProviderExternalRevoke": "révocation : {revoke}",
"ProviderExternalChoiceTitle": " Accès à des identifiants externes · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,8 @@
"ToolProjectionWarning": "चेतावनी: {provider} ने इस अनुरोध में असंगत टूल हटा दिए: {tools}",
"SnapshotsDisabledNotice": "{workspace} के लिए स्नैपशॉट और /undo बंद हैं: {reason} इन्हें चालू करने के लिए config.toml में `{config_key}` बढ़ाएँ (या सीमा हटाने के लिए 0 रखें)।",
"SessionIdDivergedNotice": "इस विंडो की सत्र पहचान बदल गई है: इंजन अब चेकपॉइंट {next} के रूप में सहेजता है (पहले {previous} था)। पुराने चेकपॉइंट पुराने id के तहत ही रहेंगे; `codewhale sessions` दोनों दिखाता है और `codewhale resume {previous}` पुराना सत्र फिर खोलता है।",
"RuntimeStoreUnreadableNotice": "सत्र रनटाइम स्टोर: {path} पर {record} पढ़ा नहीं जा सका ({reason})। उस फ़ाइल को अलग रख दें (या हटा दें) और फिर से कोशिश करें; थ्रेड के बाकी रिकॉर्ड यथावत रहते हैं।",
"RuntimeStoreUnwritableNotice": "सत्र रनटाइम स्टोर: {path} पर {record} लिखा नहीं जा सका ({reason})। वहाँ खाली जगह और अनुमतियाँ जाँचें, फिर दोबारा कोशिश करें; कुछ भी अधिलेखित नहीं हुआ।",
"ProviderExternalSemanticsRevoke": "{semantics} | रद्द: {revoke}",
"ProviderExternalRevoke": "रद्द: {revoke}",
"ProviderExternalChoiceTitle": " बाहरी क्रेडेंशल एक्सेस · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/id.json
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,8 @@
"ToolProjectionWarning": "Peringatan: {provider} menghilangkan alat yang tidak kompatibel untuk permintaan ini: {tools}",
"SnapshotsDisabledNotice": "Snapshot dan /undo nonaktif untuk {workspace}: {reason} Naikkan `{config_key}` di config.toml (atau setel 0 untuk menghapus batas) untuk mengaktifkannya.",
"SessionIdDivergedNotice": "Identitas sesi di jendela ini berubah: engine kini menyimpan checkpoint sebagai {next} (sebelumnya {previous}). Checkpoint lama tetap di id lama; `codewhale sessions` menampilkan keduanya dan `codewhale resume {previous}` membuka kembali yang lama.",
"RuntimeStoreUnreadableNotice": "Penyimpanan runtime sesi: {record} di {path} tidak dapat dibaca ({reason}). Pindahkan berkas itu (atau hapus) lalu coba lagi; rekaman lain di thread ini tetap utuh.",
"RuntimeStoreUnwritableNotice": "Penyimpanan runtime sesi: {record} di {path} tidak dapat ditulis ({reason}). Periksa ruang kosong dan izin di sana, lalu coba lagi; tidak ada yang ditimpa.",
"ProviderExternalSemanticsRevoke": "{semantics} | cabut: {revoke}",
"ProviderExternalRevoke": "cabut: {revoke}",
"ProviderExternalChoiceTitle": " Akses kredensial eksternal · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -1457,6 +1457,8 @@
"ToolProjectionWarning": "警告: {provider} はこのリクエストで互換性のないツールを除外しました: {tools}",
"SnapshotsDisabledNotice": "{workspace} ではスナップショットと /undo が無効です: {reason} config.toml の `{config_key}` を上げる(または 0 にして上限を外す)と有効になります。",
"SessionIdDivergedNotice": "このウィンドウのセッション ID が変わりました。エンジンは今後 {next} としてチェックポイントを保存します(以前は {previous})。以前のチェックポイントは旧 ID のまま残ります。`codewhale sessions` で両方を確認でき、`codewhale resume {previous}` で以前のセッションを再開できます。",
"RuntimeStoreUnreadableNotice": "セッションのランタイムストア: {path} の {record} を読み取れませんでした({reason})。そのファイルを退避(または削除)して再試行してください。スレッドの他のレコードはそのまま残ります。",
"RuntimeStoreUnwritableNotice": "セッションのランタイムストア: {path} の {record} を書き込めませんでした({reason})。その場所の空き容量と権限を確認して再試行してください。何も上書きされていません。",
"ProviderExternalSemanticsRevoke": "{semantics} | 取消: {revoke}",
"ProviderExternalRevoke": "取消: {revoke}",
"ProviderExternalChoiceTitle": " 外部認証情報へのアクセス · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -1457,6 +1457,8 @@
"ToolProjectionWarning": "경고: {provider}가 이 요청에서 호환되지 않는 도구를 제외했습니다: {tools}",
"SnapshotsDisabledNotice": "{workspace}에서 스냅샷과 /undo가 꺼져 있습니다: {reason} config.toml의 `{config_key}` 값을 높이면(또는 0으로 설정해 상한을 없애면) 켜집니다.",
"SessionIdDivergedNotice": "이 창의 세션 ID가 바뀌었습니다. 엔진은 이제 {next}로 체크포인트를 저장합니다(이전: {previous}). 이전 체크포인트는 옛 ID 아래에 남습니다. `codewhale sessions`로 둘 다 확인하고 `codewhale resume {previous}`로 이전 세션을 다시 열 수 있습니다.",
"RuntimeStoreUnreadableNotice": "세션 런타임 저장소: {path}의 {record}을(를) 읽을 수 없습니다({reason}). 해당 파일을 옮기거나 삭제한 뒤 다시 시도하세요. 스레드의 다른 레코드는 그대로 유지됩니다.",
"RuntimeStoreUnwritableNotice": "세션 런타임 저장소: {path}의 {record}을(를) 쓸 수 없습니다({reason}). 해당 위치의 여유 공간과 권한을 확인한 뒤 다시 시도하세요. 아무것도 덮어쓰지 않았습니다.",
"ProviderExternalSemanticsRevoke": "{semantics} | 취소: {revoke}",
"ProviderExternalRevoke": "취소: {revoke}",
"ProviderExternalChoiceTitle": " 외부 자격 증명 접근 · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/pt-BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -1457,6 +1457,8 @@
"ToolProjectionWarning": "Aviso: {provider} omitiu ferramentas incompatíveis nesta solicitação: {tools}",
"SnapshotsDisabledNotice": "Snapshots e /undo estão desligados para {workspace}: {reason} Aumente `{config_key}` no config.toml (ou defina 0 para remover o limite) para ligá-los.",
"SessionIdDivergedNotice": "A identidade da sessão mudou nesta janela: o motor agora salva checkpoints como {next} (antes era {previous}). Os checkpoints anteriores ficam sob o id antigo; `codewhale sessions` lista os dois e `codewhale resume {previous}` reabre o anterior.",
"RuntimeStoreUnreadableNotice": "Armazenamento de execução da sessão: não foi possível ler {record} em {path} ({reason}). Afaste esse arquivo (ou exclua-o) e tente de novo; os demais registros da thread permanecem.",
"RuntimeStoreUnwritableNotice": "Armazenamento de execução da sessão: não foi possível gravar {record} em {path} ({reason}). Verifique o espaço livre e as permissões nesse local e tente de novo; nada foi sobrescrito.",
"ProviderExternalSemanticsRevoke": "{semantics} | revogar: {revoke}",
"ProviderExternalRevoke": "revogar: {revoke}",
"ProviderExternalChoiceTitle": " Acesso a credencial externa · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,8 @@
"ToolProjectionWarning": "Внимание: {provider} исключил несовместимые инструменты для этого запроса: {tools}",
"SnapshotsDisabledNotice": "Снимки и /undo отключены для {workspace}: {reason} Увеличьте `{config_key}` в config.toml (или задайте 0, чтобы снять ограничение), чтобы включить их.",
"SessionIdDivergedNotice": "Идентификатор сеанса в этом окне изменился: движок теперь сохраняет контрольные точки как {next} (было {previous}). Прежние точки остаются под старым id; `codewhale sessions` показывает оба, а `codewhale resume {previous}` открывает прежний сеанс.",
"RuntimeStoreUnreadableNotice": "Хранилище среды выполнения сессии: не удалось прочитать {record} в {path} ({reason}). Отложите этот файл (или удалите его) и повторите попытку; остальные записи потока сохраняются.",
"RuntimeStoreUnwritableNotice": "Хранилище среды выполнения сессии: не удалось записать {record} в {path} ({reason}). Проверьте свободное место и права доступа там и повторите попытку; ничего не было перезаписано.",
"ProviderExternalSemanticsRevoke": "{semantics} | отзыв: {revoke}",
"ProviderExternalRevoke": "отзыв: {revoke}",
"ProviderExternalChoiceTitle": " Доступ к внешним учётным данным · {provider} ",
Expand Down
2 changes: 2 additions & 0 deletions crates/tui/locales/uk.json
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,8 @@
"ToolProjectionWarning": "Попередження: {provider} вилучив несумісні інструменти для цього запиту: {tools}",
"SnapshotsDisabledNotice": "Знімки та /undo вимкнено для {workspace}: {reason} Збільште `{config_key}` у config.toml (або встановіть 0, щоб зняти обмеження), щоб увімкнути їх.",
"SessionIdDivergedNotice": "Ідентифікатор сеансу в цьому вікні змінився: рушій тепер зберігає контрольні точки як {next} (було {previous}). Попередні точки лишаються під старим id; `codewhale sessions` показує обидва, а `codewhale resume {previous}` відкриває попередній сеанс.",
"RuntimeStoreUnreadableNotice": "Сховище середовища виконання сесії: не вдалося прочитати {record} у {path} ({reason}). Відкладіть цей файл (або видаліть його) і повторіть спробу; інші записи потоку залишаються.",
"RuntimeStoreUnwritableNotice": "Сховище середовища виконання сесії: не вдалося записати {record} у {path} ({reason}). Перевірте вільне місце та права доступу там і повторіть спробу; нічого не було перезаписано.",
"ProviderExternalSemanticsRevoke": "{semantics} | відкликання: {revoke}",
"ProviderExternalRevoke": "відкликання: {revoke}",
"ProviderExternalChoiceTitle": " Доступ до зовнішніх облікових даних · {provider} ",
Expand Down
Loading
Loading