Conversation
Co-authored-by: blindzero <13959569+blindzero@users.noreply.github.com>
Code Coverage Report
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 84d9d84872
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
This PR aligns IdLE’s documentation and test suite with the post-#259 ContextResolver model: scoped source-of-truth paths under Request.Context.Providers.*, deterministic aggregated Request.Context.Views.*, and profile attributes nested under Profile.Attributes.*.
Changes:
- Updated workflow condition documentation/examples to use
Request.Context.Views.*andProfile.Attributes.*paths. - Updated provider reference docs to describe scoped output paths + engine-defined Views, and clarified attribute nesting.
- Updated/added Pester tests and a new workflow fixture to exercise profile-attribute conditions via Views/scoped paths.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/fixtures/workflows/resolver-profile-attribute-condition.psd1 | New workflow fixture validating profile attribute conditions via Views and scoped paths |
| tests/Core/Test-IdleCondition.Tests.ps1 | Updates evaluator tests to use Request.Context.Views.* and nested Profile.Attributes.* |
| tests/Core/New-IdlePlan.ContextResolvers.Tests.ps1 | Adds tests for Views-based profile attribute conditions and non-promotion of attributes |
| docs/use/workflows/templates.md | Fixes a small typo in the template substitution description |
| docs/use/workflows/conditions.md | Updates DSL examples and member-access enumeration guidance to use Views/scoped paths |
| docs/reference/providers/provider-mock.md | Updates provider reference to document scoped writes + Views and attribute nesting |
| docs/reference/providers/provider-entraID.md | Updates provider reference to document scoped writes + Views and attribute nesting |
| docs/reference/providers/provider-ad.md | Updates provider reference to document scoped writes + Views and attribute nesting |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Stale documentation and tests still referenced the superseded flat
Request.Context.Identity.*path format and promotedProfile.DisplayName(top-level) instead of the correct post-#259 scoped model where attributes are nested underProfile.Attributes.*.Documentation
conditions.md: Replaced all 14 occurrences ofRequest.Context.Identity.*withRequest.Context.Views.*. Updated all profile attribute examples fromProfile.DisplayName→Profile.Attributes.DisplayName. Added resolver path guidance to the Member-Access Enumeration section.provider-mock.md,provider-ad.md,provider-entraID.md: ChangedWrites to: Request.Context.Identity.*to the correct scoped-path + View format. Added explicit attribute nesting callout to each.templates.md: Fixed typo (Request.*g →Request.*).Tests
Test-IdleCondition.Tests.ps1: Updated 12 evaluation tests to useRequest.Context.Views.*paths andProfile.Attributes.*context structure in their mock objects — previously they implied the flattened model.resolver-profile-attribute-condition.psd1(new fixture): Workflow fixture exercising profile attribute conditions via the Views path (Views.Identity.Profile.Attributes.Department).New-IdlePlan.ContextResolvers.Tests.ps1: Three new tests covering:Views.Identity.Profile.Attributes.*condition path marks stepPlannedwhen attribute matchesNotApplicablewhen attribute doesn't matchprofile.DisplayNamedirectly must fail; onlyprofile.Attributes.DisplayNameis valid)Key path corrections
Original prompt
This section details on the original issue you should resolve
<issue_title>Post-#259 cleanup for ContextResolver paths, Views, docs, and tests</issue_title>
<issue_description>## Problem Statement
PR #259 introduced the new ContextResolver architecture based on provider/auth-scoped source-of-truth paths, deterministic Views, and the execution-time
Request.Context.Currentalias.This resolved the architectural direction, but follow-up cleanup is still needed to make the repository fully consistent.
At the moment, there is still a risk that some documentation, examples, troubleshooting guidance, comments, or tests may reflect older assumptions from the superseded flattening approach that was explored in PR #258. In particular, profile attribute access must be documented and tested consistently so workflow authors do not infer unsupported paths from outdated examples.
Without this cleanup, users may:
Proposed Solution
Perform a focused post-#259 consistency pass covering documentation, examples, troubleshooting, and tests.
Scope:
Documentation consistency review
Request.Context.Providers.<ProviderAlias>.<AuthSessionKey>...Request.Context.Views...Request.Context.Current...Correct profile attribute consumption examples
Troubleshooting improvements
ConvertTo-Json,Test coverage review
Example workflow review
Alternatives Considered
Reopen or continue PR Remove attribute flattening to align with scoped ContextResolver model (breaking change) #258
Continue tracking this under bug ContextResolver Identity.Read values not working in EnsureOutOfOffice template substitution #254
Do nothing
Impact
Does this affect existing workflows?
Any backward compatibility concerns?
Additional Context
Step-0 guidance / acceptance focus:
📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.