From 2902ccff188055eef98e72cba21e14d92c9ddbe6 Mon Sep 17 00:00:00 2001 From: "glm-5.2" Date: Sun, 28 Jun 2026 22:02:47 +0000 Subject: [PATCH] tasks: mark call/peer-composite-env complete --- tasks/call/peer-composite-env.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/call/peer-composite-env.md b/tasks/call/peer-composite-env.md index a1bdc1d..ea9992f 100644 --- a/tasks/call/peer-composite-env.md +++ b/tasks/call/peer-composite-env.md @@ -1,7 +1,7 @@ --- id: call/peer-composite-env name: Replace CompositeOperationEnv with PeerCompositeEnv (peer-keyed overlays) and PeerId from Identity.id (ADR-029/030) -status: pending +status: completed depends_on: [call/retire-remote-safe] scope: broad risk: high @@ -184,4 +184,4 @@ degenerate case (`connections` with one entry). ## Summary -> To be filled on completion \ No newline at end of file +Replaced CompositeOperationEnv with PeerCompositeEnv (peer-keyed HashMap + connection_order for insertion-order first-match routing). Added PeerId = String (= Identity.id from IdentityProvider resolution, ADR-030). Implemented new/with_session/attach_peer/detach_peer; invoke_with_policy routes session โ†’ peers in insertion order โ†’ base (first contains wins); contains aggregates session + all connections + base. Rewrote Dispatcher::compose_root_env to build PeerCompositeEnv per call, attaching this connection's overlay keyed by connection.identity().id โ€” connections with no resolved identity are NOT attached (ADR-030 ยง5). Migrated all CompositeOperationEnv call sites and tests. 199 lib + 2 integration tests pass, clippy clean, fmt clean. \ No newline at end of file