Repository navigation
Audit Mail shared directives for v3 wrappers - #3840
Open
Ramses Sanchez-Hernandez (ramsessanchez) wants to merge 8 commits into
Open
Ramses Sanchez-Hernandez (ramsessanchez) wants to merge 8 commits into
Ramses Sanchez-Hernandez (ramsessanchez) wants to merge 8 commits into
Conversation
Record exact compatible operation evidence, preserve existing derived coverage, and distinguish excluded beta input from absent API operations. Add focused Mail regression coverage without duplicate overrides. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run the full Release build against openApiDocs_KiotaCompat v1.0 with Kiota 1.36.1. Client and cmdlet sources, generated projects, and dependency locks are unchanged; only Kiota version metadata in the client lock changes. The compiled module exports 146 commands and all 132 direct operations match published parity. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Ramses Sanchez-Hernandez (ramsessanchez)
marked this pull request as ready for review
October 22, 2026 00:36
Ramses Sanchez-Hernandez (ramsessanchez)
requested a review
from a team
as a code owner
October 22, 2026 00:36
Ramses Sanchez-Hernandez (ramsessanchez)
force-pushed
the
ramsessanchez-mail-v3-migration
branch
from
October 22, 2026 00:37
f7ed1ac to
8ece835
Compare
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Pass the derived run profile separately from GeneratorConfig, refresh current literal operation IDs and spec evidence, and assert complete original source selection equals current compatible survivors. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run the shared queued full Kiota and wrapper Release pipeline on powershell-v3 08e409a with Kiota 1.36.1 and official Authentication 2.38.1. Generated cmdlets/projects remain identical; persist the two Kiota mail-folder delta documentation refreshes and updated spec lock hash. The fresh module exports 146 commands and raw parity matches 146/146 routes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Exercise the real Mail compatible document through the current generator and verify ordinary/migrated reply commands and item GET use the explicit v1.0 request adapter context while the exact content suppression remains intact. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run the shared queued full Kiota/client/cmdlet/project/manifest Release pipeline against normal target 844672d with Kiota 1.36.1 and the verified adapted Authentication package. Persist explicit v1.0 adapter calls and the dependency-ownership project template; client/spec/dependency locks remain unchanged. Normal manifest requires Authentication 2.41.2 with only three owned wrapper DLLs and no dependency preloads. Fresh compiled Global and USGov offline factory-pipeline gates and raw parity pass. 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.
N/A
Changes proposed in this pull request
Audit Mail's three shared AutoRest cmdlet directives without duplicating existing derived naming/suppression coverage. This existing PR is now normally integrated and fully regenerated against merged Authentication #3891. The current proof below supersedes, rather than relabels, the earlier #3849/Authentication 2.38.1 evidence.
replyAllrenames, and threecreateReplyAllrenames. Complete original same-profile source selections equal all seven compatible survivors. Current literal IDs and the source/compatible spec blobs are documented; no extra operation group, alias, naming sweep, global generator patch, or authored profile filter is added.openApiDocs_KiotaCompat/beta/Mail.ymlis missing, not because the beta APIs are generally unsupported or the corresponding operations are proven absent. Its declarations useexcluded: true, empty operations, explanatory notes, and noabsenceExpected. Generation never falls back to the original spec; that original v1.0 input is read only for source-intent audit.src/Mail/Mail.md. Keep those source directives intact; ignore every directive insrc/readme.graph.mdand profile-local readmes. Parameter aliases/transforms and schema/response migrations remain deferred. The runtime profile is separate generation context, not aGeneratorConfigsetting or authored profile restriction.Current integration and commit boundaries
Normal merge
019313cd8e75fcbd8071995043257de4a2d99321integratespowershell-v3at844672d7c2238f6b29a208f9ba73fe28e9e29cef(#3891). All prior audit, correction, and profile-generation history is preserved.Own test commit
d78dba36d52821a60b80e3ebfeae5566c67fd920exercises the actual Mail compatible document through the current generator, pinning explicitGetRequestAdapter("v1.0")for migrated/ordinary reply commands and item GET, together with the exact suppression.Separate combined full v1.0 generation commit
2e1bc464fcba288530a852c409fea7c03d8bbb4econtains 132 emitted runtime-profile updates and the normal project dependency-ownership template. The freshly generated client and spec/dependency locks are byte-identical; no source delta is fabricated. The regenerated manifest requires adapted Authentication 2.41.2 with no dependency preloads, and the wrapper bin contains only its three owned DLLs. Authentication supplies the complete Kiota/RMS/UriTemplate/Multipart closure. Bin/manifest binaries and session logs are not committed.At this publication the open, non-draft PR has base
powershell-v3/844672d7c2238f6b29a208f9ba73fe28e9e29cefand head2e1bc464fcba288530a852c409fea7c03d8bbb4e. This continuation used normal merges and an ordinary push, with no amendment, rebase, cherry-pick, force-push, duplicate PR, or PR merge.Current inputs and package
openApiDocs_KiotaCompat/v1.0/Mail.yml42f7093190db0aefecdd6c079ab37123f96d5d4copenApiDocs/v1.0/Mail.ymle1a19a44755a1c5a2f61ef2c8ebe88cc0949551b1.36.1+fd3bf87790149b87f40f7eae1a5feb9016625943, process-local parallelism 12FC09BFE6B70D313BC56DF8ADCCFB1976FB4E90A1898BF8A916B4B8B792898EB; all 64 extracted file hashes match the supplied manifestAuthentication comes from the normally packaged local build of the integrated shipping source, not a stock gallery module or manual DLL bundle. Fresh child import verified the exact first module root:
C:\Users\ramsess\.copilot\session-state\4aa86cf9-d43c-4d2b-a4a3-aeaed01b8f29\files\authentication-v2-sync\final-source\modulesOnly process-local PATH/PSModulePath were changed. No dependency installation, old Authentication 2.38.1 acceptance, RMS copy, dependency preload, or load-context shim was used.
Exact current commands and results
The new evidence directory is:
C:\Users\ramsess\.copilot\session-state\aa9ad2a2-473c-4a39-b1eb-152ad5636d52\files\mail-3891-844672In the commands below,
$evidenceis that exact directory;$repoisC:\Users\ramsess\Repos\copilot-worktrees\msgraph-sdk-powershell\ramsessanchez-bookish-winner.dotnet test .\tools\WrapperGenerator.Tests\WrapperGenerator.Tests.csproj --configuration Release --filter 'FullyQualifiedName~MailDirectiveMigrationTests|FullyQualifiedName~CmdletConfiguratorTests|FullyQualifiedName~NamingTests|FullyQualifiedName~DerivedCollisionResolutionsTests' --logger 'trx;LogFileName=mail-targeted.trx' --results-directory $evidence --verbosity quiet- passed, exit 0; TRX counters total/executed/passed 114, failed/skipped 0. This is the selected module/configurator/naming regression set, not a full shared suite..\tools\Get-WrapperDirectiveMigrationInventory.ps1 -Module Mail -FailOnUnresolved -OutputPath (Join-Path $evidence 'strict-inventory.json')- passed; exactly three directives, allMapped, with genuine missing-input beta exclusions.& 'C:\Users\ramsess\.copilot\session-state\871a5292-dc5b-423e-8083-5165b0006603\files\Invoke-QueuedModuleBuild.ps1' -RepoRoot $repo -Module Mail -ApiVersion v1.0 -Configuration Release- passed, exit 0, statusOK, 33.7 seconds, 146 exports. The unchanged four-mutex queue ran the full compatible-spec builder after final own source changes; slot 2 released automatically. No SkipKiota, GenerateOnly, NoCollisionData, or legacy fallback.pwsh -NoProfile -NonInteractive -File (Join-Path $evidence 'Test-Mail3891Runtime.ps1') -RepoRoot $repo -EvidenceRoot $evidence -Environment Globaland the same command with-Environment USGov- both passed, exit 0, each in a fresh process with normal manifest import. Each verifies 146 exports, 19 exact compiled migrated/neighbor/worker routes, defaultList/item dispatch, the suppressed GET's absence, and 10 requests through the real authenticated GraphHttpClientFactory pipeline intercepted by a test-only terminal handler.pwsh -NoProfile -NonInteractive -File .\tools\Compare-WrapperCmdletNames.ps1 -GeneratedPath .\src\Mail\wrapper\v1.0\Cmdlets -OutLedger (Join-Path $evidence 'raw-parity.csv')- passed, exit 0, unchanged raw parity 146/146 routes; no skipped routes, normalization, mismatches, or deliberate corrections. Frozen oracle omissions and neighboring names are unchanged; beta parity is not claimed.Observed runtime scope and limits
Per environment, the 10 captured requests are typed public item/default-list GETs (including escaped mandatory IDs, supported
Top, and direct request headers), all six migrated reply actions with typed JSON and typed/void results, neighboring bodyless send POST, and content DELETE. All use the requested v1.0 cloud host while retaining the same authenticated client and its unchanged Global-v1 factory BaseAddress. Session adapter reuse is checked.Each run also checks six
WhatIfinvocations and six genuinely declinedConfirmprompts send zero HTTP, one prompt per action; an empty mandatory ID and invalid typed Message fail binding before HTTP. The wrapper bin has only Mail, Mail.Client, and Runtime DLLs, and all loaded Authentication/Kiota/RMS/UriTemplate/Multipart identities come singly from the verified Authentication package with the expected load contexts.These are bounded offline representative checks using Connect-MgGraph, the normal factory/auth pipeline, an in-memory MockDataStore, and a terminal handler. They are not live Graph/OAuth/network proof, whole-module body coverage, pagination proof, wrapper-package installation, beta transport proof, or grouped-variant/default-family proof. No PATCH-204/refetch or generic refetch-header assertion was made; unmerged #3886 is not overlaid or certified. No #3881/#3882 overlay or shared stale MultiRoute source-equality repair is included.
The initial fixture assumptions about a missing factory trailing slash and a USGov factory-default BaseAddress were corrected to the actual factory contract. Their failed logs/exits are retained separately; final requests explicitly assert the selected service host instead. Existing NU1903 warnings for Microsoft.OpenApi.YamlReader 3.7.0 remain unchanged.
Retained current evidence includes
current-proof-summary.json,mail-targeted.trx,targeted-tests.log/.exit,strict-inventory.json,full-v1-build.log/.exit,auth-64-files-verified.json,auth-fresh-import.log,source-input-hashes.json,tool-hashes.json,generated-source-hashes.json,generated-bin-manifest-hashes.json,Test-Mail3891Runtime.ps1,runtime-Global.json/.log/.exit,runtime-USGov.json/.log/.exit,raw-parity.csv/.log/.exit, Kiota logs, and original fixture attempts. Oldermail-post3849-*evidence remains untouched and historical.Other links