Skip to content

P958: retain nominal ACP session IDs through goal publication peers - #1346

Merged
trissim merged 1 commit into
mainfrom
work/slot-activity--P958--toad
Oct 30, 2026
Merged

trissim merged 1 commit into
mainfrom
work/slot-activity--P958--toad

Conversation

@trissim

@trissim trissim commented Oct 30, 2026

Copy link
Copy Markdown

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 plus sync_goal_execution(SESSION, name) -> declared AcpSessionId retained by the consumer, and sync_goal_execution(SESSION). Core's SessionLifecycle derives the owner.
  • peers/turn_source.py: extracted binder's string parameter -> existing nominal type passed unchanged to bind_owned. Registry/attachment/resource cleanup is preserved.
  • core_adapters/mcp_turn_boundaries.py: foreign SDK agent.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.

four callers cross the new API
compatibility ferry deleted before construction

Copilot AI balanced review requested due to automatic review settings October 30, 2026 02:25

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
trissim merged commit 7cfdd23 into main Oct 30, 2026
2 of 3 checks passed
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.

2 participants