From 04ef9724305449925b590b9db27c1d0ae2c46f23 Mon Sep 17 00:00:00 2001 From: Raimund Andree Date: Sun, 4 Oct 2026 12:55:26 +0200 Subject: [PATCH] chore(memory-bank): record the merge of #92 and #93 Work packages 1 and 2 are merged and master is green on AppVeyor (218 of 218 Pester tests). Mark them done, condense the older milestones, and spell out work packages 3 and 4 so a new chat can continue from the Memory Bank alone, including cleaning the installed module folder before the next release. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: AI Assistant --- .memory-bank/activeContext.md | 40 +++++------- .memory-bank/progress.md | 120 ++++++++++++++++++---------------- .memory-bank/techContext.md | 5 +- 3 files changed, 84 insertions(+), 81 deletions(-) diff --git a/.memory-bank/activeContext.md b/.memory-bank/activeContext.md index 1252429..6ac2f8d 100644 --- a/.memory-bank/activeContext.md +++ b/.memory-bank/activeContext.md @@ -9,32 +9,26 @@ source: current task evidence ## Current focus -Work packages 1 and 2 are pushed and green; the maintainer opens their -PRs: `ai/housekeeping` into `master`, and `ai/ship-help` into -`ai/housekeeping`. The agent can't open them (see `techContext.md`, -Constraints). The work packages and their order are in `progress.md`. +Work packages 1 (#92) and 2 (#93) are merged. Next is work package 3 (Read +the Docs), after the maintainer's go-ahead, on the local branch +`ai/read-the-docs`, which so far carries Memory Bank notes only. The +remaining packages and their details are in `progress.md`. ## Evidence -- AppVeyor 54834155 (`ai/housekeeping`, `74abb0b`) passed. AppVeyor - 54834154 (`ai/ship-help`, `fba3a7d`) passed all four `test_script` - steps; Pester passed 218 of 218 tests in Windows PowerShell 5.1, - including the `Get-Help -Online` tests. -- The same build listed 870 tests on the Tests tab: the NUnit import files - each Pester 5 test under every enclosing block (Pester, file, Describe, - Context), so 216 tests appear four times and 2 three times. The - follow-up commit `c9fbaf5` reports the results through the build worker - API instead (`POST api/tests/batch`); AppVeyor 54834216 of `c9fbaf5` - passed and lists 218 tests, one entry each. -- The AppVeyor job log API returns `application/octet-stream`; decode the - bytes as UTF-8 before searching it. -- Merging work package 1 with a merge commit keeps `ai/ship-help` valid; - after a squash merge it needs - `git rebase --onto origin/master ai/housekeeping ai/ship-help`. -- PR descriptions for both work packages are in the session folder - (`files/pr`), outside the repository. +- #92 was merged with a merge commit (`d917832`) and #93 squash-merged + (`14799fb`); the tree of `master` equals the tested `c9fbaf5`. +- AppVeyor: the PR build of #93 (54834295) and the `master` build of + `14799fb` (54834350) each passed 218 of 218 Pester tests, listed once + each on the Tests tab; the `master` build of `d917832` passed too. +- The remote branches `ai/housekeeping` and `ai/ship-help` are deleted, and + so are the local ones. The only unmerged commit, the remote-mutation note + (`9dc2022`), is now `023506c` on `ai/read-the-docs`. +- The agent can't push or open PRs (`techContext.md`, Constraints): it + prepares the commands and PR descriptions, and the maintainer runs them. ## Next step -The maintainer opens both PRs with the prepared `gh pr create` commands; -then work package 3 (Read the Docs) after the go-ahead. +Wait for the maintainer's go-ahead for work package 3. Nothing on +`ai/read-the-docs` needs pushing before then; its Memory Bank commits go +into the work package 3 PR. diff --git a/.memory-bank/progress.md b/.memory-bank/progress.md index 53dcd2d..59e0d3b 100644 --- a/.memory-bank/progress.md +++ b/.memory-bank/progress.md @@ -9,44 +9,31 @@ source: repository evidence ## Current status -PR #91 is merged: documentation matches the cmdlets at HEAD. The module -source is unchanged since the 4.2.6 release except the -`Remove-Item2 -PassThru` rename and `CompatiblePSEditions`. +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`. ## Recent milestones -- 2026-10-02: Memory Bank initialized. -- 2026-10-02: Documentation aligned with the code: 36 cmdlet pages filled - from the C# source and checked at runtime in a sandbox; Concepts, Examples, - home page, contributor guide, README rewritten; `mkdocs.yml` nav, - `edit_uri`, and `.readthedocs.yml` (`build.os`) fixed; `CHANGELOG.md` - created. -- 2026-10-02: PR #91 build fixed: `appveyor.yml` builds the module from - source and checks the docs against that build instead of the Gallery - release (root cause of the `Remove-Item2 -PassThru` drift failure). -- 2026-10-02: PR #91 merged into `master` as `690d8dd` (squash merge); - branch `ai/docs-alignment` deleted locally and on GitHub. -- 2026-10-02: Work package 1 (housekeeping, `ai/housekeeping`): local - `promptHistory.md` ignored by git; changelog policy recorded as - Decision 7; Decisions moved from `systemPatterns.md` to `decisions/`. -- 2026-10-02: PR #83 (TechNet tutorial links) reviewed and found - superseded: #91 ships the same two `learn.microsoft.com` links in - `Docs/index.md` and `README.md`. The maintainer decided to close it; - the remote-mutation hook denied the agent's `gh pr close`, so the - maintainer closed it by hand (2026-10-02 21:18 UTC). -- 2026-10-02: Work package 2 (ship help, `ai/ship-help`, stacked on - `ai/housekeeping`): `en-US\NTFSSecurity.dll-Help.xml` generated from - `Docs/Cmdlets`, committed, copied by the csproj, and listed in a complete - `FileList` (Decision 8); stale `NTFSSecurity-Help.xml` and the unused - `NTFSSecurity.Help.pshproj` removed; `Tests\Help.Tests.ps1` (Pester 5) - and two CI steps added; six inline links in five cmdlet pages reworded - because platyPS drops the space after a link in the help text. Tests: 218 - of 218 pass in Windows PowerShell 5.1; without the help file 180 of 182 - failed. -- 2026-10-04: Work packages 1 and 2 pushed; AppVeyor 54834155 - (`74abb0b`) and 54834154 (`fba3a7d`, 218 of 218 Pester tests) passed. A - follow-up commit reports each test once on the AppVeyor Tests tab - (the NUnit upload listed 870 entries). +- 2026-10-02: Memory Bank initialized. PR #91 aligned the documentation + with the code (36 cmdlet pages, conceptual pages, README, `mkdocs.yml`, + `.readthedocs.yml`, `CHANGELOG.md`) and made `appveyor.yml` build the + module and check the docs against that build (Decision 6); squash-merged + as `690d8dd`. +- 2026-10-02: PR #83 (TechNet links) closed by the maintainer as superseded + by #91. +- 2026-10-04: Work package 1 merged as PR #92 with a merge commit + (`d917832`): `promptHistory.md` ignored, Decision 7, Decisions moved to + `decisions/`. +- 2026-10-04: Work package 2 squash-merged as PR #93 (`14799fb`): generated + help file shipped (Decision 8), stale help files removed, `FileList` + complete, `Tests\Help.Tests.ps1` (218 Pester tests), CI steps 03 (help + file current) and 04 (Pester, one Tests-tab entry per test; the NUnit + 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). ## Stable capabilities @@ -59,30 +46,51 @@ source is unchanged since the 4.2.6 release except the ## Open work Work packages in the order agreed with the maintainer. Each gets one -`ai/` branch and PR, committed locally; the maintainer pushes, and -the next package starts only after the maintainer's go-ahead. - -1. Housekeeping: `ai/housekeeping` pushed at `74abb0b`, AppVeyor green; - PR into `master` to open. -2. Ship help: `ai/ship-help` pushed at `fba3a7d`, AppVeyor green; the - follow-up commit for the Tests tab awaits push. PR into - `ai/housekeeping` to open. -3. Read the Docs: project `ntfssecurity` (maintainer `Sup3rlativ3`) builds - the fork; switch it to this repository or import a new project. Ask - before installing Python for `mkdocs build --strict`. +`ai/` branch and PR, committed locally. The maintainer pushes and +opens the PR (the agent can't; see `techContext.md`, Constraints), and the +next package starts only after the maintainer's go-ahead. + +1. Housekeeping: done (#92). +2. Ship help: done (#93). +3. Read the Docs, next. The local branch `ai/read-the-docs` exists and so + far carries Memory Bank notes only. The project `ntfssecurity` + (`https://app.readthedocs.org/projects/ntfssecurity/`) is maintained by + GitHub user `Sup3rlativ3` and builds the fork `Sup3rlativ3/NTFSSecurity` + (last build about 2021); the repository side is ready + (`.readthedocs.yml`, `Docs/requirements.txt`). The switch happens in the + Read the Docs dashboard. Give the maintainer exact steps for both + options: (a) `Sup3rlativ3` adds him as maintainer and changes the + repository URL, or (b) he imports `raandree/NTFSSecurity` as a new + project (the slug `ntfssecurity` is taken). Ask before installing Python + for `mkdocs build --strict`. After the switch, confirm a build of + `master`, propose whether the `online version` links move to Read the + Docs (Decision 4), and add a documentation link to `README.md`. Done + when Read the Docs builds `master` of this repository and shows the + current pages. 4. Manifest and version: remove `Show-NTFSSimpleAccess` and the duplicate - inheritance entries from `CmdletsToExport` (36 cmdlets remain); ask - about the next version (with or without a `PassThur` alias), - `PowerShellVersion`, and `DotNetFrameworkVersion`; align `AssemblyInfo`. - No tag or publish. Inputs found in work package 2: `Test-ModuleManifest` - already fails on `PowerShellVersion = '2.0'` with `CompatiblePSEditions`; - releases ship Debug builds plus `.pdb`, `.xml`, and - `System.Management.Automation.dll` (`Private=True` reference), which - `FileList` doesn't list. + inheritance entries from `CmdletsToExport` (exactly 36 cmdlets + exported). Versions disagree: manifest 4.2.5, tag and Gallery 4.2.6, + `AssemblyVersion` 4.2.1.0. Propose the next SemVer version with and + without `[Alias('PassThur')]` on `Remove-Item2 -PassThru` (the rename in + #64 is breaking), plus `PowerShellVersion` and `DotNetFrameworkVersion` + (manifest 2.0 and 3.5; the assemblies target .NET Framework 4.5.2), and + ask. Move the `[Unreleased]` entries into the new version section (ask + whether the build-only "Read the Docs build configuration" entry stays, + Decision 7) and align `AssemblyInfo`. No tag or publish. Done when + `Test-ModuleManifest` passes, 36 cmdlets are exported, and CI is green. + Inputs: `Test-ModuleManifest` already fails on + `PowerShellVersion = '2.0'` with `CompatiblePSEditions`; releases are + Debug builds published with the whole output folder (`.pdb`, `.xml`, + `System.Management.Automation.dll`), which `FileList` doesn't list. + Before the next build and `Publish-Module`, clean + `C:\Program Files\WindowsPowerShell\Modules\NTFSSecurity`, or the removed + `NTFSSecurity-Help.xml` ships again. 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 `appveyor.yml`, and skip elevated cases when - not elevated. Each fix updates its cmdlet page and `CHANGELOG.md`. + `$env:TEMP` sandbox and in `appveyor.yml` (pattern: + `Tests\Help.Tests.ps1`), and skip elevated cases when not elevated; + check whether AppVeyor runs elevated. Each fix updates its cmdlet page + and `CHANGELOG.md`. ### Code defects (work package 5) diff --git a/.memory-bank/techContext.md b/.memory-bank/techContext.md index 812f6a3..cb82cac 100644 --- a/.memory-bank/techContext.md +++ b/.memory-bank/techContext.md @@ -49,8 +49,9 @@ source: repository evidence - `ModuleVersion` in the source manifest is `4.2.5`; the latest tag and Gallery release is `4.2.6`. -- HEAD differs from tag `4.2.6` only by the `Remove-Item2 -PassThur` to - `-PassThru` rename and `CompatiblePSEditions` in the manifest. +- 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. - `CmdletsToExport` lists `Show-NTFSSimpleAccess`, which no longer exists (WinForms code removed in `d3063de`), and repeats the inheritance cmdlets. - `Test-ModuleManifest` fails in Windows PowerShell 5.1: