Repository navigation
fix(tui): drop cleared To-do items from the work rail (#6546) - #6783
Merged
Merged
Conversation
Replacing the To-do list (or the Plan) drops its compat bindings but the Work Graph has no node removal, so the old PlanStep nodes stay in the graph. The work surface rendered every PlanStep node, so an item the model cleared with an empty todo_write stayed on the rail forever while /tasks, the relay and the model all reported an empty list. The rail now shows a PlanStep only while the compat projection still references it (CompatProjectionState::projects). The graph keeps the retired node as history. Tests (focused, hermetic): - cargo test -p codewhale-tui --lib --all-features -- work_surface: 159 passed, 0 failed - ... -- cleared_todo_list work_graph tools::todo relay: 84 passed, 0 failed (includes new cleared_todo_list_leaves_no_plan_step_rows) - rustfmt --edition 2024 --check on touched files: clean Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks
Hmbown
pushed a commit
that referenced
this pull request
Sep 30, 2026
…indows-safe - crates/tui/CHANGELOG.md regenerated with scripts/sync-changelog.sh (Version drift on #6782 failed: "crates/tui/CHANGELOG.md is out of date with the root CHANGELOG.md slice"); `sync-changelog.sh --check` now passes. - skills::package_digest::tests::bounded_read_accepts_exact_remaining_bytes used the anonymous tempfile::tempfile(), which Windows CI denies under the hermetic test home ("Access is denied", os error 5, seen on #6783's Windows job 109657004556). It now uses a named file in a tempdir, like the neighbouring test. rustfmt --check clean; Windows CI is the proof. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks
Six typed-save fixtures used quiet even though the validated enum accepts normal, concise and verbose. Use concise for these writes; preserve the separate raw legacy-load coverage. Six focused config tests passed, zero failed. Shared source gate: npm test674 passed/0 failed; check:web passed. No production configuration behavior changed. Signed-off-by: Hunter B <hmbown@gmail.com>
Match the adjacent named-file fixture under hermetic HOME. The anonymous tempfile failed with Windows AccessDenied on PR #6783. Same patch in combined qualification passed all 8 package_digest tests; Windows CI remains required. Full combined npm gate: 740 passed, 0 failed; check:web passed. Signed-off-by: Hunter B <hmbown@gmail.com>
…tracts Portable imports reject machine-bound authority settings. Keep closed-choice acceptance coverage on portable verbosity and preserve unknown existing fields. Run ordinary typed plugin activation under normal supervision rather than the 600 ms fault watchdog, and use the clippy-approved search error assertion. Validation on combined source 69824d3 plus recorded patch: CLI bundle tests 61 passed, 0 failed; typed plugin activation 1 passed; custom search fallback 1 passed. Combined all-feature CLI/TUI/workflow/workflow-js test build passed. Unrelated Calm glyph assertion remains open (TUI combined 97 passed, 1 failed). Full npm test: 740 passed, 0 failed (68 wrapper + 16 SDK + 54 extension + 602 web); check:web passed. Windows handshake scheduling remains separate, unverified. Signed-off-by: Hunter B <hmbown@gmail.com>
Windows full-suite runs on PRs6776 and6780 reported normal extension hosts missing the production five-second handshake deadline. Serialize the host fixture family across nextest processes without changing production deadlines, hang-detection tests, or retries. Nextest profile ci resolves all39 tests (35 extension-host module and4 engine callers) to max-threads1; governed focused run39/39 passed in28.901s on macOS. Exact config SHA256456e681709fe5838e404fbf537f6a934d700d0577ec15bf6a18eeae17aecde53. Full npm740/0 and check:web passed. Windows resolution still requires new hosted runs. Signed-off-by: Hunter B <hmbown@gmail.com>
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 37711109 | Triggered | Generic High Entropy Secret | 336fc1d | crates/secrets/src/redact.rs | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
Hmbown
pushed a commit
that referenced
this pull request
Sep 30, 2026
Brings in #6765 (session continue/delete/persistence notices) and #6783 before the durability slice's next build, as the lead requested. Conflicts: - crates/tui/src/session_manager.rs (remove_session retention branch): kept this slice's T07-01 fail-closed guard for an unreadable legacy origin, and main's `remove_import_archive_copy` after the ordinary snapshot is removed on the recoverable path; dropped main's stale comment line that the separate guard now implements. - crates/tui/src/tui/ui/event_loop.rs, crates/localization/locales/zh-Hant.json: resolved by the recorded (rerere) resolution of this same main merge; checked here: no markers, event_loop keeps both sides' functions (`transcript_cadence_tier` and main's `coalesce_resize_burst`, `surface_session_save_health`, `shutdown_persistence_notice`), zh-Hant keeps every key from both sides (2440 keys, none lost). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: CodeWhale Bot <bot@codewhale.net>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Clearing or replacing the Plan/To-do list now removes retired steps from the work rail while retaining graph history. Previously the model and task views could report an empty list while old steps stayed in the footer.
Closes #6546. The existing empty
todo_writeoperation provides the clear action; this change repairs its visible result.Validation: the real Work runtime write → publish → clear → publish regression passed in the combined release-candidate binary, along with the initial work-surface batch. The combined candidate also passed all 8 package-digest and 61 config-bundle tests. On this branch,
npm testpassed 740 tests (68 wrapper, 16 SDK, 54 extension host, 602 web), andnpm run check:webpassed. The anonymous bounded-read test fixture was replaced by the adjacent named-file pattern after Windows returned AccessDenied; common portable-config and typed-plugin fixture repairs are included. These local receipts do not replace the new head's Linux, Windows, and macOS CI.The original implementation and commit authorship are preserved. Native terminal and save/reopen walkthroughs are not claimed by these tests.