Repository navigation
Keep documentation tooling tests focused on supported behavior - #240
Open
Marius Storhaug (MariusStorhaug) wants to merge 6 commits into
Open
Marius Storhaug (MariusStorhaug) wants to merge 6 commits into
Marius Storhaug (MariusStorhaug) wants to merge 6 commits into
Conversation
This was referenced Nov 4, 2026
This was referenced Nov 4, 2026
Open
Open
There was a problem hiding this comment.
🟡 Changes recommended
Markdown delimiter parsing mishandles adjacent formatting, nested emphasis, and backticks, causing the link checker to generate incorrect anchors and reject valid links.
4 open issues
What changed in this PR
This PR shifts documentation-tooling tests toward supported command behavior while retaining package-quality checks. It also updates heading normalization to preserve literal underscores in GitHub anchors.
Changes:
- Replace internal slug-function extraction with command-level anchor tests, including underscore and inline-code cases.
- Remove fixed skill-inventory assertions and the pin updater’s exact REST-call count.
- Refine underscore-emphasis handling in the cross-repository link checker.
| File | Description |
|---|---|
tests/Update-GitHubActionPin.Tests.ps1 |
Removes the exact REST-call-count assertion. |
tests/Test-CrossRepositoryLink.Tests.ps1 |
Moves slug coverage to checker commands and adds anchor regressions. |
tests/PluginMarketplace.Tests.ps1 |
Removes fixed skill inventories and clarifies metadata-check scope. |
.github/scripts/Test-CrossRepositoryLink.ps1 |
Preserves literal underscores while handling emphasis and code spans. |
Review effort: Balanced
13 tasks done
This was referenced Nov 4, 2026
This was referenced Nov 4, 2026
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
November 4, 2026 13:24
3 tasks
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.

Documentation tooling tests exercise real commands and retain package-quality gates without fixed skill inventories or transport call counts. The link-checker tests no longer extract an internal function from source.
The command-level tests found a real underscore-anchor defect. The user approved the narrow heading-helper fix, so valid GitHub anchors keep their literal underscores. No consumer action is required.
Fixed: GitHub heading links keep literal underscores
The cross-repository link checker accepts the correct
#snake_case-and-kebab-caseanchor and rejects the form that removes the underscore. It preserves literal underscores, code spans, and valid adjacent or nested formatting. GitHub-literal{#custom}text also remains part of the heading instead of becoming a site-specific attribute. Existing links and command inputs need no change.Technical details
Review-ready: implementation, source-bound audit, local validation, and exact-head CI are complete. All 5 findings from the first two full reviews have fixes, regression cases, replies, and resolved threads. The final exact-head review is APPROVED and states that there are no active/open issues. No merge was performed; GitHub auto-merge and app Agent merge remain off.
Source and scope
33ccfaae6d905150f104dd763e34bf36cb2de1f91b0d4893c8fefabe604d04393068a8ff6f848082ee3c17855cb282cdf236fc764df3f45502f4c057fd153feef3ddac71c587eb2c547623a01379379fBoth complete recursive tree responses report
truncated=falseand the same six suite files. #237 merged intomainduring the audit and added two fixed catalog assertions. This branch was refreshed from that merged default-branch commit, not an open PR branch. Its writing, skill, navigation, and manifest changes are baseline context, not this PR's delta.The scoped diff changes exactly four files:
.github/scripts/Test-CrossRepositoryLink.ps1,tests/PluginMarketplace.Tests.ps1,tests/Test-CrossRepositoryLink.Tests.ps1, andtests/Update-GitHubActionPin.Tests.ps1. The user approved only the demonstrated heading-helper defect as a runtime exception. No policy, workflow, pin, security setting, or unrelated production code changed. The draft opened immediately after the first focused commit; the authorized fix, catalog cleanup, and review corrections have separate focused commits.The helper reuses the Markdig.Signed assembly already bundled with PowerShell. It selects CommonMark plus GitHub's autolink and strikethrough inline extensions, not PowerShell's advanced/site-specific extensions. It does not enable generic attributes or use renderer-generated anchor IDs. The existing GitHub slug algorithm stays unchanged. No parser package, module, runtime, or framework was installed or added.
Compatibility evidence is source-bound: PowerShell v7.0.0 ships Markdig.Signed 0.18.1, and the selected public APIs exist at renderer source
dd6418d108c6cb66f2196ad04fad5d59a231e72e. The script's PowerShell 7.0 minimum is unchanged. Current Windows and Linux execution is verified below; no separate PowerShell 7.0 execution is claimed.Evidence inventory
-Checkmode. All pass. This does not enforce checked-in index drift.The repository owns no plugin installer or separate production manifest validator. The retained package cases are format-quality safeguards, not proof of client behavior. The required canonical selector follows the Agent Plugins manifest contract; a parsed file plus a fixed string is not presented as behavioral coverage. The package profile, marketplace contract, and Agent Skills specification support these limited checks. The Task holds the complete group-by-group inventory and source evidence.
Validation and full-review disposition
pwsh -NoLogo -NoProfile -File .\.github\scripts\Invoke-PesterSuite.ps13461c4350868329c8530904d170358bca1d31448verifies all 31 positive anchor expectations. Existing Node v26.12.1; no package installation or added dependency.mode=gfmconfirms the new headings' visible text, including the review examples and literal generic attributes. This response is not claimed as the automatic-slug oracle. Production renderer output is not used to compute expected anchors.git diff --checkpasses. All documentation links resolve across 130 files.ee3c17855cb282cdf236fc764df3f45502f4c057: Lint, Build, Links, and Test succeed. The CI runner reports 83 passed, 0 failed, 0 skipped. Publish is intentionally skipped.All 64 original tests passed, but the complete command rejected the valid underscore anchor. Test-first evidence remains in the Task and #241. Correct expected values were retained. An attempted name filter selected 0 cases and is excluded from evidence; counted runner results supply the actual red and green runs.
9e19827aac3ca91ec3d44680c289324d6e196790617914a03a6318e3997800527903480befa5d828ee3c17855cb282cdf236fc764df3f45502f4c057No active review issuesandNo open issues, and confirms the remaining issue is resolved. No new inline comments; all 5 threads are resolved, with complete thread pagination verified.The clean result is based on the full summary, exact source identity, and resolved threads, not only the runner exit or new-comment count. The native closing references were verified for the Task and its convergent user-approved Bug.
Simulated release responses make mutable latest-release data and invalid/unavailable responses deterministic without live quota use. The loopback service permits safe missing-target, quota-exhaustion, and HTTP-failure cases. These checks prove caller behavior, not live authentication or every vendor failure mode. The existing public read-only CI cross-link job is separate live evidence: Ubuntu 24.04, repository-scoped workflow token, public repository reads, no remote writes or resources to clean up. No live pin-updater API check or plugin-client installation/activation test was run. Metadata checks are not complete schema validation or trigger-reliability evidence. Scratch experiment files were removed after verification; durable evidence stays in GitHub.
Standards and convergence
tests/PluginMarketplace.Tests.ps1tests/Update-GitHubActionPin.Tests.ps1tests/Test-CrossRepositoryLink.Tests.ps1.github/scripts/Test-CrossRepositoryLink.ps1heading helperThe alignment pass re-read the process, testing, PowerShell, and applicable format guidance.
.github/CONTRIBUTING.mdand the generator's optional-Checkguidance already describe the retained commands correctly. Only help tied to the changed heading helper needed an update. No policy prose or repository notes were added. The route builds and deploys Pages; no Release Management block or labels apply.The scoped open-issue sweep covers tests, tooling, plugins, and anchors. It finds the closing Task and the fully delivered user-approved underscore defect, with no other convergent issue. The unrelated policy PBI #105 and published-URL, AGENTS-routing, navigation, and writing-campaign work remain outside this diff. All implementation, validation, and review plan steps are complete. No scoped blocker remains.
Campaign qualification supplied by the coordinator, not this PR's own audit: complete recursive trees (
truncated=false) for MSXOrg/.githubmainat0c67251812ea306543f3a14ab473ae357cfb76acand PSModule/.githubmainat4e0092de8f208b11e0d4607ced93471607aa748econtain no test code, runners, scripts, dependency manifests, hooks, or validation workflows. No empty PR is warranted for those snapshots. Open branches, including PSModule/.github#89, were not imported. PSModule/Process-PSModule has a separate scoped audit; this PR covers only MSXOrg/docs.Related references