Repository navigation
Audit DirectoryObjects shared directives for v3 wrappers - #3856
Open
Ramses Sanchez-Hernandez (ramsessanchez) wants to merge 10 commits into
Open
Ramses Sanchez-Hernandez (ramsessanchez) wants to merge 10 commits into
Ramses Sanchez-Hernandez (ramsessanchez) wants to merge 10 commits into
Conversation
Record all 17 shared suppression groups against actual legacy and compatible specs, retain no-op and duplicate selectors, and preserve neighboring derived behavior without speculative overrides. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run queued full compatible-spec generation and Release build with Kiota 1.36.1 and Authentication 2.38.1. Client/cmdlet/project sources are unchanged; the client lock records the CLI update. Compiled module exports 15 cmdlets; all14 direct-call names match published parity. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run queued full compatible-spec generation and Release build with Kiota 1.36.1 and Authentication 2.38.1. Client/cmdlet/project sources are unchanged; locks record the CLI update and compatible-spec beta path casing. Compiled module exports 16 cmdlets. Existing beta parity mismatches are unchanged and outside the shared PKI directive scope; preserve committed Beta output casing. 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 02:44
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Pass generation profile separately from shared GeneratorConfig, pin beta oracle isolation with data on and off, and refresh compatible-spec evidence after the normal powershell-v3 merge. All17 original subject directives remain active and current strict mappings pass. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run full queued compatible-spec Kiota and cmdlet generation plus Release build on merged powershell-v3 including #3849. Verify15 compiled exports and14 exact route neighbors preserving the existing restore suppression. Client/cmdlet/project sources remain identical; the client lock tracks the current compatible description hash. Raw published route naming parity passes15/15. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run full queued compatible-spec Kiota and cmdlet generation plus Release build on merged powershell-v3 including #3849. Verify16 compiled exports and15 exact route neighbors with no v1 oracle leakage. Client/cmdlet/project sources remain identical; the client lock tracks the current compatible description hash. Raw beta naming parity remains0/16 at baseline and is not normalized or fixed by this shared directive audit. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run full queued Kiota/client/cmdlet/project generation and Release build on normal target844672d7c2 with packaged Authentication2.41.2. Emit explicit v1.0 adapters, require new Authentication, remove wrapper dependency retention/preloads; verify15 exports,14 exact routes and only3 owned DLLs. Real factory offline typed/session/binder/safety checks pass except the independently retained #3886 bound-header loss on204 PATCH refetch; no global fix is copied. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run full queued Kiota/client/cmdlet/project generation and Release build on normal target844672d7c2 with packaged Authentication2.41.2. Emit explicit beta adapters, require new Authentication, and remove wrapper dependency retention/preloads. Verify16 exports,15 exact routes, only3 owned DLLs and real factory beta Global/USGov URLs. Preserve #3886 bound-header loss on204 PATCH refetch as an actual blocker; do not copy or waive global fixes. 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 issue is closed by this audit.
Changes proposed in this pull request
Current Authentication-target revalidation is blocked by #3886's ordinary PATCH-refetch header contract. Both full builds, strict source audit, compiled routes, dependency ownership, profile/cloud routing, and targeted tests pass. The real offline HTTP gate intentionally exits 2 because a bound header reaches PATCH but is lost on its 204-response GET refetch. This failure is not waived or fixed by copying unmerged framework code.
powershell-v3at844672d7c2238f6b29a208f9ba73fe28e9e29cef(Sync current v2 Authentication into powershell-v3 #3891) and regenerate both profiles. Emitted adapters explicitly carry their run profile, generated projects retain only the three owned DLLs, and new manifests require the source-equivalent packaged Authentication 2.41.2 without Kiota/RMS/UriTemplate/Multipart preloads or copies.Only
src/DirectoryObjects/DirectoryObjects.mdshared cmdlet directives are in scope. All profile-local directives, includingv1.0/readme.mdandbeta/readme.md, andsrc/readme.graph.mdare explicitly ignored and untouched. Parameter aliases/transforms and schema/response directives remain deferred; this shared file contains no such groups. Both v1.0 and beta are available and required; no profiles are excluded. Existingwrapper/Betaoutput casing is preserved. PowerShell 7/Core only is supported by this validation.Current normal integration and persistent commits
Current pushed head:
06c276e39feee1f02c8a83fd3703c1cf525e9e12; existing PR and basepowershell-v3are unchanged.e5e6c06e795890b3585cb1f2e4edd768f05b9814844672d7c20b4db313899394b8dd35435b44116aa1a5d5842106c276e39feee1f02c8a83fd3703c1cf525e9e12No authored configuration or module test correction was needed for this target. All previous migration, correction, normal merge, and separate profile-generation commits remain intact, with no rebase, amend, cherry-pick, or force-push. New commits include the Copilot App coauthor trailer.
Actual generation deltas: 14 v1.0 and 15 beta direct-calling cmdlet files now use
GetRequestAdapter("v1.0")/GetRequestAdapter("beta"); each wrapper project removes dependency retention exceptions. Kiota client source and lock files are Git-identical for this wave. Release manifests are freshly generated with RequiredModules Authentication 2.41.2 and no RequiredAssemblies preload. Binaries/manifests/logs are retained as evidence, not committed from bin/obj.Authentication provenance and full builds (2026-11-02, target 844672)
The normal locally built adapted Authentication 2.41.2 module is imported from:
All 64 package-file SHA256s match
auth-package-hashes.json; package SHA256 is2FC09BFE6B70D313BC56DF8ADCCFB1976FB4E90A1898BF8A916B4B8B792898EB. Shipping Authentication/runtime/emitter/template/builder source is unchanged from the normally merged target. This is not a stock gallery package, old 2.38.1 acceptance module, manually injected DLL bundle, or load-context shim.Process-local environment used isolated Kiota
1.36.1+fd3bf87790149b87f40f7eae1a5feb9016625943, model-generation parallelism 1, .NET SDK10.0.403, and the exact adapted Authentication root first in PSModulePath. Fresh child imports verified Authentication version and module source.Both ran sequentially through the unchanged four-mutex queue and full compatible-spec builder, with no
SkipKiota,GenerateOnly,NoCollisionData, or legacy fallback.Fresh normal-manifest imports pass. Each profile's bin contains exactly
Microsoft.Graph.Wrapper.DirectoryObjects.dll, its owned client DLL, andMicrosoft.Graph.Wrapper.Runtime.dll, with no dependency DLLs. Compiled routes, no-PKI suppression outcomes, ordinary List default/item binder, count/function neighbors, and WhatIf/Confirm parameter contracts are retained. No authored variant groups are introduced.Current compatible-spec blobs remain v1.0
6d237252fa7ac6b410321be9e84e6eefeb675909and beta25d21d2e462cd6cba6d27f0938af0f11540018d6.Strict source and actual TRX gates
Results: 17/17 Mapped (15 reviewed absences, two literal selector no-ops); actual retained TRX counters total/executed/passed 100, failed 0, command exit 0. Both-profile derived data isolation remains explicit. No reserved Legacy translation ledger fields were added.
Fresh compiled and real authenticated HTTP gates
Evidence root:
Compiled gates pass, exit 0. The HTTP gates use real
Connect-MgGraphin-memory test sessions, Authentication's realGraphHttpClientFactorytoken-handler pipeline, and a terminal offline DelegatingHandler; no live Graph/OAuth, credential store, bare marker-client substitute, dependency injection, or assembly preload.Passing contracts include typed GET/list/item results, default dispatch and existing GET-query/header binding, escaped IDs, count/delta function neighbors, invalid bindings before HTTP, typed POST/PATCH JSON and returned models, bodyless DELETE, typed member-check action, beta bodyless restore, WhatIf and genuine declined Confirm sending zero HTTP, same-client profile alternation without BaseAddress mutation, and single normally packaged Authentication/Kiota/RMS identity/load context.
Actual compiled requests use
/betafor beta and retain Global/USGov hosts, even though the real factory HttpClient's default BaseAddress ishttps://graph.microsoft.com/v1.0/. All 58 captures are offline. Cloud/profile correctness and the closed RMS gap are not substitutes for the failing bound-header contract.Remaining blocker: in each profile/cloud,
Update-MgDirectoryObject -Headers @{ 'x-module-proof' = 'Update-proof' }sends the marker on PATCH, receives 204, and sends GET to the same correct item URL without the marker. The generated ordinary refetch uses.GetAsync()with no request configuration. This is the actual #3886 dependency, not an Authentication/source migration failure; no fix or acceptance waiver is included here. Native DELETE here has no required-query contract needing #3882. Broader service validity, live tenant behavior, and unsupported framework policies are not certified by these offline captures.Raw parity and historical evidence
These current unnormalized commands report v1.0 15/15, exit 0, beta 0/16, exit 1. Existing Mg-vs-MgBeta prefixes, structural beta action naming, and restore's missing oracle row are unchanged; no naming normalization or unrelated sweep is included. NU1903 for existing Microsoft.OpenApi.YamlReader 3.7.0 remains outside scope.
The earlier target
08e409a6aaand adapted predecessor Authentication 2.38.1 evidence belongs to the 2026-10-29 wave only: prior normal merge3508b09571, correctione5f272178d, separate profile commits53aec6b325andcced992ab8, strict 17/17, tests 100/100, builds 50.1s/133.0s. Those logs, commits, and older migration boundariesf5bedec235/3148e7893c/608e9e0337are preserved and are not relabeled as current Authentication proof.Current raw logs/exits, full Auth file hashes, source/spec/tool provenance, targeted TRX, compiled assembly/manifest hashes, generated manifests, actual HTTP captures/assembly contexts, parity ledgers, and explicit blocker summary are retained in the new evidence root. No separate wrapper nupkg was produced by this full-build path; normal bin ownership and manifest are verified without claiming an unrun pack gate. Original failed test-harness assumptions are retained alongside corrected final evidence.
Other links