Skip to content

⚙️ [Maintenance]: Agent guidance links point to documentation that exists - #51

Draft
Marius Storhaug (MariusStorhaug) wants to merge 1 commit into
mainfrom
fix-agents-router-links
Draft

⚙️ [Maintenance]: Agent guidance links point to documentation that exists#51
Marius Storhaug (MariusStorhaug) wants to merge 1 commit into
mainfrom
fix-agents-router-links

Conversation

@MariusStorhaug

Copy link
Copy Markdown
Member

Agents starting work in a module repository reach documentation that exists. AGENTS.md routes to the PSModule framework guidance published at psmodule.io/Process-PSModule and to the MSX organization standards at msx.no/docs, and every public destination resolves. Because the router is the first file an agent reads and the only place the repository names its standards, a module repository generated from this template now carries guidance an agent can actually follow.

Fixed: Router destinations resolve

Seven of the nine links returned 404. The five PSModule entries pointed into a psmodule.github.io/docs/ site that does not exist, and the MSX entries used an alias whose Agentic Development page had moved. The router now names the published pages that serve each topic:

Destination Page
Creating a module from this template psmodule.io/Process-PSModule/get-started/
Expected repository layout and required files psmodule.io/Process-PSModule/reference/repository-standard/
Source layout and framework conventions psmodule.io/Process-PSModule/guides/structuring-your-module/
The CI/CD pipeline psmodule.io/Process-PSModule/reference/pipeline-stages/
PowerShell module coding standards psmodule.io/Process-PSModule/reference/powershell-module-standard/
Agentic Development msx.no/docs/Capabilities/agentic-development/
Ways of Working msx.no/docs/Ways-of-Working/
Coding Standards msx.no/docs/Coding-Standards/

Changed: The router discloses which destinations are private

PSModule/memory and MSXOrg/memory are private repositories, so they answer 404 to a reader without access. The router states that they are private, which distinguishes a destination that needs access from one that is broken.


Technical details
  • Rewrote the two link lists in AGENTS.md. No other file changes.
  • Link check on the result: all 8 public URLs return 200 following redirects; the 2 remaining 404s are the private memory repositories, now labelled as private in prose. The 2 relative links (README.md, CONTRIBUTING.md) resolve in the checkout.
  • Verified with markdownlint-cli2 --config .github/linters/.markdown-lint.yml AGENTS.md: 0 issues.

Two independent causes, both worth recording:

  • psmodule.github.io/docs/ is not a site. No PSModule/docs repository exists. Framework documentation lives in PSModule/Process-PSModule/docs/content/ and publishes per-repository to psmodule.io/<Repo>/. The entire path prefix, and the Modules/… paths beneath it, were invented — these links never worked.
  • msxorg.github.io/docs/ is a redirecting alias. It answers 301 to msx.no/docs/, which is the canonical domain and the form PSModule's own documentation already uses. Ways-of-Working/Agentic-Development/ additionally moved to Capabilities/agentic-development/, so that entry was dead on both counts.

Page titles were checked against each replacement so the link text names the page it reaches, rather than describing a page that no longer exists under that name.

  • Standards and framework alignment:
Changed surface Standards checked Framework docs checked Result
AGENTS.md (repository router) Markdown — links are checked; Agentic Development — the router Process-PSModule published documentation Fixed in this PR
  • Issue convergence sweep: the one other open issue in this repository, PSModule/Template-PSModule#40, concerns the pull request template's ending blocks and is untouched by this diff. No additional issue is resolved.

Nothing in CI would have caught this. Test-CrossRepositoryLink.ps1 resolves github.com targets, and published-site URLs are explicitly out of scope — the gap the Markdown standard records as MSXOrg/docs#150. Both root causes are filed centrally so the fix does not stay local to this repository.

Relevant issues (or links)

Related work

  • References MSXOrg/docs#186 — the docs site is cited by its redirecting alias rather than its canonical domain, across 13 occurrences in 7 files.
  • References MSXOrg/docs#187 — an AGENTS.md router can ship with links that resolve to nothing; this repository is the motivating case.
  • References MSXOrg/docs#150 — published-site URLs are not verified by the link checks.
  • References PSModule/Template-PSModule#50 — the client route files, found in the same audit.

Seven of the nine links in AGENTS.md returned 404. The five PSModule
links named a psmodule.github.io/docs site that does not exist; the real
pages publish to psmodule.io/Process-PSModule. The MSX links used the
msxorg.github.io alias, and its Agentic Development page moved to
Capabilities/agentic-development.

Every public link is now verified to resolve. The two memory
repositories are private, so the router says so rather than presenting
them as openable.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@MariusStorhaug Marius Storhaug (MariusStorhaug) changed the title 🩹 [Patch]: Agent guidance links point to documentation that exists ⚙️ [Maintenance]: Agent guidance links point to documentation that exists Aug 28, 2026
@psmodule-s-shelly

Copy link
Copy Markdown

No Significant Changes Detected

This PR does not contain changes to files that would trigger a new release:

Pattern Description
^src/ Matches files where path matches this pattern
^README\.md$ Matches files where path matches this pattern

Build, test, and publish stages will be skipped for this PR.

If you believe this is incorrect, please verify that your changes are in the correct locations.

Marius Storhaug (MariusStorhaug) added a commit that referenced this pull request Sep 5, 2026
New modules created from this template start with the current
Process-PSModule v8 test and documentation contract, a repository-local
contribution guide, and centrally managed PSModule community policies.
The template's scheduled framework run returns to green.

## Fixed: Current Process-PSModule compatibility

The starter test requires Pester 6.1.0 while retaining the supported 6.x
range. The starter public function links first to its generated online
reference, as required by the framework source test.

## Changed: Generated documentation design

Generated module sites now share the portable typography, icons,
palettes, navigation, search, content, plugin, and Markdown-extension
settings from MSXOrg/docs. Explicit navigation remains absent, so
Zensical derives index-first, alphabetical navigation from the generated
folder tree. Cookie consent is not part of the generated-module
template.

## Changed: Repository and organization guidance have explicit owners

The repository owns `.github/CONTRIBUTING.md`. Code of Conduct,
security, and support policies remain centrally managed by
`PSModule/.github` and are linked rather than copied. Process-PSModule
owns module releases, so the template no longer carries unused GitHub
generated-release-notes configuration.

---
<details>
<summary>Technical details</summary>

- Raises the starter test's minimum Pester version from 6.0.0 to 6.1.0.
- Adds the canonical generated documentation URL to the starter
function's comment-based help.
- Aligns `.github/zensical.toml` with `MSXOrg/docs` at
`bc6c212b1da6872424543cc6c4d249b1b1f8a845`, with MSX settings taking
precedence over Process-PSModule differences.
- Enables `navigation.indexes` while keeping manual `nav` absent.
- Keeps generated-site exceptions explicit: no source edit/view actions,
`custom_dir`, JavaScript/CSS assets, `watch`, snippets, or
`[project.extra.consent]`. Cookie consent is intentionally not part of
generated module sites.
- Restricts placeholders to repository identity and content-specific
values.
- Moves `CONTRIBUTING.md` to `.github/CONTRIBUTING.md`, updates
repository links, and aligns its workflow references with current MSX
guidance.
- Links the Code of Conduct, security policy, and support guidance from
the centrally managed `PSModule/.github` source; no local policy
overrides are included.
- Removes `.github/release.yml` because Process-PSModule owns release
generation and does not use GitHub generated release notes.
`.github/PSModule.yml` remains the repository-local workflow settings
surface.
- GitHub's branch contents API resolves `.github/CONTRIBUTING.md` and
`.github/PSModule.yml` and confirms the local policy files, root
contribution duplicate, and `.github/release.yml` are absent.
- Preserves the exact v8 caller workflow, with no `TestData` payload
required.
- Migration inventory: one module-local test file, no external fixtures,
no mocks, no data-driven cases, and no setup or teardown scripts.
- Local validation: Pester 6.1.0 passed; PSScriptAnalyzer 1.25.0
reported no findings; the pinned MSX TOML contract comparison,
codespell, relative-link checks, central-policy link checks, and
file-ownership checks passed; a staged Zensical 0.0.50 build completed
with only the pre-existing README-link warnings tracked by
PSModule/Process-PSModule#523.
- Hosted validation: the full Process-PSModule build, site, source,
module, module-local, lint, result, coverage, and CodeQL checks passed
on Linux, macOS, and Windows at `d92cdc6`.
- Final Copilot review at `d92cdc6` covered all eight changed files and
generated no new comments. Its suppressed quickstart-link note is
already owned by #42 and is not added to this
scope.
- Copilot's earlier scaffold-link concern cannot use the suggested
placeholder without failing the framework's exact-link test; the
initialization gap is recorded separately in
#56, and the review thread is resolved.
- Overlap review: #42 edits the deleted root
contributing guide and needs reconciliation.
#49 also removes `.github/release.yml`, but
its proposed CODEOWNERS and pull-request-template deletions are not
adopted. #50 and #51
remain independent, although #51 touches the same AGENTS link line.
- Issue convergence sweep: the finished diff fully satisfies
#52, #54, and
#55; no other open template issue is completed
by this scope.

| Changed surface | Standards checked | Framework docs checked | Result
|
| --- | --- | --- | --- |
| `tests/**` | MSX PowerShell testing | Process-PSModule Pester 6.1
migration | Fixed in this PR |
| `src/functions/public/**` | MSX PowerShell functions and comment-based
help | Process-PSModule source test contract | Fixed in this PR |
| `.github/zensical.toml` | MSX documentation design | Process-PSModule
Zensical design and staging contract | Fixed in this PR |
| `.github/CONTRIBUTING.md`, `README.md`, `AGENTS.md` | MSX repository
and community guidance | PSModule central policy ownership | Fixed in
this PR |
| `.github/release.yml` | MSX repository configuration |
Process-PSModule release ownership | Fixed in this PR |

</details>

<details>
<summary>Relevant issues (or links)</summary>

- Resolves #52
- Resolves #54
- Resolves #55

### Related work

- References PSModule/Process-PSModule#519
- References PSModule/Process-PSModule#438
- Followed by PSModule/Process-PSModule#523
- Followed by #56
- References MSXOrg/docs#190
- References #42
- References #49
- References #50
- References #51

</details>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant