Browse Source

chore(memory-bank): record the merges of #94 to #96 and the Gallery history

- #94, #95, and #96 merged; the first master run passed and published
  the wiki; AppVeyor no longer reports.
- Decision 9 records that the version history stays separate from the
  changelog, and why.
- techContext: Gallery versions and dates, the package comparison recipe,
  and MD024 siblings_only for CHANGELOG.md.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: AI Assistant <ai@example.com>
pull/97/head
Raimund Andree 1 week ago
parent
commit
a735ed1746
  1. 39
      .memory-bank/activeContext.md
  2. 6
      .memory-bank/decisions/0009-docs-on-github.md
  3. 83
      .memory-bank/progress.md
  4. 44
      .memory-bank/techContext.md

39
.memory-bank/activeContext.md

@ -9,31 +9,30 @@ source: current task evidence
## Current focus
PRs #94 (docs on GitHub) and #95 (manifest and version 5.0.0, stacked on
PR #94) are open and build on AppVeyor. The move to GitHub Actions (CI and
a wiki generated from `Docs`, Decision 11) is PR-ready on the local branch
`ai/github-actions`, stacked on #95; the maintainer pushes it and opens the
PR. Merge order: #94, #95 (merge commits), then the GitHub Actions PR.
PRs #94, #95, and #96 are merged; CI and the wiki run on GitHub Actions.
The version history completed from the PowerShell Gallery packages is
PR-ready on the local branch `ai/version-history`; the maintainer pushes it
and opens the PR. Work package 5 (code defects) waits for the maintainer's
go-ahead.
## Evidence
- `Wiki.Tests.ps1` failed 25 of 25 before the exporter existed and passes
25 of 25 in Windows PowerShell 5.1 and PowerShell 7.6.1. A negative
control (broken anchor, missing page, missing file) reports all three.
- A dry run against a clone of the live wiki adds 41 pages, changes Home
and How-to-install, and deletes the stale `Cmdlets.md` and
`Version-History.textile`; nothing was pushed.
- `Invoke-Tests.ps1`, as CI calls it, passed locally against a Release
build: Windows PowerShell 5.1 253 of 253; PowerShell 7 217 passed and 36
skipped (`Get-Help -Online` runs only in Windows PowerShell).
- actionlint 1.7.12 reports nothing for `.github/workflows/ci.yml`. The
runner image `windows-2025` has Visual Studio 2022 MSBuild 17.14, NuGet,
the GitHub CLI, and PowerShell 7.6; `master` has no branch protection.
- Six Gallery packages compared (4.0.0, 4.2.2 to 4.2.6), each imported in
its own Windows PowerShell process: exported cmdlets 30, 35, 36, 36, 36,
36. `Show-SimpleAccess` was exported only by 4.0.0 (the manifest of 4.2.2
to 4.2.4 lists it as `Show-NTFSSimpleAccess`) and deleted in 4.2.5. All
versions export the aliases `dir2`, `gi2`, `rm2`, and `del2` only.
- 4.2.4 already carried the MIT license (`LicenseUri`), the setting
`IdentifyHardLinks`, and AlphaFS 2.2.1; 4.2.5 fixed the `-Account`
aliases (#18, #36) and #48 but broke the `Applies to` column, which 4.2.6
fixed (#57). 4.2.5 and 4.2.6 still ship AlphaFS 2.2.1: `d8f67af` updated
only `packages.config`, not the `HintPath`.
- `Wiki.Tests.ps1` passes with the changed page; markdownlint (with `MD024`
siblings only for `CHANGELOG.md`) and the link check found nothing.
- The local branch `ai/read-the-docs` keeps the dropped strict-build work
(`886c874`, `325ec76`); delete it once it is no longer wanted.
## Next step
After the maintainer pushes: read the AppVeyor results of #94 and #95 and
the first GitHub Actions run with `gh run view`. Work package 5 (code
defects) starts only after the maintainer's go-ahead.
After the maintainer opens the PR: read its GitHub Actions run with
`gh pr checks`. Then wait for the go-ahead for work package 5.

6
.memory-bank/decisions/0009-docs-on-github.md

@ -23,4 +23,8 @@ source: maintainer decision in work package 3
that GitHub shows it when you open the `Docs` folder.
- Rejected: taking over or re-importing the Read the Docs project with a
strict MkDocs build (prepared on the local branch `ai/read-the-docs`, not
merged).
merged). Also rejected (maintainer, 2026-10-04): merging
`Docs/Version-History.md` into `CHANGELOG.md`. Only 5 of the 22 old
versions have a recoverable release date (PowerShell Gallery) and only 3
have tags, so they can't follow the changelog format; the page instead
carries the Gallery dates and notes completed from the Gallery packages.

83
.memory-bank/progress.md

@ -9,13 +9,12 @@ source: repository evidence
## Current status
PRs #91, #92, and #93 are merged. The documentation matches the cmdlets at
`master`, and the module ships the help file generated from it
(`en-US\NTFSSecurity.dll-Help.xml`). Otherwise the module source differs
from the 4.2.6 release only by the `Remove-Item2 -PassThru` rename and
`CompatiblePSEditions`. Open PRs: #94 (work package 3) and #95 (work package
4, stacked on #94); the move to GitHub Actions is PR-ready locally on
`ai/github-actions`, stacked on #95.
PRs #91 to #96 are merged; `master` (`4f9f7cc`) carries version 5.0.0,
which is not released yet. CI runs on GitHub Actions: build, docs checks,
and tests in Windows PowerShell 5.1 and PowerShell 7, plus the wiki, which
is generated from `Docs` (43 pages). AppVeyor no longer reports on `master`.
PR-ready locally: `ai/version-history`, the version history completed from
the PowerShell Gallery packages.
## Recent milestones
@ -36,24 +35,17 @@ from the 4.2.6 release only by the `Remove-Item2 -PassThru` rename and
upload had listed 870), six cmdlet-page links reworded for the help
text. AppVeyor passed 218 of 218 on the PR (54834295) and on `master`
(54834350).
- 2026-10-04: The maintainer dropped Read the Docs: the docs stay on GitHub
and the wiki is retired (Decision 9). Work package 3 committed locally on
`ai/docs-on-github` (`84328dc`). The strict Read the Docs build prepared
before stays unmerged on the local branch `ai/read-the-docs`.
- 2026-10-04: Work package 4 committed locally on `ai/manifest-version`
(`678ff90`), stacked on `ai/docs-on-github`: valid manifest (requires
PowerShell 5.1), 36 cmdlets, version 5.0.0 everywhere (Decision 10),
`-PassThur` alias. The AppVeyor test script, run locally in Windows
PowerShell 5.1, passed: no docs drift, 0 broken links, current help file,
228 of 228 Pester tests. `Test-ModuleManifest` passes in Windows
PowerShell 5.1 and PowerShell 7.6.1.
- 2026-10-04: The maintainer opened #94 and #95, then chose to keep the wiki,
generated from `Docs`, and to move CI from AppVeyor to GitHub Actions in
one PR (Decision 11): committed locally on `ai/github-actions`, stacked on
#95. `Wiki.Tests.ps1` failed 25 of 25 before the exporter existed and
passes in both editions; `Invoke-Tests.ps1` passed locally in Windows
PowerShell 5.1 (253 of 253) and PowerShell 7 (217 passed, 36 skipped);
actionlint found nothing.
- 2026-10-04: Work packages 3 (#94, `bde59a5`), 4 (#95, `6665825`), and the
move to GitHub Actions (#96, `4f9f7cc`) merged with merge commits: Read
the Docs dropped (Decision 9), version 5.0.0 with a valid manifest
(Decision 10), CI and a wiki generated from `Docs` on GitHub Actions
(Decision 11). The first `master` run (37218869672) passed and published
the wiki (`62ec94a`, 43 pages).
- 2026-10-04: The maintainer kept the version history separate from
`CHANGELOG.md` and had it completed from the six PowerShell Gallery
packages and the commit history: release dates, notes for 4.2.2, detailed
notes for 4.2.4, and separate notes for 4.2.5 and 4.2.6
(`ai/version-history`).
## Stable capabilities
@ -72,33 +64,20 @@ next package starts only after the maintainer's go-ahead.
1. Housekeeping: done (#92).
2. Ship help: done (#93).
3. Docs on GitHub (was: Read the Docs), PR #94: Read the Docs and MkDocs
configuration removed, `Docs/index.md` renamed to `Docs/README.md`, the
wiki's version history and install steps moved into `Docs` (with
reconstructed notes for 4.2.5 and 4.2.6), contributor guide updated. Keep
the wiki on: the GitHub Actions PR generates it from `Docs`, which also
keeps the release-note links to `wiki/Version-History` working.
`Sup3rlativ3` may be asked to delete the Read the Docs project.
4. Manifest and version, PR #95, stacked on #94 (merge #94 first with a
merge commit).
Maintainer decisions: `PowerShellVersion` 5.1, `DotNetFrameworkVersion`
4.5.2, `RootModule`; version 5.0.0; `[Alias('PassThur')]` on
`Remove-Item2 -PassThru`, listed under Deprecated; `NTFSSecurity`,
`Security2`, and `PrivilegeControl` carry the module version (Decision
10). Before the release, not part of the PR: set the date of the 5.0.0
section to the release date, tag `5.0.0` (no `v` prefix), build in
Release, and clean `C:\Program Files\WindowsPowerShell\Modules\NTFSSecurity`
before `Publish-Module`; releases so far were Debug builds published with
the whole output folder (`.pdb`, `.xml`,
`System.Management.Automation.dll`), and the removed
`NTFSSecurity-Help.xml` would ship again.
4b. GitHub Actions for CI and the wiki (Decision 11), PR-ready on
`ai/github-actions`, stacked on #95 (merge #94 and #95 first with merge
commits). AppVeyor reports a failure on this PR because it removes
`appveyor.yml`; that's expected. After the merge: delete the AppVeyor
project `raandree/ntfssecurity` and revoke AppVeyor's GitHub access,
check the first wiki publication, and consider **Restrict editing to
collaborators only** for the wiki.
3. Docs on GitHub: done (#94).
4. Manifest and version 5.0.0: done (#95). Before the release: set the date
of the 5.0.0 section to the release date (fold the `[Unreleased]` entries
into it), tag `5.0.0` (no `v` prefix), build in Release, and clean
`C:\Program Files\WindowsPowerShell\Modules\NTFSSecurity` before
`Publish-Module`; releases so far were Debug builds published with the
whole output folder (`.pdb`, `.xml`, `System.Management.Automation.dll`),
and the removed `NTFSSecurity-Help.xml` would ship again.
4b. CI and the wiki on GitHub Actions: done (#96). Left to the maintainer:
revoke AppVeyor's GitHub access if it is still granted, consider
**Restrict editing to collaborators only** for the wiki, and optionally
ask `Sup3rlativ3` to delete the Read the Docs project.
4c. Version history from the PowerShell Gallery: PR-ready on
`ai/version-history`.
5. Code defects, listed below: `review: on`, one PR per group, regression
test first. Pester 5 tests import `NTFSSecurity\bin\Release`, run in a
`$env:TEMP` sandbox and in the CI workflow (pattern:

44
.memory-bank/techContext.md

@ -65,16 +65,19 @@ source: repository evidence
## Constraints
- `ModuleVersion` is `5.0.0` on `ai/manifest-version` (work package 4,
unreleased; `master` still says `4.2.5`); the latest tag and Gallery
release is `4.2.6`. The manifest requires PowerShell 5.1 and .NET
- `ModuleVersion` on `master` is `5.0.0` (not released); the latest tag and
Gallery release is `4.2.6`. The manifest requires PowerShell 5.1 and .NET
Framework 4.5.2, uses `RootModule`, and lists exactly 36 cmdlets;
`Test-ModuleManifest` passes in Windows PowerShell 5.1 and PowerShell 7.6.
- Besides the shipped help file and its tests (#93), the module source at
`master` differs from tag `4.2.6` only by the `Remove-Item2 -PassThur`
to `-PassThru` rename and `CompatiblePSEditions` in the manifest; work
package 4 adds the manifest and version changes and the `-PassThur`
alias.
`master` differs from tag `4.2.6` by the `Remove-Item2 -PassThur` to
`-PassThru` rename (with a `-PassThur` alias), the manifest changes of
#95, and the assembly versions.
- PowerShell Gallery versions (publish dates): 4.0.0 (2015-08-19), 4.2.2
(2016-05-18), 4.2.3 (2016-05-19), 4.2.4 (2018-08-13), 4.2.5 (2019-07-11),
4.2.6 (2019-07-12); none has release notes. Older versions were released
on CodePlex only, and their dates are lost. The git history starts on
2016-10-10, when the project moved from CodePlex.
- Releases have no script and no CI deployment. Evidence from 4.2.6: the
Gallery DLLs are Debug builds (`DebuggableAttribute` 263), the nuspec
comes from `Publish-Module`, the package holds the whole output folder
@ -82,12 +85,11 @@ source: repository evidence
published manifest differs from the tag only by `ModuleVersion` (tags
carry the previous version). GitHub releases attach `NTFSSecurity.zip`.
- CI: GitHub Actions on pull requests and pushes to `master` (Decision 11).
The AppVeyor project `raandree/ntfssecurity` builds until the maintainer
deletes it after the GitHub Actions PR is merged. The Read the Docs
project `ntfssecurity` (maintainer `Sup3rlativ3`) and a second AppVeyor
project are attached to the fork `Sup3rlativ3/NTFSSecurity`, which no
longer exists (GitHub 404, 2026-10-04). That site still serves pages from
2020 and isn't used (Decision 9).
AppVeyor no longer reports on `master` (checked on `4f9f7cc`). The Read
the Docs project `ntfssecurity` (maintainer `Sup3rlativ3`) and a second
AppVeyor project are attached to the fork `Sup3rlativ3/NTFSSecurity`,
which no longer exists (GitHub 404, 2026-10-04). That site still serves
pages from 2020 and isn't used (Decision 9).
- `Get-FileHash2` fails in PowerShell 7; all other cmdlets passed a smoke
test in PowerShell 7.6.
- `CHANGELOG.md` lists user-visible changes only; CI and build-only changes
@ -119,10 +121,8 @@ source: repository evidence
publishes from `master` only. Actions are pinned by commit SHA:
`actions/checkout` v7.0.1, `actions/upload-artifact` v7.0.1.
- Read CI runs with `gh run list --repo raandree/NTFSSecurity --workflow
ci.yml` and `gh run view <id> --log-failed` (read-only). While AppVeyor
still builds: `api/projects/raandree/ntfssecurity/history`, build
`api/projects/raandree/ntfssecurity/builds/<buildId>`, job log
`api/buildjobs/<jobId>/log` (public, no token).
ci.yml`, `gh pr checks <number>`, and `gh run view <id> --log-failed`
(read-only).
- Workflow lint: actionlint (download the release zip into `$env:TEMP` and
check its SHA-256 against the checksum file); PowerShell steps check
`$LASTEXITCODE` after every native command, because GitHub checks only
@ -137,7 +137,15 @@ source: repository evidence
`powershell.exe -NoProfile -EncodedCommand` with Pester imported by full
path. A run without `bin\Release\en-US` must fail.
- Markdown lint: `npx markdownlint-cli2` with `MD013` limited to prose
(tables, code, and headings excluded) on the conceptual pages.
(tables, code, and headings excluded) on the conceptual pages; for
`CHANGELOG.md` also `MD024` with `siblings_only: true`, because every
version repeats the category headings.
- Gallery packages: download
`https://www.powershellgallery.com/api/v2/package/NTFSSecurity/<version>`
into `$env:TEMP` and extract it; dates come from the OData endpoint
`api/v2/FindPackagesById()?id='NTFSSecurity'`. Import each version in its
own process: every version's `NTFSSecurity.dll` has assembly version
4.2.1.0, so a second version in the same process reuses the first DLL.
- YAML: `ConvertFrom-Yaml` (powershell-yaml) on `.github/workflows/ci.yml`.
- Links: the CI step 02 (MarkdownLinkCheck 0.2.0) checks only relative
links in `Docs`; it strips anchors and skips absolute URLs.

Loading…
Cancel
Save