Repository navigation
P958: retain nominal ACP session IDs through goal publication peers - #1346
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.
P958 — four callers retain the nominal session
1 commit, 4 files, +10/-8. Matched Core: OpenHCSDev/agent-comms#3613 at
f465403b79077a586bfdb630d9cdb2c1c6de568a. ToAD head:277571e478cd7671ad0094bbc4a6ed6844ad426c.Before / after
typed_turn_events.py: string SESSION plussync_goal_execution(SESSION, name)-> declaredAcpSessionIdretained by the consumer, andsync_goal_execution(SESSION). Core's SessionLifecycle derives the owner.peers/turn_source.py: extracted binder's string parameter -> existing nominal type passed unchanged tobind_owned. Registry/attachment/resource cleanup is preserved.core_adapters/mcp_turn_boundaries.py: foreign SDKagent.session_id->FieldCodec.decode(AcpSessionId, ...)once at ingress, then the existing helper retains that value.shared_stdio.py: native declarations construct the nominal attachment identity at declaration and bind it through the existing lifecycle.Deleted
The obsolete second refresh argument and string forms at these callers. No compatibility wrapper, interior re-tag, duplicate identity map, package move or new fixture owner.
Evidence
All four modules compiled before commit; no author tests/checkers/production imports/provider/UI/actions. Rebased onto fetched main; remote SHA equals HEAD; clean tree. Source/commit receipt:
/home/ts/.cache/agent-scratch/slot-activity/p958-toad-publish.log. Dynamic receiver resolution is not a runtime proof.Still owed by integration
Matched-head review and the assigned existing controls. Core retained evidence is 16 collected / 14 passed / 2 failed at 3b8, not a clean run. Both failures captured the RoomLedger keyword mismatch subsequently repaired in Core; Core also isolates the private goal fixture ledger. Author did not rerun these.
No lock or package pin changes. P918 follows this pair. P958 remains open for actual publication/borrow behavior and installed acceptance: >=2 streaming agents, worker <15% CPU, <50 registry-lock opens/10 seconds. Compilation proves none of those runtime targets.
Assumed: this delivers source callers only, not installed/runtime/performance acceptance.