Skip to content

fix: namespace Copilot opaque reasoning provenance - #92

Merged
Brian Krabach (bkrabach) merged 2 commits into
mainfrom
fix/opaque-reasoning-provenance-local
Nov 11, 2026
Merged

Brian Krabach (bkrabach) merged 2 commits into
mainfrom
fix/opaque-reasoning-provenance-local

Conversation

@bkrabach

@bkrabach Brian Krabach (bkrabach) commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

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.

  • Installed exact candidates: Anthropic b14815f, Gemini 5cbee8f, Copilot 383c726, managed context 220f748 (ordinary integration of accepted main 7ffe422/fix: Add eager SDK dependency check to trigger Amplifier's install fallback #31). Final heads independently reviewed.
  • Credential-free isolated DTU dtu-op-51f138e10fe12844658b2b28d937393c, normal HTTPS snapshot installs with exact installed Python/native wheel byte joins; no product source overlays. CLI 5a0f1a0 retains Core 1.6.1/Foundation 6278749/loop 072d50c; Agent 125e1bf retains Core 2.0.1/Foundation 21ad50f/loop dd91649. SDK closure deliberately satisfies provider floors: Anthropic 1.12.0, Google GenAI 2.30.1, Copilot 1.0.15.
  • Final Agent public API/tool/later-input/full-replay and Copilot checks: 14 passed. Gemini signature/adapter boundaries: 92 passed. Managed A→B→A, compaction/restore, synchronous visitor/checkpoint selection under CLI: 39 passed. Agent mounts its own StructuredContext/context-simple, not managed context.
  • Real CLI initialization→PreparedBundle/Core mounts→original provider complete→tool continuation→later input→SessionStore save/load→CLI resume→native replay passed for all three providers. Each had 3 session executions, 4 completion calls, exactly one echo effect across resume; 254 loaded module origins verified. Native opaque state/order/provenance preserved; Copilot opaque bytes excluded from textual prompt.
  • Actual Agent testing discovered the Gemini adapter's identical-signature copy without provenance; final 5cbee8f recovers 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.
  • Independent evidence audit accepted the scoped compatibility gate. This is offline installed-package compatibility, not live authentication, vendor cryptographic validity, default-root/TTY/first-run installation, or proof Agent's shipped pins already adopt these heads.
  • Final evidence exported (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-copilot producer 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 over d9f350524249d2124accf5f5357658e32a8a52ac; 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 daemon ea270c64-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=importlib and 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 raw openai:output_items metadata. Transport/tools were fake; this proves the tested serialization/ordering seams, not vendor acceptance or every host persistence/compaction path.

Qualified graph: host a8bbe801a174dbb8012842f25d4a28e8092a066b; Anthropic b14815fabdf38e3836e68ad83adecb72daa519a1; managed 877e1cc6139028816f8a114418d83901eb1d45aa; Gemini 250592a39c4b930aeb58202bc3489746165f513e; Copilot 383c726241c336b4bb6cc698c383e2a7e22f640a; unchanged loop 072d50c5bcc0f7c57ca4d336ef03915563fa7861, Core 9614052f7c9e493977dcba3f5c98ebd4d8591ec5, Foundation c67e3ada021a5bbb93df9567feb23e2a72c93f55.

This is candidate-graph evidence only, not accepted-upstream or live-host qualification. The separate host port 70142aeb7b7e4913588a127fbbd1cb693faa4525 onto 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.

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.

1 participant