Repository navigation
P954: reland paired narrow relationship readers and complete controls - #1349
Merged
Merged
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.
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 — 2 reland commits; 7 files, +166/−35
Paired source: Core OpenHCSDev/agent-comms#3607 at
e1ee783f1a2354563ea6cb8806d49c877c37b439; ToAD3ce014574f4c6a1d5fcecce45f3768ff2eab9d84. Local and explicit remote ToAD refs match; owned ToAD tree is clean.This restores the SAME accepted implementation from ToAD#1331 (
95be07c37c8274c766b945cff3746f8c45203564), which merged alone and was reverted by #1348 because its Core pair was absent. The restoration is5368223d7; the remaining strict-status and presentation controls are3ce014574. Do not land this half independently again. The old merged PR cannot accept this reland; this is its continuation, not a competing implementation.1. Complete nominal people, with a distinct real model-cache miss
Before,
RelationshipEntry.personwasThreadView | None; consumers rediscovered absence, andshow_memberconverted nominal absence back toNonebefore looking up a model.After:
No cache copy or mutation. Existing worker cancellation, stale-entry protection, availability, navigation, focus and details remain. Nominal person absence is not a model-cache miss.
IDEN-3: fact=person presence versus distinct cache absence; at=former
show_membernext(..., None); derive=existing presence capability; by=CoreThreadView/NoThreadViewandRelationshipRow.presentinsrc/toad/widgets/thread_comms.py:114. Core's wire absence stays JSON null.Added source controls, UNRUN: the existing
test_relationship_groups_follow_core_edits_tools_sorting_and_renamesjourney now mounts real relationship rows in its already-open panel, uses genuine Core entries, waits for actual uncachedThreadRowModel.ofpreparation, reuses an actual matching cached model, and checks a genuine channel entry with nominally absent person retains label/detail without gaining a thread model. Both temporary rows retire infinally. No new App, fake observer, fake person or patched production path was added.2. One retained peer owns strict status resolution
Before, DM status acquired
CurrentDisplayReferencesfor the entire registry to recover one peer name.After:
Strict resolution rejects missing or recreated births with
UnregisteredThreadError, and follows original rename aliases to the current canonical name. Tolerant historical destination resolution remains distinct.asyncio.to_threadand the actual configuration answer owner remain.IMPL-12: fact=strict original-peer selection; at=ToAD
conversation_kind.py:301; derive=base-method; by=CoreThreadIncarnation.require_currentatthread_identity.py:212(paper1 Theorem4.7: copying the answer creates an independent supply path).Added source controls, UNRUN: the existing copied-conversation rename control now checks actual status before and after rename.
test_dm_status_refuses_deleted_or_recreated_peercovers actual public unregister/delete, absent birth, same-name recreated birth, successful replacement status, and refusal of the retained old peer. ExplicitRecordedCreationTimeseparates the recreated birth; no timer or fake configuration answer.3. First wire page does not wait for discarded sidebar references
Deletes only
CommsChatView.initialize_view's discardedcurrent_sidebarawait. Original shared observation preparation, root/source/viewer/prompt/native-anchor checks and real refresh ownership remain. Genuine sidebar reference and mention consumers remain. Geometry/preparation/page ownership is untouched.Existing authored control, UNRUN:
test_first_wire_page_paints_before_pending_sidebar_and_keeps_source_fencesuses the real private Workspace/bus/observer and the actual first page. It closes/joins the real reader, changes archived interest, requires first paint while genuine sidebar/reference waiters are pending, restores the receiver infinally, and checks labels, alternate root and retirement fences. No fake-ready sidebar, second observer or synthetic App was added.Evidence and exact remaining limits
git diff --exit-code 95be07c37c8274c766b945cff3746f8c45203564 HEAD -- src/toad/conversation_kind.py src/toad/widgets/comms_chat.py src/toad/widgets/thread_comms.py src/toad/wire_history.pyreturned0: all four production files are identical to the accepted source, not a replacement implementation.git diff --checkis clean. These are syntax/source checks, not import, typing or behavioral proof.p954-strict-before.json/p954-strict-after.json, 8 parsed modules,7 production modules,104 projected classes,0 parse omissions. This predates the latest two control edits; dynamic/conditional/local/external bindings remain OPEN./home/ts/.cache/agent-scratch/claude-code/perf/toad-1696798-1802-pyspy.raw:64/370 samples on the whole-catalog chain. A sample fraction is NOT measured CPU share or a promised saving. No new exploratory profile was run.Exact ToAD selectors for root's bounded combined selection:
Assumed: Root reviews this exact matched pair, lands both halves coherently and executes the real acceptance journey before reporting a working performance repair. Existing sessions, UNKNOWN inputs, original profiles and other owners' checkouts were not touched.