All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Codex
has_user_eventdrift repair is now project-scoped when a--project-pathis supplied. Guardian passes that cwd through both the stale row repair and slow-path wrapper install paths, so a single-folder/resumeincident can be healed without backfilling unrelated global Codex threads or archiving any sessions. - Codex slow-path repair no longer routes normal CLI startup through an older
native hotfix binary. The managed launcher wrapper now intercepts only
picker-only
codex resumelist forms and delegates every other command to the installed upstream@openai/codexlauncher, preservingcodex-cli 0.130.0and 0.130-era feature config such as[features.multi_agent_v2]. - Codex native TUI
/resumerepair now preserves[mcp_servers.metamcp]and reports its enabled state, endpoint, and startup timeout as diagnostics. Guardian no longer writesenabled = false; when MCP startup blocks the picker, the repair target is the MetaMCP route or child-server health rather than disabling the configured server. - Codex session visibility repair now ships the title-aware v3
codex-resume-picker.jshelper. It reads lightweight SQLite rows first, enriches titles in bounded chunks, includes archived session rows andarchived-large-sessionsmanifests, displays updated time, and reinstalls the global Codex launcher wrapper when npm upgrades overwrite it. This keepscodex resumeandcodex resume --all --no-alt-screenusable oncodex-cli 0.130.0while preserving native--lastand explicit session-id resume paths. - Guardian now upgrades older materialized
%USERPROFILE%\.codex\tools\repair-codex-resume.ps1copies with a backup, instead of leaving stale packaged repair scripts in place after app updates. - Codex
C4slow-path classification no longer treats "sessions older than 30 days are still unarchived" as a failure by itself. Native Codex can re-index old visible rows while rendering/resume, so Guardian now keeps that count informational and avoids repeatedly archiving history the user is trying to resume.
- Version-based auto-release workflow. When the workspace package version is
bumped on
mainand the correspondingvX.Y.Ztag does not exist yet, CI builds the Windows package, creates the tag, and publishes the release.
- Release workflow now uploads a single recommended Windows zip plus
SHA256SUMS.txt; the standaloneguardian.exedirect asset is no longer uploaded to avoid confusing it with the complete Windows package. - Windows-path test fixtures now use neutral example paths rather than local workstation paths.
- Packaged
guardian.exeis now usable as a Windows desktop application when launched from File Explorer. Runningguardian.exewith no subcommand now opens the desktop GUI instead of printing CLI usage and exiting immediately. - JSON automation remains explicit:
guardian.exe --jsonwithout a subcommand reports an invalid invocation instead of guessing a GUI entry point. - GUI and tray internal command execution now use the supported
--json <subcommand>argument order.
- README now calls out the fixed packaged-artifact behavior and includes real GUI screenshots captured from the packaged executable.
Guardian assumes the user has already installed @openai/codex via npm
(that is the prerequisite for needing this tool at all). The release zip
therefore ships only guardian.exe, the trusted repair script, and the
project docs — never a copy of codex.exe. The slow-path (C4) launcher
patch falls back to the user's own vendor/<triple>/codex/codex.exe from
their npm install when no vendor-hotfix/... is present.
guardian repair codex --confirmno longer aborts withtrusted repair script is missing: ...\.codex\tools\repair-codex-resume.ps1on a freshly-installed machine (GitHub issue #2). The trusted PowerShell repair script is now embedded intoguardian.exeviainclude_str!and materialized to<codex_home>/tools/repair-codex-resume.ps1on first launch (and defensively before the C2 repair branch). Existing operator-customised scripts at that path are preserved.
package-release.ps1now stagestools/repair-codex-resume.ps1inside the release zip as a defense-in-depth copy of the trusted script.
guardian-repair::codex::ensure_codex_tools_deployedhelper, called fromapps/guardian/src/app.rs::runso every CLI / GUI / tray entry point lays the embedded repair script down idempotently.apps/guardian/assets/tools/repair-codex-resume.ps1is now the canonical source of truth for the repair script and is shipped with the source tree.
guardian repair codex --confirmno longer aborts the entire run and discards successful stale-row (C2) or trusted-project (C6) repair work when the slow-path (C4) launcher hotfix step fails (for example, when no verified hotfix binary is present on the workstation, or when the launcher vendor block can no longer be located). The failure is captured asrepair_slow_path_errorevidence, recorded in the audit record, surfaced in CLI / GUI / tray notes, and the outcome is reported asunresolvedinstead of a hard error. This preserves the audit trail and any earlier successful repair work on machines where the hotfix source is not yet staged.
- README now states the project's creation purpose and the concrete failure classes it was built to handle.
- Rust workspace for the Windows Codex Stability Guardian main program.
guardian.execommand surface with:checkrepair codexrepair dockerdiagnose profileexport bundleguitray
- Codex managed repair orchestration with:
- pre-flight health inspection
- backup-first SQLite repair
- project trust drift detection for
.codex/config.toml - confirm-gated trusted project entry append with post-write verification
- structured confirm-mode audit output
- Docker / WSL repair flows with guarded runtime restart behavior.
- Profile diagnosis output with guided recovery notes.
- Bundle export support for health, diagnosis, and audit summaries.
- Release packaging script for Windows x64 artifacts.
- GitHub Actions CI and tag-driven release workflow.
- Explicit
--confirmgating for mutating repair actions. - Read-only profile diagnosis boundary.
- Backup creation before Codex SQLite repair.
- Initial professional repository README.
- Initial release-ready changelog.
- Release packaging and verification guidance.