@@ -26,6 +26,25 @@ consumer repositories while developing or validating this skill.
2626Use the repository's applicable MSX workflow and PR format guidance. Do not
2727silently broaden the scope when the consumer has unrelated failures.
2828
29+ ## Consumer layout variance
30+
31+ Do not assume that a consumer already resembles Process-PSModule. Inventory
32+ what is present before deciding what to migrate:
33+
34+ - Many consumers have a legacy ` .github/mkdocs.yml ` and no ` docs/ ` directory.
35+ - Some consumers already have ` docs/zensical.toml ` , custom overrides, and
36+ assets that must be preserved.
37+ - A consumer may already declare Pester 6; do not repeat a dependency migration
38+ that is already complete.
39+ - Existing repository-owned workflows, scripts, and settings are not caller
40+ workflow extensions. Keep them in separate files and validate them in place.
41+
42+ When documentation is absent, do not invent a site as part of the caller
43+ upgrade unless the requested scope explicitly includes documentation migration.
44+ When a legacy MkDocs configuration exists and documentation migration is in
45+ scope, migrate its content and design deliberately to Zensical, then remove
46+ the obsolete configuration only after the generated site validates.
47+
2948## Caller workflow contract
3049
3150Replace ` .github/workflows/Process-PSModule.yml ` with exactly this template:
@@ -92,6 +111,24 @@ the existing names and semantics. Omit `TestData` entirely when the repository
92111does not use it. Never move secrets into source files, workflow `env`, or
93112committed settings.
94113
114+ For example, preserve a secrets-only caller payload such as PSModule/GitHub's :
115+
116+ ` ` ` yaml
117+ TestData: >-
118+ {"secrets":{"TEST_USER_USER_FG_PAT":"${{ secrets.TEST_USER_USER_FG_PAT }}","TEST_USER_ORG_FG_PAT":"${{ secrets.TEST_USER_ORG_FG_PAT }}","TEST_USER_PAT":"${{ secrets.TEST_USER_PAT }}","TEST_APP_ORG_CLIENT_ID":"${{ secrets.TEST_APP_ORG_CLIENT_ID }}","TEST_APP_ORG_PRIVATE_KEY":"${{ secrets.TEST_APP_ORG_PRIVATE_KEY }}","TEST_APP_ENT_CLIENT_ID":"${{ secrets.TEST_APP_ENT_CLIENT_ID }}","TEST_APP_ENT_PRIVATE_KEY":"${{ secrets.TEST_APP_ENT_PRIVATE_KEY }}"}}
119+ ` ` `
120+
121+ Preserve a mixed secrets-and-variables payload such as PSModule/Confluence's :
122+
123+ ` ` ` yaml
124+ TestData: >-
125+ {"secrets":{"CONFLUENCE_API_TOKEN":"${{ secrets.CONFLUENCE_API_TOKEN }}"},"variables":{"CONFLUENCE_SITE":"${{ vars.CONFLUENCE_SITE }}","CONFLUENCE_USERNAME":"${{ vars.CONFLUENCE_USERNAME }}","CONFLUENCE_SPACE_KEY":"${{ vars.CONFLUENCE_SPACE_KEY }}"}}
126+ ` ` `
127+
128+ These examples are contracts, not values to copy into an unrelated consumer.
129+ Read the original workflow and preserve only the maps and keys it actually
130+ uses.
131+
95132# # Documentation integration
96133
97134Treat `docs/zensical.toml` as authoritative. Do not create or maintain
@@ -117,7 +154,9 @@ the existing consumer source of truth, then validate the generated site.
117154The framework upgrade does not permit leaving tests on an undeclared or
118155unsupported Pester version. Inspect module requirements, dependency manifests,
119156local setup, CI installation, and every test entry point. Declare and run the
120- repository's supported Pester 6 dependency.
157+ repository's supported Pester 6 dependency. If Pester 6 is already declared,
158+ retain the declaration and focus on configuration, discovery, assertions,
159+ setup/teardown, and output compatibility.
121160
122161Rewrite tests using native Pester v6 terminology and APIs :
123162
0 commit comments