⚙️ [Maintenance]: Process-PSModule caller fleets can be audited consistently - #515
Closed
Marius Storhaug (MariusStorhaug) wants to merge 29 commits into
Closed
⚙️ [Maintenance]: Process-PSModule caller fleets can be audited consistently#515Marius Storhaug (MariusStorhaug) wants to merge 29 commits into
Marius Storhaug (MariusStorhaug) wants to merge 29 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
August 15, 2026 12:06
Marius Storhaug (MariusStorhaug)
requested a review
from a team
as a code owner
August 15, 2026 12:06
10 tasks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Marius Storhaug (MariusStorhaug)
marked this pull request as draft
August 15, 2026 12:14
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
15 tasks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
## Summary Defines the Process-PSModule workflow lifecycle specification and architecture. The change documents behavior and implementation boundaries; it does not change functional workflow code. ## Scope - Adds behavior-driven requirements for dispatch recovery, scheduled published-artifact validation, pull-request routing, stable aggregation, concurrency recovery, Gallery disposition, and auditable outcomes. - Defines Plan as the sole lifecycle-policy authority, immutable Settings, and one release executor for stable, prerelease, recovery/resume, cleanup-only, and no-op actions. - Defines the caller boundary: explicit credentials, structured optional `TestData`, narrow built-in-token use, step-scoped App tokens, restricted fork validation, and capability-gated downstream jobs. - Adds both lifecycle pages to the Reference navigation. ## Validation - `npx --yes markdownlint-cli2 --config .github/linters/.markdown-lint.yml docs/content/reference/process-workflow-lifecycle-specification.md docs/content/reference/process-workflow-lifecycle-design.md` - `zensical build --clean` from `docs` --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
August 15, 2026 14:33
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
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.
Process-PSModule maintainers can now inventory caller workflows consistently from GitHub or local checkouts, compare the fleet with a target workflow reference, and use one documented caller and lifecycle contract when planning upgrades.
New: Refreshable caller fleet inventory
The inventory command discovers Process-PSModule callers from authenticated GitHub data or checked-out repositories and reports workflow identity, triggers, concurrency, permissions, conditions, references, inputs, secrets, and additional jobs. It produces JSON for automation and linked Markdown for review.
Discovery fails closed when results are incomplete, no matching callers exist, or any matching workflow cannot be parsed. Diagnostic reports still include malformed workflows, and target-reference compliance counts them in the denominator so an incomplete fleet cannot appear fully compliant.
New: Documented caller and lifecycle contracts
The caller contract records the common Process-PSModule job boundary, required controls, explicit credential mappings, restricted fork validation, optional
TestData, and rollout prerequisites. The lifecycle specification and design define Plan authority, validation, release reconciliation, recovery, cleanup, concurrency, token boundaries, and immutable prerelease handling without changing runtime workflow code.The calling guide also clarifies that a reusable-workflow call job cannot declare a GitHub Environment.
Technical details
.github/scripts/Get-ProcessPSModuleWorkflowInventory.ps1with authenticated GitHub and local Git parameter sets, default-branch reads, worktree deduplication, complete pagination checks, normalized YAML shapes, case-sensitive target matching, and JSON/Markdown output..github/scripts/**docs/content/reference/process-workflow-fleet-*docs/content/reference/process-workflow-lifecycle-*docs/content/guides/calling-the-workflow.mddocs/zensical.tomlRelevant issues (or links)
Related work