Conversation
Document existing typed identity sources and add content-free compatibility and delivery coverage without changing SDK behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the accepted SDK session ID instead of deriving it from an application URI; hosts can remap paths and resolve collisions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cover late acknowledgements after a send wait is cancelled, and document the missing caller-visible admission bridge without inventing one. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Verify existing initial-worker and one-to-many interaction fields while documenting follow-up, recovery, and product-reporting limitations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Document the runtime-verified root-projection bridge for user and turn events, without generalizing it to other telemetry or inventing causal identities. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Record the verified product event-ID bridge without implying that existing runtime spans carry the same occurrence key. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Document that callback context cannot retroactively parent an earlier tool-start handoff; preserve nonblocking execution and require a verified early source. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Distinguish retaining routed pre-response events from delivering them before create acknowledgement; resume starts its event loop earlier. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Regenerate all six projections from canonical runtime 7ab2ab8 schemas, preserving optionality and the runtime's independent default-off emission gate. Add compatibility, early-delivery, and replay coverage without an SDK writer or behavior change. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep schema provenance at 7ab2ab8 while requiring runtime producer 27867ac0 for stable duplicate-start context and documenting its gated existing event-ID span attribute. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use runtime c4e6d732 schemas to clarify prepared-run parentAgentTaskId and API-spawn toolCallId fallback across all generated SDK documentation. Exactly four schema descriptions change; wire shapes and runtime behavior do not. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Generate all six SDK projections from the verified canonical runtime schemas and add thin caller-owned send options. Preserve default wire behavior, source and trace context, and existing .NET/Java call shapes without changing release pins. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: e845e41f-91a5-4596-b3e7-a1414264fa8b
Consume the sealed runtime worker-causality v1 contract across all six public SDK projections. Preserve existing admission and constructor compatibility, tolerate invalid optional diagnostics without changing product handling, and document the actual-Turn and frontend boundaries. Runtime-Seal: ba93cab47430a4df6a8b6a83244676d9cc6a7c64 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Consume runtime worker-causality seal revision 3. Enforce the fully materialized 4096-byte graph domain and 256-byte UTF-8 identities, add ASCII and multibyte 257-byte rejection vectors, and document the authoritative integrated UI boundary. Runtime-Seal: dcf9cb24b3c1c25b81318df794a9addf9a5ebffe Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Apply runtime worker-causality seal revision 4. Accept printable non-control UTF-8 identities, enforce closed optional diagnostic shapes, expose canonical workflow completion in all six SDKs, and preserve legacy factory run event compatibility. Runtime-Seal: d636c4a1eaf18af1c08ebd7922c245ab614c0873 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Integrate Copilot CLI 1.0.89-1 through 1.0.89-3 SDK snapshots without rewriting the identity and worker-causality history. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
| public class WorkerCausalityTests | ||
| { | ||
| private static readonly JsonNode Corpus = JsonNode.Parse(File.ReadAllText( | ||
| Path.Combine(AppContext.BaseDirectory, "worker-causality.json")))!; |
There was a problem hiding this comment.
Fixed in 5c5c7d666b by using Path.Join for the test fixture path, which avoids Path.Combine root-reset semantics. All 14 focused .NET worker-causality tests pass.
Note
Auto-replied by the GitHub Copilot app.
Consume authoritative runtime seal revision 12. Reject invalid Unicode scalar identities, canonicalize legacy persisted workflow completion across public readers, harden duplicate-aware raw JSON repair, and preserve unrelated event payloads. Runtime-Seal: d2e0c4735cf9f49905f19b5521939b81d5931a74 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Reconcile the final workflow RPC schema with the existing public FactoryApi and current main fields so standalone consumers and cross-platform generated-surface tests retain source compatibility. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Use the supported Jackson object-property iterator and avoid Path.Combine root-reset semantics in the shared fixture test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Cross-SDK Consistency ReviewI reviewed the authoritative PR delta (125 changed files across Feature parity — all six languages implement the same surface:
No inconsistencies found. No single-language-only additions, no divergent validation limits, and no naming mismatches beyond expected language conventions. Nice work keeping six independent implementations in lockstep on a fairly intricate validation contract.
|
Preserve the final runtime revision 12 projections and compatibility layers while taking current SDK main through CLI 1.0.89-5. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Project invalid raw fixture values before the assertion loop. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep current workflow APIs and legacy run-update invalidation without referencing removed high-level factory types. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Project each invalid fixture directly to its wire payload before entering the assertion loop. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Go event decoding drops existing fields and legacy variants, while Python, .NET, and Java normalize identities that must round-trip exactly.
Review effort: Balanced
Findings: 5
Open (5)
Preserve ParentToolCallID in assistant turn start unmarshalling · New Preserve worker UUID casing in Java serialization · New Prevent UUID canonicalization in worker identity projections · New Commit factory event compatibility cases in encoding output · New Preserve uppercase worker UUIDs in Python round-trips · New
What changed in this PR
Exposes worker-causality diagnostics, execution identity, trace context, and admission correlation across six SDKs while retaining legacy event compatibility.
Changes:
- Adds tolerant worker-causality decoding and typed projections.
- Propagates admission correlation and tool trace context.
- Adds cross-language compatibility and boundary tests.
| File | Description |
|---|---|
scripts/codegen/typescript.ts |
Adds diagnostic response processing. |
scripts/codegen/rust.ts |
Adds tolerant Rust deserialization. |
scripts/codegen/python.ts |
Adds tolerant Python decoding. |
scripts/codegen/go.ts |
Adds Go decoding and compatibility generation. |
scripts/codegen/csharp.ts |
Adds converters and compatible overloads. |
rust/tests/worker_causality_test.rs |
Tests diagnostic decoding. |
rust/tests/session_events_test.rs |
Tests tool trace context. |
rust/tests/fixtures/tool-trace-context-v1.json |
Adds trace fixture. |
rust/tests/api_types_test.rs |
Tests correlation projections. |
rust/src/worker_causality.rs |
Implements diagnostic validation. |
rust/src/types.rs |
Exposes correlation options. |
rust/src/session.rs |
Sends correlation metadata. |
rust/src/lib.rs |
Registers decoder module. |
rust/src/generated/api_types.rs |
Adds generated diagnostic fields. |
rust/README.md |
Documents correlation usage. |
rust/Cargo.toml |
Enables raw JSON values. |
rust/bazel/crates/BUILD.serde_json-1.0.151.bazel |
Enables Bazel raw-value support. |
python/test_worker_causality.py |
Tests diagnostic behavior. |
python/test_structured_output.py |
Tests typed-send correlation. |
python/test_session.py |
Tests send correlation. |
python/test_message_identity_generated.py |
Tests generated identity fields. |
python/copilot/session.py |
Exposes correlation parameters. |
python/copilot/_worker_causality.py |
Implements diagnostic validation. |
nodejs/test/message-source.test.ts |
Tests correlation forwarding. |
nodejs/test/message-identity-types.test.ts |
Tests generated identity types. |
nodejs/test/csharp-codegen.test.ts |
Tests C# generation compatibility. |
nodejs/src/workerCausality.ts |
Implements diagnostic validation. |
nodejs/src/types.ts |
Adds correlation option. |
nodejs/src/session.ts |
Filters diagnostics and forwards correlation. |
nodejs/src/generated/rpc.ts |
Adds generated diagnostic handling. |
java/sdk/src/test/java/com/github/copilot/WorkerCausalityTest.java |
Tests Java diagnostics. |
java/sdk/src/test/java/com/github/copilot/MessageSourceTest.java |
Tests Java correlation. |
java/sdk/src/test/java/com/github/copilot/generated/MessageIdentitySerializationTest.java |
Tests generated serialization. |
java/sdk/src/main/java/com/github/copilot/WorkerCausalityDeserializer.java |
Implements Java validation. |
java/sdk/src/main/java/com/github/copilot/rpc/SendMessageRequest.java |
Adds correlation field. |
java/sdk/src/main/java/com/github/copilot/rpc/MessageOptions.java |
Exposes correlation option. |
java/sdk/src/main/java/com/github/copilot/CopilotSession.java |
Forwards correlation metadata. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerSource.java |
Adds worker-source model. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerObservationProvenance.java |
Adds provenance enum. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerNotificationReference.java |
Adds notification reference. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerNotificationMode.java |
Adds notification mode. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerInput.java |
Adds worker-input model. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerEventType.java |
Adds worker-event types. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerEventReference.java |
Adds event reference. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerCausality.java |
Adds diagnostic root model. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerBridgeObservation.java |
Adds bridge observations. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerAdmissionKind.java |
Adds admission kinds. |
java/sdk/src/generated/java/com/github/copilot/generated/WorkerAdmission.java |
Adds admission model. |
java/sdk/src/generated/java/com/github/copilot/generated/UserMessageEvent.java |
Adds message diagnostics. |
java/sdk/src/generated/java/com/github/copilot/generated/ToolExecutionStartEvent.java |
Adds trace context. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationWorkflowCompletedStatus.java |
Adds completion statuses. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationWorkflowCompleted.java |
Adds typed workflow completion. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationUnclassified.java |
Adds unclassified notifications. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationShellDetachedCompleted.java |
Adds detached-shell notification. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationShellCompleted.java |
Adds shell notification. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationNewInboxMessage.java |
Adds inbox notification. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationInstructionDiscovered.java |
Adds instruction notification. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationEvent.java |
Types notification payloads. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationAgentIdle.java |
Adds idle notification. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationAgentCompletedStatus.java |
Adds agent statuses. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotificationAgentCompleted.java |
Adds completion notification. |
java/sdk/src/generated/java/com/github/copilot/generated/SystemNotification.java |
Adds notification union. |
java/sdk/src/generated/java/com/github/copilot/generated/SubagentStartedEvent.java |
Clarifies tool-call identity. |
java/sdk/src/generated/java/com/github/copilot/generated/SubagentFailedEvent.java |
Clarifies tool-call identity. |
java/sdk/src/generated/java/com/github/copilot/generated/SubagentCompletedEvent.java |
Clarifies tool-call identity. |
java/sdk/src/generated/java/com/github/copilot/generated/SessionEvent.java |
Restores factory event variants. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerSource.java |
Adds RPC worker source. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerObservationProvenance.java |
Adds RPC provenance. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerNotificationReference.java |
Adds RPC notification reference. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerNotificationMode.java |
Adds RPC notification mode. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerInput.java |
Adds RPC worker input. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerEventType.java |
Adds RPC event types. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerEventReference.java |
Adds RPC event reference. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerCausality.java |
Adds RPC diagnostics. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerBridgeObservation.java |
Adds RPC bridge observations. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerAdmissionKind.java |
Adds RPC admission kinds. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/WorkerAdmission.java |
Adds RPC admission model. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/SessionTasksSendMessageResult.java |
Adds task receipt diagnostics. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/SessionSendParams.java |
Adds send correlation. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/SendMessageItem.java |
Adds per-item correlation. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/QueuePendingItems.java |
Exposes queued correlation. |
java/sdk/src/generated/java/com/github/copilot/generated/FactoryRunUpdatedEvent.java |
Restores legacy update event. |
java/sdk/src/generated/java/com/github/copilot/generated/FactoryRunStartedEvent.java |
Restores legacy start event. |
java/sdk/src/generated/java/com/github/copilot/generated/FactoryRunSettledStatus.java |
Restores legacy statuses. |
java/sdk/src/generated/java/com/github/copilot/generated/FactoryRunSettledEvent.java |
Restores legacy settled event. |
java/sdk/src/generated/java/com/github/copilot/generated/AssistantTurnStartEvent.java |
Adds turn diagnostics. |
java/scripts/codegen/java.test.ts |
Tests constructor compatibility. |
go/zsession_events.go |
Re-exports worker types. |
go/worker_causality_test.go |
Tests Go diagnostics. |
go/types.go |
Exposes correlation option. |
go/session.go |
Sends correlation metadata. |
go/rpc/zsession_events.go |
Adds generated event fields. |
go/rpc/zsession_encoding.go |
Adds tolerant event decoding. |
go/rpc/zrpc_encoding.go |
Adds tolerant RPC decoding. |
go/rpc/message_identity_test.go |
Tests identity serialization. |
go/rpc/factory_session_event_compat.go |
Adds legacy factory types. |
go/message_source_test.go |
Tests correlation forwarding. |
go/factory_session_event_compat.go |
Re-exports legacy factory types. |
dotnet/test/Unit/WorkerCausalityTests.cs |
Tests .NET diagnostics. |
dotnet/test/Unit/SessionEventSerializationTests.cs |
Tests event identities. |
dotnet/test/Unit/ClientSessionLifetimeTests.cs |
Tests send correlation. |
dotnet/test/GitHub.Copilot.SDK.Test.csproj |
Includes shared corpus. |
dotnet/src/Types.cs |
Exposes correlation option. |
dotnet/src/Session.cs |
Sends correlation metadata. |
docs/features/streaming-events.md |
Links identity guidance. |
BUILD.bazel |
Exports shared corpus. |
Files not reviewed (4)
- go/rpc/zrpc_encoding.go: Generated file
- go/rpc/zsession_encoding.go: Generated file
- go/rpc/zsession_events.go: Generated file
- go/zsession_events.go: Generated file
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Keep worker UUID identities as source strings, preserve Go turn metadata, and decode legacy factory events through typed compatibility cases. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Integrate CLI 1.0.89-6 and current SDK surfaces while preserving sealed worker diagnostics, legacy event decoding, and source-exact identities. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Resolve schemas across standalone and runtime layouts, update RPC surface coverage, and make Rust workspace context assertions cross-platform and single-purpose. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Apply the released runtime contract and fixture, preserve standalone SDK compatibility, and regenerate all six projections against CLI 1.0.89-7. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Integrate CLI 1.0.90-0 and regenerate current SDK surfaces while preserving the sealed worker-causality contract and compatibility guarantees. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

workerCausalityv1 diagnostics across Node.js, Python, Go, .NET, Java, and Rust. Canonical public completion is typedworkflow_completed; legacy factory RPC and run-event surfaces remain readable for SDK compatibility.clientoutcomeand is not blocked by SDK publication. SDK migration plus official CLI schema and replay publication are tracked by github/copilot-experiences#13684, a verified sub-issue of github/copilot-experiences#13458. The PR is clean and non-draft at4b63097e37d645a2f24c36a6f989e35dae0a243b. It cannot merge because official CLI 1.0.90-0 still omits the worker-causality schemas and the shared replay assets do not yet contain the new request shape. This PR does not vendor unreleased schemas, weaken freshness or fixtures, rebase, force-push, or merge.Final sealed inputs and latest release audit
0e4601376210e376cf882f1d1d4109fe5be3f8463b642feeb1cdc956a4b1ff3cbf7a9218de6c016f0e92357dc2e02c6c085fed31cb80c326e23a289dc94e32619756dc288997e0f00bb64076c298387363312d54a749f25f1b36bf3078d9f3c74ffc13621bb96075c836c73d3c033d670b1d571b1baa45b877627a79db5b7b09e8612f7f3d7a8ea0093add188c5895afcbfac5bf3c998ed5679a3aa093fb23c1620fb0a8aa646da9f84c0b56cf4b3e5b15d3c94da6ff14e8717ee5cabcc14d1b5ba8527b7ba0c73ea9aef09229298e836feff2521b394b36839f9a1ba49676418a7f4bf63257b9f41805eb930f8fe1f3cfa38c8a114a755172687dcc641360d101af177ca045c6d001613800a9be2d6304e8d53ea9b61b33362cbab1c0ec6a1871a3bb2ad0a661a5f613eb597b16c198106c597cc2ca58f81c25dc28953112df373dae0bc0c5bb168377c67b62e8e1c6, version 3v1.0.90-0, published 2026-09-28 21:27:00Z, prereleasegithub-copilot-1.0.90-0-darwin-arm64.tgz, 57,401,482 bytesdc7466a664b8eb739ea38ffe85c6169475da8039da6f5bf9263a27536591f607e931547304a0e2207e27e521ea5118eaf715a54922f2f6e51c38094a6e310eb5, zero worker-causality references6cbb1abe9fc92d84ad7dd1d99301abce931c932462f5c19749018782c3c5890b, zero worker-causality referencesCurrent validation
External publication gate
Official CLI 1.0.90-0 contains no
workerCausalityschema definitions, so normal standalone freshness still removes the sealed projections. Its runtime also emits additional model messages for shared abort scenarios while the authoritative replay fixture contains the earlier request prefixes. github/copilot-experiences#13684 owns the official schema/replay publication follow-up. No unreleased schema or hand-authored replay override is committed here.Dependency links
Dependencies: github/copilot-experiences#13575, SDK migration follow-up github/copilot-experiences#13684, github/copilot-agent-runtime#23073, github/copilot-host#1354, github/copilot-mission-control#6530, and frontend boundary github/github-ui#35143.
Tracking and end-to-end flow
Tracking: program issue #13458 · continuation issue #13643
The area implemented by this PR is highlighted.