psadt-deploy-skill 0.49.1 → 0.49.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +24 -20
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -110,7 +110,7 @@ the same app from disagreeing about their own version.
110
110
  - **A dossier is produced every time**, uploaded or not: one self-contained bilingual HTML file with the
111
111
  return-code map, the detection rule, the hooks, the test results - and a ready-to-paste Company-Portal
112
112
  description.
113
- - **987 Pester tests**, including drift guards that fail when the documentation and the code disagree -
113
+ - **1173 Pester tests**, including drift guards that fail when the documentation and the code disagree -
114
114
  one of them reads the published landing page and compares its figures against this repository.
115
115
 
116
116
  ## Go deeper
@@ -128,7 +128,7 @@ the same app from disagreeing about their own version.
128
128
  ## Status
129
129
 
130
130
  In active use for the full build → package → test → dossier workflow, with the direct Graph upload
131
- verified against a live tenant. The helper scripts are covered by 987 Pester tests.
131
+ verified against a live tenant. The helper scripts are covered by 1173 Pester tests.
132
132
 
133
133
  One open point, honestly: **the driver `pnputil` exit-code semantics are documented, not verified here.**
134
134
  `0` / `259` / `3010` and the two `0xE...` failures come from Microsoft's documentation; confirming them
@@ -180,7 +180,28 @@ installed.
180
180
  **[CHANGELOG.md](CHANGELOG.md)** carries the complete history, every release since 0.1.0, and nothing is
181
181
  ever removed from it.
182
182
 
183
- Latest: **0.49.1 - The permissions it asks for were written down nowhere a reader looks.** `SECURITY.md`
183
+ Latest: **0.49.3 - A second live run found the pipeline disagreeing with itself.** Packaging another app
184
+ twice - an Inno Setup installer, Silent, three groups, supersedence - went GREEN twice and still found
185
+ thirteen defects, most of them between the scripts rather than inside one. The upload now enforces the
186
+ SYSTEM-test gate itself, before any token, instead of relying on the dossier to refuse. The dossier and
187
+ the upload take their App-information fields from one derivation, and a test compares the two on the same
188
+ manifest. Pre-flight catches a helper that reads the launcher's `$adtSession` (a 60001 in the VM before).
189
+ Assignment and supersedence record what Intune holds, a new `-Remove` takes the old version's Required
190
+ off (App. R.6), and the note on a superseded version is rewritten instead of going stale. The
191
+ tenant-writing scripts now run against a fake tenant in the tests.
192
+
193
+ Previously: **0.49.2 - A live two-version run found the skill contradicting itself.** Packaging one app
194
+ twice, end to end, exposed four places where the skill said one thing and did another. The Windows
195
+ Sandbox kept the package folder
196
+ mapped for the whole run, so the manifest writes of Phases 7 and 8 - done in that same window by design -
197
+ failed; the VM now tests a snapshot, and an edit made meanwhile is named instead of tested around. The
198
+ research ladder never read what the previous version had answered; it now carries those answers for
199
+ confirmation, and the agent budget of the real second version dropped from 2 to 0. The Gate 2 close
200
+ prompt never reached the command line; the generators record it, and the upload, the dossier and the
201
+ sandbox all read it. The logo lookup now waits for the render, repairs a missing `viewBox` and measures
202
+ what the picture holds.
203
+
204
+ Previously: **0.49.1 - The permissions it asks for were written down nowhere a reader looks.** `SECURITY.md`
184
205
  now lists every Entra permission the skill can use - with its flag, its purpose and the script behind it -
185
206
  says who has to sign in, what `New-PsadtEntraApp.ps1` does step by step and how to revoke access, and the
186
207
  README names what an upload needs. A sweep for other stale statements fixed the upload's supersedence
@@ -195,20 +216,3 @@ first, the app mutex, the leftovers, both decision gates - was recorded in the m
195
216
  read again, because every store is keyed by the installer hash and a new version has a new hash.
196
217
  `Get-PsadtPriorPackage.ps1` finds the previous package by application identity instead and offers what it
197
218
  learned for confirmation. Purely additive: nothing that passes today starts failing.
198
-
199
- Previously: **0.48.0 - The figure guards only ever read the figures.** The landing page described a skill two
200
- releases old, and the guards could not see it: every site assertion checked a number, never whether the
201
- list behind it was complete. The engine tile correctly said 19 while the table under it showed 14 rows.
202
- The pre-flight gate was described as ten checks and runs fourteen. Phase 9 still told the reader to wire
203
- supersedence themselves. The page is corrected, three wrong statements in the repo with it, and the
204
- guards now compare lists name-by-name instead of counting.
205
-
206
- Previously: **0.47.0 - The supersedence this skill has been wiring may never have been wired.** The upload has
207
- POSTed a supersedence relationship since 0.8.x, on a route that is reported not to exist, catching the
208
- failure and printing a yellow line - so a chain that never took looked like a normal run. No test touched
209
- any of it. The write now uses the `updateRelationships` action the admin center uses, merges onto the
210
- existing relationships instead of replacing them, and reads the chain back before claiming it. The mode is
211
- no longer hardcoded to `replace`, which uninstalled the previous version from every device first; `update`
212
- is the default and the MSI's own Upgrade table decides. Two new scripts make the predecessor's id
213
- something you can read rather than retype, and Appendix R covers the lifecycle - including that Intune has
214
- no retire state at all.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "psadt-deploy-skill",
3
- "version": "0.49.1",
3
+ "version": "0.49.3",
4
4
  "description": "Installer for the psadt-deploy Claude Code skill: build, test and deploy PSADT v4.x Intune Win32 packages.",
5
5
  "keywords": [
6
6
  "psadt",