Repository navigation
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
trissim
enabled auto-merge
October 30, 2026 12:33
…P954--toad-pair # Conflicts: # tests/textual/test_conversation_kind.py
trissim
disabled auto-merge
October 30, 2026 17:51
trissim
enabled auto-merge
October 30, 2026 19:52
The Toad NRA gate charged this pair with an introduced NoneAbsence at
wire_history.py:379-380 (WireReading.__exit__ spelling three optional
parameters), banned vocabulary at work_preparation.py:316 ("admitted") and one
unannotated `through` each in SavedPrefix.prefix and WirePageBuffer.prefix.
WireReading now locks close(), the one path retirement takes, instead of
re-declaring __exit__; both prefixes take the protocol's TranscriptCursor.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XbFMSoWgC3ZwKzjT4SwMDu
Author
|
Closed in Tristan's board clear (2026-11-02): the P954 pair of agent-comms#3607 (closed with it), no activity since Oct 30. The branch is kept. Re-land any part still needed as a fresh PR on current main. Generated by Claude Code |
auto-merge was automatically disabled
November 2, 2026 18:11
Pull request was closed
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.
P954 — 15 files, +453/−170; held conversation readings and complete person-row consumers
Toad head:
2b424f78ff9e5ca77d910099b254ff8229d06925.Required Core pair: OpenHCSDev/agent-comms#3607 at
a6eb302725e834321542454737b339366b276bea.Both refs equal their local HEAD on readback; both PRs are MERGEABLE after history-preserving main merges. No rebase/force push. These heads need one matched review/qualification and paired landing. Earlier client-only landings were reverted; do not repeat them.
Published source only. Push triggered exact-head run41108153918; NRA failed and suite was still running at the later readback, with no collected/passed counts available yet. NRA reported +2 missing new HistoryViews factory errors in conversation_kind.py and +6 missing ThreadPresence.views errors in thread_comms.py against Core main; the paired Core declares those APIs. Full failure log retained as p954-sync-46615-toad-gate.log. The workflow's core-from-main action resolves Core main, not the required paired Core head, so this run is not matched-pair proof. No author tests, checker, product import, build, application, provider, service, install or profile. No installed performance improvement is claimed.
Current main integrated
Main
c72556c285cde225a1ab63ba9ad1762f03852ddfis an ancestor of this head. ItsKeyFamilyMeta(FamilyMeta, KeyDeclarationType)fix at widget_actions.py:29 was merged unchanged, not reimplemented. The sole newly merged file was widget_actions.py; no conflicts. Core likewise integrates main d249be4d89. Both remote refs equal HEAD; both tracked trees remain clean. The earlier failed run41101360019 stopped during collection (exit4), so it supplied no behavioral result.Before → after
One conversation source owns one retained Core reading
Before, each transport page reacquired Core's selection/source and could cross later catalogue cuts. ConversationKind.reading now obtains one actual HistoryView and retains its Core reading. WireReading owns that lazy callable and serializes acquisition, use and exit with RLock. PageEnd uses it for newest8 and older40 pages; WireSource.prepare consumes the original page and its evidence, not a second read.
WireScope borrows that reading independently for prefixes. Revoking/replacing a main source does not revoke a retained prefix. Growth renews only the main cut; unchanged revisions reuse; hidden tabs park. Existing native ReusedPrefix remains its own case.
Existing PreparationRuntime/PreparationScope/task admission owns strong resource retention, off-UI closing and joined shutdown. No GC/weak ownership, new worker queue, timer or shadow history. Retirement reports failure and re-raises rather than silently dropping resources. Renderer, geometry and preparation ownership remain unchanged.
Four Core convenience wrappers → two real view factories
ConversationKind builds
dm_display_vieworchannel_display_viewthen chooses.reading(source.comms.views.presentation). All changed production/test callers use the new factory/operation contract; no compatibility page or reading wrapper. Channel viewer arguments use the actual Checkout-derived viewer.Complete nominal person presence
Core's shared ThreadPresence.views returns only complete ThreadViews, with the empty answer for NoThreadView. Relationship navigation, cached/uncached row presentation and keys_for_threads all call that family. No
.threadaccess on a ThreadView|NoThreadView iteration, isinstance, hasattr, cast or client union narrowing. A real ThreadRowModel cache miss remains None, distinct from absent person. Existing incarnation matching, focus/cancellation and unavailable/channel details remain.Preserve freshly landed main consumers
Merged current main per hunk. The sole conflict was test_conversation_kind.py: retain P954's reading context and main's actual AppAgents/CoordinationAccess construction. Main's P993 batching survives in WireSource.prepare as
page.message_evidence(); no evidence_for path restored. Main's thread/sidebar and wire changes are retained.Delete obsolete read-ahead monkeypatch
The old test patched the deleted channel_display_page and waited on a counter nobody increments. It now follows the real history fragments and retained loader/scope/reading, scrolls to earlier messages and checks retained scope plus preparation reuse. This is not the previous ≤3 Core-read assertion. The integration owner accepted measuring that bound at the actual consumer; do not call it preserved or measured here. Controls remain UNRUN.
Publication and source evidence
Checkpoint
4f6ef51ef(6 files, +57/−39) was pushed before merge. Current head merges origin/main and retains all previous lifetime/nominal work. Core checkpointff5e9d00aawas likewise pushed before its merge/repairs. Both remote refs equal HEAD; both tracked working trees are clean. Core's foreign untracked refactor-audit remains untouched.AST parsed 15 changed Toad Python files and 52 Core files with zero syntax omissions; diff --check passed. Retained NRA owner map covers 18 production modules/485 classes/zero omissions, plus the original 74-module migration map. Dynamic/local/external binding remains OPEN. These are source artifacts, not matched typing or execution.
New exact-head hosted NRA failed against unmatched Core main; suite was still running on readback. Root owns matched Core/Toad typing and controls; the known Toad full-suite failure is not a reason to leave this published pair idle, nor permission to claim it passes.
Still required from the integration owner
Assumed: this pair has not been installed or live-accepted. Hosted checks and matched generic/lifetime typing were not completed at readback. The ≤3 Core-read ceiling remains an explicit integration measurement gap. No source checkpoint or old baseline establishes a speedup. P954 remains OPEN.