Repository navigation
fix: namespace Copilot opaque reasoning provenance - #92
Merged
Brian Krabach (bkrabach) merged 2 commits intoNov 11, 2026
Merged
Conversation
This was referenced Nov 11, 2026
Brian Krabach (bkrabach)
marked this pull request as ready for review
November 11, 2026 20:58
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.
Final disposition — merged
This PR is merged at
5040547e22800dc132d250e3fd7cd4af57f00dab. All four sibling upstream PRs are now merged after independently reviewed CLI/Agent compatibility qualification. This supersedes the earlier integration-hold/queued-check text retained below. Gemini's fresh exact-head CI run 43113542631 passed both Python 3.11/3.12 jobs and CLA before its merge; the original out-of-sync zero-job run was not successfully canceled.Exact four-merge evidence and qualification limits were handed to the sole Unified Release Manager. Unified PR #1927 dependency adoption, accepted-upstream normal worker pairing, merge and release remain separate; no live installation, app pin update or release is claimed here. Agent shipped pins require downstream adoption. Task-owned DTUs and monitor schedules are cleaned up/canceled.
Final app compatibility qualification
Current reviewed head:
383c726241c336b4bb6cc698c383e2a7e22f640a. This section supersedes the older draft/integration-hold status below; earlier evidence remains historical, not relabeled.b14815f, Gemini5cbee8f, Copilot383c726, managed context220f748(ordinary integration of accepted main7ffe422/fix: Add eager SDK dependency check to trigger Amplifier's install fallback #31). Final heads independently reviewed.dtu-op-51f138e10fe12844658b2b28d937393c, normal HTTPS snapshot installs with exact installed Python/native wheel byte joins; no product source overlays. CLI5a0f1a0retains Core 1.6.1/Foundation6278749/loop072d50c; Agent125e1bfretains Core 2.0.1/Foundation21ad50f/loopdd91649. SDK closure deliberately satisfies provider floors: Anthropic 1.12.0, Google GenAI 2.30.1, Copilot 1.0.15.5cbee8frecovers only from a unique matching native block, with foreign/ambiguous/mismatched rejection. Prior 91-pass/1-failure Agent and 144-pass/1 synthetic-picker-fixture CLI receipts retained; fixture v1–v3 failures retained separately from passing v4. No app production changes.a8b763f354444b22ee541a0efafb7f1e8a255ff3a7ffc95bfdfd7383ff626ecb); DTU and owned image removed, no task-owned environments remain.Final GitHub checks remain a separate merge prerequisite; queued checks are not passed. User authorized admin merge after good compatibility/review/checks. Unified PR #1927 and accepted-upstream dependency adoption/release remain with the sole Release Manager.
Earlier component and candidate-graph evidence (historical)
Summary
Persist Copilot-owned opaque reasoning with
github-copilotproducer provenance so native Anthropic/Gemini consumers do not mistake it for their own signature, even when Copilot hosts those model families. Preserve block-local opaque state with empty visible thinking without leaking it into rendered text or UI content. An empty block cannot inherit unrelated accumulator-global opaque state merely to survive.Copilot's own SDK history rendering/session behavior is unchanged: this is provenance/storage correctness, not a claim that Copilot now natively replays opaque historical reasoning.
Exact candidate:
383c726241c336b4bb6cc698c383e2a7e22f640a, two commits overd9f350524249d2124accf5f5357658e32a8a52ac; five changed paths only. No dependency pins or versions changed.Component evidence and limits
Previously completed fix/review evidence (not rerun by this publication worker): full offline 1,751 passed / 15 deselected; lint passed. The full type-check retained 28 baseline pyright diagnostics, not repaired or represented as passing. Independent review covered 233 prior checks, 26 delta checks and 8 red/green probes. The P2 empty-thinking/global-opaque inheritance defect was fixed with block-local retention. No live SDK/account or upstream native-signature acceptance claim.
Integration hold and combined evidence
Draft / integration-held. This publishes reviewable source only: no merge, version/pin change, release, accepted-upstream adoption or live installation. The complete remedy needs both stable host context delivery and provider-native state handling; none of these component PRs alone claims to fix the live host.
Saved isolated candidate-graph receipts: DTU
dtu-op-c47af297dbe1a71aa93b665d20786597, pinned Smart Tool 0.6.9, Docker daemonea270c64-da9b-4e45-b998-c097d9914fca. Tests ran credential-free with networking disconnected after dependency preparation. Native Core 2.0.2 used a guest-built wheel (not WASM); the native binary and all eight authored Python package hash sets were joined to the original source snapshots.Focused results: Anthropic 92, Gemini 84, Copilot 127, managed context 575, unchanged loop 92, unchanged OpenAI regressions 46, and host delivery 229 passed. The first managed collection failed because overriding pytest addopts dropped importlib mode; the corrected command explicitly restored
--import-mode=importliband all 575 passed. The failed receipt is retained, not counted as green.Six offline witness cases passed through real inbound provider conversion -> real
StreamingOrchestrator.execute()-> JSON context write/read -> Core typed request reconstruction -> real outbound native conversion, including OpenAI encrypted reasoning and rawopenai:output_itemsmetadata. Transport/tools were fake; this proves the tested serialization/ordering seams, not vendor acceptance or every host persistence/compaction path.Qualified graph: host
a8bbe801a174dbb8012842f25d4a28e8092a066b; Anthropicb14815fabdf38e3836e68ad83adecb72daa519a1; managed877e1cc6139028816f8a114418d83901eb1d45aa; Gemini250592a39c4b930aeb58202bc3489746165f513e; Copilot383c726241c336b4bb6cc698c383e2a7e22f640a; unchanged loop072d50c5bcc0f7c57ca4d336ef03915563fa7861, Core9614052f7c9e493977dcba3f5c98ebd4d8591ec5, Foundationc67e3ada021a5bbb93df9567feb23e2a72c93f55.This is candidate-graph evidence only, not accepted-upstream or live-host qualification. The separate host port
70142aeb7b7e4913588a127fbbd1cb693faa4525onto Unified 0.80.1 is pending release-Foundation pairing; its PR and downstream publication belong to the parent/Release Manager. Recheck affected integration against accepted upstream revisions before downstream merge/release.Sibling draft PRs
All siblings remain draft / integration-held; these links do not assert merge, adoption or a release.