From c442d4a3a680fa1df45238f23794615cc7fdb41a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 31 May 2026 07:48:29 +0000 Subject: [PATCH 1/3] Initial plan From 1bac82fcf231ed2bc3a166c27d297a211947c0fe Mon Sep 17 00:00:00 2001 From: Yee Lam Allen Tang Date: Sun, 31 May 2026 15:32:46 +0800 Subject: [PATCH 2/3] fix(wta): address PR #98 review comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without changing slice-A scope, fix the issues raised in the PR review: history_loader.rs (Copilot review): * Use SystemTime::UNIX_EPOCH.checked_add(...) so malformed / far-future timestamps fail closed (return None) instead of panicking on overflow. * Range-check timezone offsets HH (0-23) / MM (0-59) so strings like '...+99:99' are rejected instead of silently skewing the timestamp. * Update parse_iso_to_system_time docstring to match behavior (it also supports the +/-HH:MM offset variant, not only Z). agent_hooks_installer.rs (Copilot review): * parse_codex_marketplace_list: trim both ends of each line so the first whitespace-delimited column parses correctly when 'codex plugin marketplace list' emits column-aligned rows with leading spaces. * parse_codex_plugin_list: match the documented behavior by checking for an 'installed*' status prefix instead of just '!= "not"', so statuses like 'available' don't get misreported as installed. * Drop the stale 'Codex placeholders' section header — the functions below are real implementations. Resources.resw: add AIAgents_HooksRemovingCodexSummary to every locale that already had the Copilot/Claude/Gemini variants (16 .resw files total), so Codex doesn't silently fall back to en-US for translators. wt-agent-hooks/codex/.../send-event.ps1: update the bundle header and the CliSource-identification comment to refer to Codex instead of Claude/Copilot — the bundle is Codex-specific. Check-spelling fixes (rewording / renaming, no dictionary changes): * parse_iso_to_systemtime -> parse_iso_to_system_time (snake_case matches the SystemTime type). * parse_iso_accepts_feb_29_leap_year -> parse_iso_accepts_february_29_leap_year. * codex-fanin-test -> codex-fan-in-test (session_registry.rs test key). * superpowers slice-B docs: replace author handle in worktree paths with placeholder; reword "stat'ing" to "running stat on". No behavior change beyond the targeted bug fixes Copilot called out; no new features, no signature changes, no test additions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../plans/2026-05-29-codex-hooks-slice-b.md | 6 +- .../2026-05-29-codex-hooks-slice-b-design.md | 4 +- .../Resources/de-DE/Resources.resw | 6 +- .../Resources/es-ES/Resources.resw | 6 +- .../Resources/fr-FR/Resources.resw | 6 +- .../Resources/it-IT/Resources.resw | 6 +- .../Resources/ja-JP/Resources.resw | 6 +- .../Resources/ko-KR/Resources.resw | 6 +- .../Resources/pt-BR/Resources.resw | 6 +- .../Resources/qps-ploc/Resources.resw | 6 +- .../Resources/qps-ploca/Resources.resw | 6 +- .../Resources/qps-plocm/Resources.resw | 6 +- .../Resources/ru-RU/Resources.resw | 6 +- .../Resources/sr-Cyrl-RS/Resources.resw | 6 +- .../Resources/uk-UA/Resources.resw | 6 +- .../Resources/zh-CN/Resources.resw | 6 +- .../Resources/zh-TW/Resources.resw | 6 +- tools/wta/src/agent_hooks_installer.rs | 20 ++++--- tools/wta/src/history_loader.rs | 59 +++++++++++-------- tools/wta/src/session_registry.rs | 4 +- .../wt-agent-hooks/hooks/send-event.ps1 | 14 +++-- 21 files changed, 137 insertions(+), 60 deletions(-) diff --git a/docs/superpowers/plans/2026-05-29-codex-hooks-slice-b.md b/docs/superpowers/plans/2026-05-29-codex-hooks-slice-b.md index 5fa3cdcea..dad299d74 100644 --- a/docs/superpowers/plans/2026-05-29-codex-hooks-slice-b.md +++ b/docs/superpowers/plans/2026-05-29-codex-hooks-slice-b.md @@ -10,7 +10,7 @@ **Reference spec:** `docs/superpowers/specs/2026-05-29-codex-hooks-slice-b-design.md` -**Worktree:** `C:\yuazha\GitRepo\intelligent-terminal\.worktree\codex-session` (branch `dev/yuazha/codex-session`, PR #98). +**Worktree:** `C:\\GitRepo\intelligent-terminal\.worktree\codex-session` (branch `dev//codex-session`, PR #98). --- @@ -48,7 +48,7 @@ The bundle files (Task 2) are created early so later Rust tests can stat real pa ```powershell $env:RUSTUP_TOOLCHAIN="stable" -cd C:\yuazha\GitRepo\intelligent-terminal\.worktree\codex-session +cd C:\\GitRepo\intelligent-terminal\.worktree\codex-session cargo test --manifest-path tools/wta/Cargo.toml ``` @@ -1234,7 +1234,7 @@ git commit -m "feat(settings): add Codex CLI row to AI Agents page`n`nCo-authore ```powershell $env:RUSTUP_TOOLCHAIN="stable" -cd C:\yuazha\GitRepo\intelligent-terminal\.worktree\codex-session +cd C:\\GitRepo\intelligent-terminal\.worktree\codex-session cargo test --manifest-path tools/wta/Cargo.toml ``` diff --git a/docs/superpowers/specs/2026-05-29-codex-hooks-slice-b-design.md b/docs/superpowers/specs/2026-05-29-codex-hooks-slice-b-design.md index d98f7ac72..5688d8f81 100644 --- a/docs/superpowers/specs/2026-05-29-codex-hooks-slice-b-design.md +++ b/docs/superpowers/specs/2026-05-29-codex-hooks-slice-b-design.md @@ -1,7 +1,7 @@ # Codex hooks — slice B design **Date:** 2026-05-29 -**Branch:** `dev/yuazha/codex-session` +**Branch:** `dev//codex-session` **Builds on:** slice A (read-only Codex session discovery, merged into PR #98) **Successor:** slice C (l10n, docs, ut_app fixtures, ACP `loadSession`) @@ -50,7 +50,7 @@ Both commands run with stdin closed and 30-second timeout. Output captured to tr #### `status_for_codex(home)` **Primary path** (CLI on PATH): -- `codex plugin marketplace list` → text-parse columns `MARKETPLACE ROOT`, look for row whose name == `wt-local`. Set `marketplace_registered` and `marketplace_path` from the `ROOT` column. Compute `marketplace_path_valid` by stat'ing the path (`directory` exists check, same logic as Claude/Copilot). +- `codex plugin marketplace list` → text-parse columns `MARKETPLACE ROOT`, look for row whose name == `wt-local`. Set `marketplace_registered` and `marketplace_path` from the `ROOT` column. Compute `marketplace_path_valid` by running stat on the path (`directory` exists check, same logic as Claude/Copilot). - `codex plugin list` → text-parse for a row whose `PLUGIN` column == `wt-agent-hooks`. Set `plugin_installed`. Codex has no enable/disable distinction in `plugin list` output → `plugin_enabled := plugin_installed`. **Filesystem fallback** (CLI not on PATH or commands fail): diff --git a/src/cascadia/TerminalSettingsEditor/Resources/de-DE/Resources.resw b/src/cascadia/TerminalSettingsEditor/Resources/de-DE/Resources.resw index 2aaad80ea..54294574d 100644 --- a/src/cascadia/TerminalSettingsEditor/Resources/de-DE/Resources.resw +++ b/src/cascadia/TerminalSettingsEditor/Resources/de-DE/Resources.resw @@ -1,4 +1,4 @@ - +