Skip to content

docs: fill in comment-based help gaps across 11 functions - #141

Merged
mikemadeja merged 6 commits into
developfrom
docs/fix-comment-help-gaps
Oct 11, 2026
Merged

mikemadeja merged 6 commits into
developfrom
docs/fix-comment-help-gaps

Conversation

@mikemadeja

Copy link
Copy Markdown
Owner

Summary

  • Audited every exported function's `Get-Help` output (76 functions) by comparing real parameters/signatures against what the comment-based help actually documents, rather than just reading files by eye
  • Found 23 real gaps concentrated in ~11 of the oldest functions in the module, predating the comment-help convention fully settling in:
    • Missing `.DESCRIPTION`: `Get-PiHoleCurrentAuthSession`, `Get-PiHoleGroup`, `Get-PiHoleStatsQueryType`, `Get-PiHoleStatsRecentBlocked`, `Get-PiHoleStatsSummary`, `Get-PiHoleStatsTopClient`, `Get-PiHoleStatsTopDomain`, `Remove-PiHoleAuthSession`, `Remove-PiHoleCurrentAuthSession`, `Search-PiHoleListDomain` (several had crammed the description into `.SYNOPSIS` instead; `Search-PiHoleListDomain`'s synopsis was literally just a doc URL)
    • Missing `.PARAMETER` entries: `IgnoreSsl` was undocumented on 5 functions; `Remove-PiHoleAuthSession`'s `-Id` was undocumented; `Get-PiHoleGroup` had no parameter docs at all beyond its one-line synopsis
    • Stale `.EXAMPLE`: `Remove-PiHoleAuthSession`'s example called `Get-PiHoleCurrentAuthSession` instead of itself
    • Deliberately-exported-but-undocumented: `Remove-PiHoleCurrentAuthSession` lives in `Private/Misc.ps1` with zero comment-based help despite being publicly exported - gave it a full doc block matching every other public function's convention

Test plan

  • Re-ran the same audit script after fixing everything - 0 issues across all 76 exported functions
  • No behavior changes anywhere - these are comment-block-only edits
  • PSScriptAnalyzer clean on every touched file
  • Full non-integration unit suite passes (18/18)
  • Full integration suite for every touched feature area passes against a live server (97/97): GroupManagement, Metrics, ListManagement, DnsControl, Authentication

🤖 Generated with Claude Code

mikemadeja and others added 6 commits October 10, 2026 19:34
Audited every exported function's Get-Help output across the whole
module and found 23 real gaps concentrated in ~11 of the oldest
functions, predating the comment-help convention fully settling in:
missing .DESCRIPTION (several had only a .SYNOPSIS, one of which was
literally just a doc URL), missing .PARAMETER entries (IgnoreSsl was
the most common), a stale .EXAMPLE referencing the wrong function
name, and Get-PiHoleGroup having essentially no documentation at all
beyond its one-line synopsis.

No behavior changes - verified by running the full non-integration
unit suite (18/18) and the integration suites for every touched
feature area against a live server (97/97).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Several .SYNOPSIS edits in the previous commit (e.g. Get-PiHoleGroup,
Remove-PiHoleAuthSession, the Stats functions) feed directly into
README's generated command-reference table, which wasn't regenerated
alongside them - caught by the sync-readme CI check failing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This PR's change to PiHoleShell/Private/Misc.ps1 triggers the
pipeline's own shared/core-file fallback to the full test suite,
which takes ~50-60 minutes against the real (slow) Pi Zero W test
server - right at, and in this run past, Azure DevOps' default 60
minute job timeout. Raised with headroom rather than tuned precisely,
since runtime varies with the test server's own accumulated state
across runs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The previous commit's timeoutInMinutes was rejected outright by Azure
DevOps' YAML validation ("Unexpected value 'timeoutInMinutes'" at
line 21) - it isn't valid as a bare pipeline-level key, only nested
under an explicit job. Restructured the pipeline under jobs: so the
120-minute timeout actually takes effect.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The previous CI run for this PR got stuck after a manually-queued
build was accidentally routed to the Microsoft-hosted pool instead
of the self-hosted mmadeja-dt pool - this empty commit re-triggers
a normal PR-sync build through the correct path.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The full suite run (build 403) failed 2 of 276 tests - both
reproduced as clean passes when re-run in isolation moments later
(Update-PiHoleList and Import-PiHoleTeleporter's integration tests),
consistent with this project's well-documented pattern of transient
connection hiccups on the real (weak, single-core) Pi Zero W test
server under ~60 minutes of sustained load. Not a regression from
this PR's changes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@mikemadeja
mikemadeja merged commit ef7c8ba into develop Oct 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant