Repository navigation
Conversation
The first T6 slice. Psyche #11/#12 have not published canonical task, lane or lease contracts, so this shows only the engine-local stores and offers no action that starts, stops or retries work. - application::work projects the background registry, the model task list and the session goal into rows that keep their origin and full id. Rows that share a title are never merged. A blocker that matches no listed task is flagged as missing; nothing is inferred to be ready. - States say who reported them: a cancelled background task reads "cancel signalled; exit not confirmed" (#373), and a completed model task reads "completed (reported by the model)", since TaskStop also writes Completed. Deleted model tasks are not listed. All store text is terminal-safe and kept to one row. - The inspector gains a Work page between Session and Views. It leads with an engine-local note and the Psyche #11/#12 blocker, and reports an unreadable goal store. The Views entry for Work now reads "local only" and points at the page. - The interactive loop snapshots the stores into App.work_sources just before drawing, only while the Work page is open. The goal is read from SQLite at most every two seconds, and at once when the session id changes, so another session's goal is never shown. Tests (seen failing first): projection unit tests for origin separation, missing blockers, reported states, goal budget and read errors, and terminal safety; Next render tests at 80x24 and 80x40; CLI tests for the session-switch re-read (red without the session check) and the store copy.
- The session goal is read through GoalStore::open_read_only_nowait: an existing database only, read-only, with a zero busy timeout, so a writer in another process can no longer stall the UI thread. A failed read keeps this session's last good goal and reports the error only when there is nothing to keep; it never keeps another session's goal. - The per-frame snapshot keeps only each background task's last output line, the only line the page shows. - The scope notes move into the inspector header, so scrolling cannot hide them, and say the in-memory tasks span the process, not just the session. The empty state says "in this process". - A budget-limited goal has its own Limited state, shown as pending rather than as a failure. A goal-store error stays on one row. - The no-action test now checks the real task stores and that nothing would be submitted; new tests cover ordering, a deleted blocker, scrolling, and 40x12, 20x6 and 1x1 rendering. Each changed behaviour has a test seen failing first. Within a session an open page can show a changed goal up to two seconds late; this is documented on refresh_work_sources.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
4 tasks done
6 tasks done
This branch was successfully deployed
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.
Context
mainas those land.Implementation
crates/tui/src/application/work.rs): turns a snapshot of the background registry, the model task list and the session goal into rows.[background],[model task],[session goal]) and full id. Rows that share a title are never merged.crates/cli/src/main.rs): taken just before each frame, and only while the Work page is open.GoalStore::open_read_only_nowait(crates/core/src/goal.rs): existing database only, read-only, zero busy timeout. A locked store keeps this session's last good goal instead of stalling the UI.Verification
cargo fmt --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspace --locked: 2873 passed, 0 failed, 52 ignoredpython3 scripts/check-secrets.py: this repository has no such script. The diff adds no credentials, tokens or private paths.Independent review
A fresh reviewer read
57768b8. Verdict: ready after fixes, nothing blocking. Resolved in2bfbc6b:#[allow]without a reasonAccepted and documented: an open page can show a goal changed within the same session up to 2 s late.
Risk and Rollback
Agent Handoff
App.work_sources.goalinApp::enter_session_scopeas well. Canonical tasks, lanes, leases and mutations wait on Psyche feat(tui): surface build & turn completion via toast + bell #11/feat(familiars): add access tier so build-tier familiars can use git/shell #12 and a qualified terminal profile. A producer-backed journey with real SHAs is still required to close [TUI v2][P1] T6: expose Psyche-backed tasks, dependency tracking, lanes, and durable goals natively #413.