Skip to content

Own delivery and title status at their actual sources - #684

Merged
trissim merged 5 commits into
mainfrom
refactor/title-status-owner
Oct 16, 2026
Merged

trissim merged 5 commits into
mainfrom
refactor/title-status-owner

Conversation

@trissim

@trissim trissim commented Oct 16, 2026 •

Copy link
Copy Markdown

Final ownership split (Claude11545)

Core #955 is the sole Core branch, owned by toad-close-lifecycle; this PR owns Toad/integration only. Pinned exact Core b6b79ac0352eb8677e024a90f64a56d44af0d182 in pyproject + uv.lock; Core package metadata is unchanged from the previous pin. Current Toad main integrated normally. My competing Core checkout/branch is closed: its interrupted commit/push/PR never ran, and its uncommitted source was preserved under .artifacts/retired-core-title-status before removing the owned checkout. No Core commits.

Owner-and-consumer change

  • title_role is one existing MroProjection dispatch, zero decisions/defaults. Six former widget branches deleted. Existing role classes returned directly; no forwarding SessionStatus class or extra status registry. Explicit Pending -> MutedRole and Retired -> NoticeRole handlers accompany Idle/Working/Attention.
  • Core InputDelivery owns pending/read-failure attention. The separate input_delivery_error reactive store and its bindings are deleted; all views consume the same Core delivery value.
  • Existing operational sources and turn-binding declarations provide one Core status row. Managed/CLI always use the observed Core row regardless of shown; local ACP uses its explicitly local Core ActivityState presentation. No row-vs-turn precedence in the widget.
  • Every observer holds a real non-Optional ThreadStatusModel from StatusPending onward. Retired is decoded by Core known(); foreign read errors use the existing typed UnreadableHistory boundary. No unavailable(name, reason) or require(None) helper remains.
  • Existing CursorStatus owns the sole viewport-local attention input. HiddenCursorStatus replaces absent cursor carriers across all consumers; UnavailableCursorStatus composes attention through its own behavior. Native Content.is_same and theme refresh retained; no title cache/timer.

Evidence and limits

Existing ParsedModule inventory: before606 production modules/218 relevant sites; after609 modules/207 sites, zero parse omissions. AST finds title_role decisions6 ->0; exact searches find zero forwarding SessionStatus classes, input_delivery_error mirrors, Optional row carriers or unavailable/require calls. Ambiguous dynamic receivers are not treated as static proofs.

Actual saved-session source UI, plain st on owned :210, Core b6b79ac0 / Toad ecae7ac (final ab3c4ce changes only the Core pin): Atom One Dark and Solarized Light each displayed Muted/Working/Notice. Real native nra-architecture and CLI codex, own native attention, palette repaint/offscreen views/tab returns;48 unchanged-title identity records at the checkpoint. Core current-input delivery produced Attention(Working), preserving work. No provider input, synthetic app/status, fixtures or automated tests.

The genuine failed-delivery READ case did not occur and remains unverified; do not call this full acceptance. No install/build by this owner, no performance/full-DM acceptance. First startup exposed a class-valued reactive default being instantiated; both owning defaults fixed, raw crash retained, fresh startup succeeded.

Evidence: ~/.cache/agent-scratch/toad-activity-disclosure/title-owner/. Draft retained for the genuine failure-case gap; source is committed/pushed.

@trissim
trissim merged commit 2885cdd into main Oct 16, 2026
@trissim

trissim commented Oct 16, 2026

Copy link
Copy Markdown
Author

Installed affected UI check completed on Codex's exact toad-2885cddb9/core-e7a08b454 build, absolute bin/toad in plain st on owned :210; no PYTHONPATH/PYTHONHOME, source overlay or observer. All three real title colours visibly painted in both Atom One Dark and Solarized Light (measured exact title-region RGB in six screenshots). Native nra Ready, active own Working plus pending-delivery attention, and actual busy CLI codex. Existing sweep continues under warning. Native -> CLI DM -> theme -> native/own returns showed matching selected tab, body and composer/working directory. Actual Inspect session read showed queued input11998; no clear/retry/input action.

No genuine failed-delivery READ example was observed; that path remains explicitly unverified. No fabricated failure, provider input, uncertain replay, automated tests, duplicate build or install. This is affected colour/status/settled-return acceptance, not general history or performance acceptance.

Evidence ~/.cache/agent-scratch/toad-activity-disclosure/title-owner/installed/{OWNER,painted-title-colours.json,live.json,selected screenshots}. Frontend/st exited normally; owned display closed; no backend/peer display touched.

@trissim
trissim deleted the refactor/title-status-owner branch October 17, 2026 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant