Repository navigation
Audit ChangeNotifications shared directives for v3 - #3845
Open
Ramses Sanchez-Hernandez (ramsessanchez) wants to merge 15 commits into
Open
Ramses Sanchez-Hernandez (ramsessanchez) wants to merge 15 commits into
Ramses Sanchez-Hernandez (ramsessanchez) wants to merge 15 commits into
Conversation
Record an empty reviewed mapping ledger with exact v1.0 and beta compatible operation evidence, and pin unaffected structural and data-aware naming without adding overrides. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run full compatible-spec Kiota 1.36.1 and wrapper Release generation/build. Client sources, cmdlets and projects are byte-identical; the client lock records the new Kiota version. Build and compiled discovery succeed with 7 exports, and all 6 operations match the published names. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run full compatible-spec Kiota 1.36.1 and wrapper Release generation/build. Generated sources and projects remain byte-identical; locks record the current Kiota version and exact lowercase beta spec path while preserving tracked wrapper/Beta casing. Compiled discovery succeeds with 8 exports and the operation inventory remains unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Ramses Sanchez-Hernandez (ramsessanchez)
requested a review
from a team
as a code owner
October 22, 2026 00:42
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep runtime profiles separate from shared GeneratorConfig in naming and suppression regressions, with derived data enabled and disabled. Refresh exact compatible operation IDs/spec hashes and cover the current v1.0 VAPID route. Combined module, configurator and naming tests: 89 passed; strict zero-directive inventory passed. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run the shared queued full Kiota and wrapper Release pipeline on target 08e409a: exit 0, Status OK, 78.5 seconds, eight fresh compiled exports. Capture current-spec VAPID client and cmdlet plus three Web Push model/expanded-body fields; retain every existing route. Fresh exact GraphRoute, List/Get default, credential-free reads and mutation WhatIf/Confirm checks pass. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run the shared queued full Kiota and wrapper Release pipeline on target 08e409a: exit 0, Status OK, 111.6 seconds, eight fresh compiled exports. Client/cmdlet source and projects are byte-identical; the client lock records the current compatible description hash. Exact GraphRoute coverage of all seven operations, unchanged inventory, dispatcher defaults, credential-free reads and mutation WhatIf/Confirm checks pass. Preserve wrapper/Beta casing and existing beta naming. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Full shared-queue Release generation on target844672: exit0/OK, 19.5s, eight normal-manifest exports. Regenerate client, cmdlets, project and manifest; generated callers now use explicit v1.0 transport and module bin retains only three owned DLLs. Real Authentication factory typed CRUD/default/query/context and safety probes pass in Global/USGov. Preserve the observed shared PATCH204 generic-header-refetch limitation; no overlay or global fix. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Full shared-queue Release generation on target844672: exit0/OK, 27s, eight normal-manifest exports. Regenerate client, cmdlets, project and manifest; emitted calls explicitly retain beta service root, three-own-DLL packaging and full accepted Authentication ownership. Normal real-factory compiled/package typed CRUD/default/query/context and safety probes pass in Global/USGov; preserve failed shared PATCH204 generic-header-refetch replay without overlays. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…tion Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add module-specific generation regressions for both profiles with derived data on/off: PATCH emits one mutation, no readback, only native inputs, and returns only a non-null response model. Document caller-explicit GET semantics. Combined module/configurator/naming/required-query tests: 161 passed; shared strict audit remains empty. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Full queued Kiota/client/cmdlet/project/manifest Release run on6475: exit0/OK,82.5s,8exports; no-incremental compile passed. Typed real-factory Global/USGov offline gates positively assert PATCH204 onePATCH/noobject/noGET even withGET403, PATCH200 actualmodel onePATCH, independent callerGET, binder/ShouldProcess/query/profile/Auth contexts. Actual MockDataStore reapplied after all runspace imports and guarded before transport/lifecycle. Clients/projects/locks reproduce unchanged; generated PATCH readback removed. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Full queued Kiota/client/cmdlet/project/manifest Release run on6475: exit0/OK,135.2s,8exports; no-incremental compile passed. Typed real-factory Global/USGov gates assert PATCH204 onePATCH/noobject/noGET even withGET403, PATCH200 actualmodel onePATCH, independent callerGET, binder/ShouldProcess/query/beta-profile/Auth contexts. Actual MockDataStore guarded after all imports beforeConnect/everyHTTP/lifecycle. Clients/projects/locks unchanged; generated PATCH readback removed; preserve Beta casing. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This branch has not been deployed
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.
No linked issue; this is the existing ChangeNotifications migration PR, finally revalidated after the normal #3886 merge.
Changes proposed in this pull request
src/readme.graph.mdand every profile-local directive. Parameter aliases/transforms and schema/response directives remain deferred classes; none are present in this shared source. Preserve existing naming, finite operation evidence, unaffected neighbors and historical generated boundaries.powershell-v3target 6475f3f normally. Add module-specific positive PATCH regressions and docs for the new contract, then fully regenerate v1.0 followed by beta. No global framework/Auth/template edits, optional-query sweep, Fix Kiota PostPath typed navigation without renaming operation types #3881 overlay, or extra readback switch.Current head and preserved history
Current pushed head: 8100cbd, same PR and branch, preserving prior head
9ed2a18c6a1f5c856b7c20718ebc030626fa5be6and every original migration/profile commit.75b44954bb9515adc5f363401d2961fbd9e412f8- normal target merge.ed3208464347214feb8a2d63fc96dca077114e13- own Subscription PATCH single-operation tests and documentation.87c491d84bfd47fa90e6810f0b80af27f682562c- separate combined v1.0 full client/cmdlet generation boundary.8100cbd6450ef3fd967e5d790d489281bdbf2335- separate combined beta full generation boundary.No rebase, amend, force push, new PR, PR merge or protection bypass. Full Git scope, including added/deleted/renamed paths, was inspected rather than relying on a capped REST file list; all paths are ChangeNotifications-owned source/generated output or its test file. No bin/obj, packages, DLLs, logs or proof artifacts are committed.
e53bd7d80255a87fe5c11b94c5d1f09e15adc854wrapper/v1.014bf6c727c87c5433274bfec78a4a681169e5390wrapper/BetaSpecs, Kiota client source, lock files, wrapper projects, public export names and seven unique routes reproduce unchanged from the prior head. Each generated profile removes the implicit PATCH GET readback; three GET files also receive a generator-produced blank line. The unchanged client/project/lock output was actually regenerated, not skipped or hand-edited. Existing beta casing and beta naming remain.
Positive PATCH contract, not a relabeled old failure
The old PATCH-204 generic-header-loss-on-implicit-GET result in
ChangeNotifications-844672-wave3is user-superseded historical evidence, not a current waived failure. This new target removes the implicit GET entirely:patch-response-id/actual-patch-response), no GET.Get-MgSubscriptionindependently owns its headers, query, result and error: an explicit GET is separately rejected with 403, then an explicitly requested GET with its own$selectand header succeeds.Own generation tests exercise the real compatible Subscription specs in both profiles with derived data enabled and disabled. PATCH has no native query inputs in either compatible spec. Compiled surfaces have zero mandatory Query inputs; no GET-only Property/Top inputs or PassThru/ReadBack/Refetch switch were added to Update. The real current method surfaces, not invented required queries or mutations, determine coverage.
Full generation and actual test results
Both actual full four-mutex queued runs used Kiota 1.36.1+fd3bf87790149b87f40f7eae1a5feb9016625943, process-local parallelism 1, normal accepted Authentication 2.41.2, and only
openApiDocs_KiotaCompat. No SkipKiota, GenerateOnly, NoCollisionData or fallback input. Slots released automatically. Queue wait time is recorded separately from per-module build seconds.Additional non-incremental compile commands, both exit 0:
Actual TRX: 161 total/executed/passed, 0 failed/not-executed, exit 0. Ordinary strict shared inventory: zero rows/mapped/deferred/unresolved, exit 0. The isolation addendum did not trigger a completed source/full-generation/TRX rerun.
Actual normal transport and post-import memory isolation
Fresh normal-manifest probe commands, all exit 0 / PASS:
Each row captures 13 authenticated offline HTTP requests, 4 genuine declined Confirm prompts, 0 live requests, and verifies 8 exports / all 7 unique GraphRoutes. Coverage includes ordinary List default and mandatory item identity, typed GET/list/VAPID outputs, optional query/header binding, typed JSON POST/PATCH bodies/results, bodyless DELETE with If-Match and reauthorize, zero HTTP for WhatIf/declines/invalid Top, positive PATCH204/200 above, independent GET, request-context/reconnect invalidation, disconnect and normal Auth/Kiota assembly contexts.
The actual
GraphHttpClientFactorytoken pipeline, existing in-memory helper and test-only terminal handler are used, not a bare marker client. Beta requests send/betaon the correct Global/USGov host even though the factory client defaults tohttps://graph.microsoft.com/v1.0/; the shared BaseAddress is not mutated.The first final probe incorporated the runtime isolation addendum before any final transport run. All additional runspace imports happen before Connect;
Set-MgTestDataStoreis reapplied after the last import. Actual reflected shared datastore type is recorded asMicrosoft.Graph.Authentication.Test.Mocks.MockDataStorein 14 guard checkpoints per row, including before initial Connect, mutation/confirmation work, context changes, reconnect and logout. The terminal checks and records that actual type before every one of the 13 HTTP requests. The pre-reapply DiskDataStore type is separately recorded, not asserted to prove credential I/O. No old runtime report was overwritten or relabeled.Accepted packaging and dependency ownership
The complete 64-file accepted adapted Authentication 2.41.2 manifest and physical package SHA256 2FC09BFE6B70D313BC56DF8ADCCFB1976FB4E90A1898BF8A916B4B8B792898EB were verified. The exact normal local package root leads process-local PSModulePath:
C:\Users\ramsess\.copilot\session-state\4aa86cf9-d43c-4d2b-a4a3-aeaed01b8f29\files\authentication-v2-sync\final-source\modulesBoth normal wrapper manifests require Auth 2.41.2 with no RequiredAssemblies/NestedModules preloads; each fresh bin/package has only the client/runtime/module DLLs. Authentication owns the single normal Kiota/RMS/UriTemplate closure. No old2.38, stock package, shims, manual dependency copies or global setup changes.
After the full builds, supplemental
dotnet pack --no-build --no-restoreused the same normal generated manifest/version and production nuspec metadata/file/dependency layout. The artifact script only packages completed outputs and verifies that bin hashes are unchanged:Both exit 0, normal 3-DLL package/build identity checks pass. These are supplemental packaging commands, not substitutes for full Kiota builds.
Honest retained limits
Raw oracle parity remains exit 1, unnormalized: v1.0 7/8 (frozen oracle lacks VAPID), beta 0/8 (existing MgBeta prefix and reauthorize/VAPID noun differences). These naming limits were not broadened into a global fix. Existing Microsoft.OpenApi.YamlReader 3.7.0 NU1903 warning remains. Acceptance is PS7/Core only and offline, not live API/tenant certification.
Canonical current evidence is in
post3886-6475-final\handoff.json, with raw full-profile logs, per-command exits, actual TRX/scalar counters, strict inventory, four compiled transport captures, post-import datastore checks, source/spec/Auth64/assembly/manifest/package/queue/tool hashes, and complete Git scope. Earlier 08/844672 target and failed probe evidence remains historical and untouched.Other links