From 52022a99fd7652c57cc7891603705b23142b48d5 Mon Sep 17 00:00:00 2001 From: Raimund Andree Date: Sun, 11 Oct 2026 13:48:07 +0000 Subject: [PATCH] docs(coverage): report the fix of the piped AppliesTo, its reviews, and the acceptance of the final package The report of Handoff 5 now tells what came after the final measurement of 61e936e: - why a piped AppliesTo was dropped for a path (the default parameter set), the fix (93ed2c7), the defect of that fix that the third independent review found (the scope of a piped object reached the next one, 9783d2a), and the corrections of what the documents said about empty and unconvertible values (7bc7925, 2112ee3); - three independent reviews and two checks of the third reviewer, with every finding and its resolution, including the seven Minor findings of the second check of 7bc7925 and of this report; - the red and green runs of the tests, among them the runs of the tests of the CSV route on the build before the fix and on 93ed2c7; - the measurements of 9783d2a, 7bc7925, and 2112ee3 (1,492 cases per configuration, 3,266 of 3,668 sequence points, the same 183 unvisited methods) on the bytes of one build; - the acceptance of the final package in the labs: the first lab (245, 0, 1 per edition), the unit suite on the three file servers and the client (16 configurations, 1,189 cases each), and the three cells of the matrix lab (229, 0, 2 per edition), every end state clean; and the first start of the cells, which did nothing because the command that I had given the maintainer did not set the module path. The Runs, Evidence, and ParameterSets tables are regenerated. The lines that the ParameterSets table cites are mapped to the tests of 6143545. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: AI Assistant --- ...lity-Gate-Unknowns-2026-10-10-Evidence.csv | 646 ++++++++++++- ...Gate-Unknowns-2026-10-10-ParameterSets.csv | 70 +- .../Quality-Gate-Unknowns-2026-10-10-Runs.csv | 111 +++ .../Quality-Gate-Unknowns-2026-10-10.md | 885 +++++++++++++++--- 4 files changed, 1558 insertions(+), 154 deletions(-) diff --git a/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-Evidence.csv b/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-Evidence.csv index 2a84f7e..1f378c4 100644 --- a/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-Evidence.csv +++ b/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-Evidence.csv @@ -1,12 +1,25 @@ "Path","Bytes","Sha256" +"accept-ap7.log","597","B1BE24BBB3F14EEC5AEFB83E5D1F1B32BD3C48B8FABAFA2B05928039AAC702D2" "chain-final2.log","1407","57EF2699A7CBAB9FACC7A3B064437E94F9653852C1D7BBAC75A3B17A29F0DD7D" "chain-final5.log","1408","C3AF39077F2C5BBC5AC1B363D81EF07C880B3064476A1ADB45FF6B05E4EEAFD4" +"chain-final6.log","1413","D69B56C0A74C133EED1AADBF2CC7ECDAF9B3F84DA56117A7A894923874C9BCD7" +"chain-final7.log","1413","D9C1F59C7E7064CCA61D4CDF2154820594D6BD4848958809AC69816F12C4F889" +"chain-final8.log","1413","423845A59188651676213280145EBE845B3661E5E4E7108EB6BD86F56FC99501" +"chain-final9.log","1413","BFD44214D49A739B0D6EE78439DE5AC1E1753CEAABE42C8EC9920967746228C1" "chain-fix.log","503","A98AC51F3CFCB249EF69BBD860FD277F8D958265F06C1179D73C545747E7AAE2" "chain-lab.log","572","5925645088E93BC2208BF555DF91A1F650266B22BF98D94647CE40D5911DAE60" +"chain-reaccept-ap6.log","715","14BB130745AFA3F0C5A66D6D84A4B3BA6648EFD9CFBF33D807172AF68B7564C9" +"chain-reaccept-ap6b.log","359","C6FC83B5911CDCE73F3F44DC1B809576C07F31DC096DD6DBBD7FAC433504206E" +"chain-reaccept-ap7.log","1039","C522CDFD3D39AA13F9585748C34B3AC76C9AA06605CBD643D72AA100EBAFF1AD" +"chain-reaccept-ap8.log","1256","5C32BE54375036A9D9A02E701C2C4926704E5BC49DCD61BEBD06AFFB46070DA5" "classification-fa0701b-raw.csv","205297","EA03B411B0D0717D6DE50A57A6EB97E6C3DD6AD8103F9C76A2093A279571AA8C" "classification-fa0701b.csv","278293","8DB002C2BD249B1229F8EE6CEC65C99F03718C24D6294963C5BE97D731D4BCCF" "classification-final.csv","210325","A86537AD9BA49B72C12A153AC91F5966EA8E4DE2561A5E84E0D54D2817D58E38" "classification-final5.csv","210325","F8FCC986DCC04C5FC98A63C189F1B83FA65929EA2FDF4B1FFA2F9E5529DFF840" +"classification-final6.csv","204323","E99FCEF1E920EEF841FA7FE4DD5179BD2A507E4522C1394076C772F7926A1299" +"classification-final7.csv","204323","F3A861EF6BE7D0CE9C8057D0675082DAB02F23067D35E78FC821A665B559A13E" +"classification-final8.csv","204323","F3A861EF6BE7D0CE9C8057D0675082DAB02F23067D35E78FC821A665B559A13E" +"classification-final9.csv","204323","F3A861EF6BE7D0CE9C8057D0675082DAB02F23067D35E78FC821A665B559A13E" "cultures\cultures.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" "cultures\cultures.log","581","1938351B635A0EDA7CFDEF509E60AB7604C5B586A550CF566269F25EB4DBBAFB" "cultures\de-DE-Core.log","204578","B8B2B2747C9DE314F113AE234D2800F2F67D0066A872C03ABEB28326166F922A" @@ -61,6 +74,50 @@ "eligibility-final5\rows\rows-Desktop-basic.csv","648141","80824EC62CD1C66F9D274070ED141558CE0FC4B86540AA7C216CDA1C3A0898F0" "eligibility-final5\rows\rows-Desktop-elevated.csv","654739","E84B252A1AFAC36A20CAD801270E15E3FBD8980AB765EF2048B7ABA6249E9C79" "eligibility-final5\rows\skipped-rows.csv","256795","CD45D3D6E12224EE8CBECFA5A7088538E1EB6552FCF884B9C5A321864D5A4025" +"eligibility-final6\comparison.log","460","A47E0E71AB70187F18847090BFDB86C8C03D4D6E727E2720CF2623F922B694B9" +"eligibility-final6\eligibility.log","1009","AC4214F467EE83C43F6027D3548EA1900EC0F2D352E3EEDF0BF0C0ABFBE436B0" +"eligibility-final6\probe-Core-basic.log","630","176B97884E10F98D4F3A54DA5B0C8F7E90BA5AFE4A52CD4FB8EE5729651B4341" +"eligibility-final6\probe-Core-elevated.log","1362","6615C1D5836DFBE7EC3BCB078BB511B1B55250090BB056EA8675BD60364D5285" +"eligibility-final6\probe-Desktop-basic.log","244","F9E988AAD6CF4D600A353BE0445F342744A599902977793A2F6C37EE1ED2D49E" +"eligibility-final6\probe-Desktop-elevated.log","976","C1B5AF1C8DC4EB88B89A974B7C1FA0CCD8F3BA66A3ACDBF017D3AA0E64A29054" +"eligibility-final6\rows\rows-Core-basic.csv","656088","ABA4AA7D1B7AEA4CF40ED1F9BE4EDE199F0D2449BF1D3318998EB53E98FFC45A" +"eligibility-final6\rows\rows-Core-elevated.csv","662967","760BA88AFA7314F68A5912E022FED38E82708F2ECFD0F33A55AB419631CAB9FB" +"eligibility-final6\rows\rows-Desktop-basic.csv","660498","7435CDEE5AD7160AE9DB896B7F6D1C613CD2EF2D09AE2D8EFF68BBDC701B0796" +"eligibility-final6\rows\rows-Desktop-elevated.csv","667377","218B9103EE5736F882A1B8546256730FB6E0FDF68C0E1C8C52CB5D9A1B4C07CF" +"eligibility-final6\rows\skipped-rows.csv","265791","3CFBFEBC4AC162FE9ECAE39D5D08D921FBEC5BF9BC6F0695EA2951D82BBCF65D" +"eligibility-final7\comparison.log","460","680DB68B3FA7F31CCEC7B1C97EBDFC78619C4B1AB46D78180F66050A6A2B7DF0" +"eligibility-final7\eligibility.log","1009","C0F832D21AC6490A012E584B358DE72C24AD813718AE8575F96510455EEFB1D3" +"eligibility-final7\probe-Core-basic.log","630","A867F5663C4D5942755A5C5016ACC7797715D7844E72CC92155E1067E7AC9248" +"eligibility-final7\probe-Core-elevated.log","1362","26467DE5E945F3C50D1F814F0B05F7AF6400CD77E0412270E63D8BF628D5CEE1" +"eligibility-final7\probe-Desktop-basic.log","244","D33DC69EBC17E8237054EAE96547F5C56A2C111BC8B71517A155E857F51BE067" +"eligibility-final7\probe-Desktop-elevated.log","976","76AF0983FFBBE76E5B8B2C80E9A6524FB6C19DC1808BE137E1FA21F6846C8DB7" +"eligibility-final7\rows\rows-Core-basic.csv","661680","10D62107879BE1AF857DFE97BC52C7B23EE4EABDBE6D6F915128E0CA38213CFE" +"eligibility-final7\rows\rows-Core-elevated.csv","668607","7B92244D0DC0DCA2A5F4B8C5F61379086BF504FF60854080002F80ECF3D2F43B" +"eligibility-final7\rows\rows-Desktop-basic.csv","666126","F9B65C098B1915CB7E9E668CAC3D23E0D10B04FD564413FE5492FAD09BE73D96" +"eligibility-final7\rows\rows-Desktop-elevated.csv","673053","DF13D7FF2706C803A029EDE4E00C288B7216485FC1543AEDAE97BE55E9262360" +"eligibility-final7\rows\skipped-rows.csv","270377","79CA94B4B543E362AC45E9CF47E31E7917D0415EDBDD65A3FD002EB3C08F8881" +"eligibility-final8\comparison.log","460","B8757B8655232D493E29057ED578ADF96FA32D11F1A0F48268C17D9716ED3B07" +"eligibility-final8\eligibility.log","1009","1D297AA28D655A059BC5E8D6CA64D1F814F81AF647EC56C68C2168B7AAD6B43F" +"eligibility-final8\probe-Core-basic.log","630","95D814AEDAF248683E332F290B60A52229FDCC3A0F5064AFD78B8ADE10C7799F" +"eligibility-final8\probe-Core-elevated.log","1362","C77DECEF9FD40EA229C00DC5C2D5A9801B30B3A6AF95BE2E5D1C6DD0DB2780C4" +"eligibility-final8\probe-Desktop-basic.log","244","9ECABE8774904FC17DEE512D14E0218316589B30AA4D3006C190E3A9AD647899" +"eligibility-final8\probe-Desktop-elevated.log","976","C82EC32C890A98513C1B6D64EDDFE55F1007E26B132281AF379F88EEF28091D1" +"eligibility-final8\rows\rows-Core-basic.csv","662794","90A00AAE2CF730F3EC2F12AEF74D4975949ECA322647B453FDD9FC901F2E223A" +"eligibility-final8\rows\rows-Core-elevated.csv","669729","26CAB70A15337CE0A29F85ED17A71EF6F69371615DA56BD475C23B5684DE8672" +"eligibility-final8\rows\rows-Desktop-basic.csv","667246","92346E7B89C5D9F764838EE7E329203F82DFABEAC24A4AE4C6BF79473A8ACE83" +"eligibility-final8\rows\rows-Desktop-elevated.csv","674181","983AF7FFDDFFB390F60A72C5FF70FEF75EAE1CAE38BE2E18EC3DC1390636096D" +"eligibility-final8\rows\skipped-rows.csv","271262","9AE78DCA150918B0BE6FAC6990E40B8A57A25A581F180EFEDAC4195ADD956C64" +"eligibility-final9\comparison.log","460","B8757B8655232D493E29057ED578ADF96FA32D11F1A0F48268C17D9716ED3B07" +"eligibility-final9\eligibility.log","1009","A809D47744F9A31DDC2F21BA1A448499061051A8D0605541F199D36C9B14030A" +"eligibility-final9\probe-Core-basic.log","630","95D814AEDAF248683E332F290B60A52229FDCC3A0F5064AFD78B8ADE10C7799F" +"eligibility-final9\probe-Core-elevated.log","1362","C77DECEF9FD40EA229C00DC5C2D5A9801B30B3A6AF95BE2E5D1C6DD0DB2780C4" +"eligibility-final9\probe-Desktop-basic.log","244","9ECABE8774904FC17DEE512D14E0218316589B30AA4D3006C190E3A9AD647899" +"eligibility-final9\probe-Desktop-elevated.log","976","C82EC32C890A98513C1B6D64EDDFE55F1007E26B132281AF379F88EEF28091D1" +"eligibility-final9\rows\rows-Core-basic.csv","662623","1CABD11E40D479E85A7BE32F75E25DFFEEF0E461769D0A1F99F0CF58C0A97BA0" +"eligibility-final9\rows\rows-Core-elevated.csv","669558","134E87AE01E988291E818D84E4E2EABFB08F5AF3B7326FBD8E878F8502547C2B" +"eligibility-final9\rows\rows-Desktop-basic.csv","667075","1BBE8CB23758382A2549F3469D894457F716896DEED802A4B7809EFE8744DA60" +"eligibility-final9\rows\rows-Desktop-elevated.csv","674010","E658BC0BC069079576193ED4AEB330035CD080B111A1FB8FCA4DF5D05192A28F" +"eligibility-final9\rows\skipped-rows.csv","271262","C13527C6114A351B0DE5CF11A3C91BCE1429059A09A014CAF3F0509358A990B4" "fa0701b\basic-Core.log","173984","2F83AD32E34E377C920C5065C68712C0959423A5C12E4F7003C23B0FBFC5E0EB" "fa0701b\basic-Desktop.log","167144","402ABAEC82E2F292CA6658F1FF25B074C7E13C49D6DED9B4266224A6C712ADD4" "fa0701b\Build-driver.log","133","681BD2AD85A4AFA0FFC3450D32E81604B824F728CB5045F728748F7ADD701442" @@ -223,6 +280,187 @@ "final5\validate\elevated-Core.xml","658057","9127ADD7EABA51D590E6A3ACD082833EF846E73EC88C0CEECF90967F4912A495" "final5\validate\elevated-Desktop-summary.md","156","E668CE755D8D8B73093CC4AE87A613FE03931C3BF1B570996C2214BA2029E600" "final5\validate\elevated-Desktop.xml","657965","79676093704967089E96D5B86FA4821CD24CB4777367DB1AD4F608757B431EAE" +"final6\basic-Core.log","207338","0E900F53D7292D1A2A9DFD5D110BEEE5A1C4BBA43422477D4F71C41CA3F2E549" +"final6\basic-Desktop.log","200107","5A25BD777657FD11183FB701A081274DF206C012E1B049268231EF5A07067631" +"final6\build-hashes-kept.csv","2652","3510B897F274A1F28AE90777B41F0733C560D8FBECA8625F0CC7563A13BD4877" +"final6\collect.log","476","C34E00311A61C3CCA0B0EDFD2AE810F4EC5B3B3887D91D47F16FE5658D67635B" +"final6\Coverage-driver.log","781","183B3B603D86C0A554FBD0DEE08000414912FDACF09884567141EDD2A9F06FE3" +"final6\coverage\basic-Core-summary.md","151","FE268407ABD387CCDA6DE5F55CF13BBFCB78C9C5E99831E705FCEE8AA2B8FFD1" +"final6\coverage\basic-Core.xml","684795","A1F7CDD4D6D4D79143385B777E4FE4C89FA959EE1BC203121C7774E08EB27B40" +"final6\coverage\basic-Desktop-summary.md","154","4E463195042B91D2BDF8B0287F32D3835B24B27A35773476129D12ABB5C99803" +"final6\coverage\basic-Desktop.xml","684810","7EFCF0C986753D1F921F0C9015DC09CA2384C7F8D7CA6E27BC110F4B272C2686" +"final6\coverage\coverage.xml","1625673","DB97C33AEC0184FE5F5628822B04936E3DD213FE621AD02EE79D722647E4008E" +"final6\coverage\elevated-Core-summary.md","153","FA335C5A29B77040971C349E994E40A31B989A5EBAE680B67AA3EF5573F5D7B4" +"final6\coverage\elevated-Core.xml","671665","9B3345E5B5DF51DB4BE71E9FF2F7B2BBDC5FAC51D903146BD563B1A33B650140" +"final6\coverage\elevated-Desktop-summary.md","156","A2440069F44978E1AECD94A7A62A5576640E8EAAC0922AED4754C5FC31AFBF9D" +"final6\coverage\elevated-Desktop.xml","671604","4EB50F9B83068178016211C7B5B351D526723DDBAC880DDB2AB3C9B07ECE9F53" +"final6\elevated-Core.log","210854","975186DF598CE3EF0A554BB92A91D18BCAD06C23ABFC87A8AEF59F5F8F904524" +"final6\elevated-Desktop.log","203472","190C702DBC57E0DA88453C47C84E998598D8405901DF274A7125F634C7E0CFCB" +"final6\instrument.log","2311","478DFB3164F5C2A43C28EEEDF6FAD3418059EFBFCC1299831572B3415D013B1A" +"final6\measured-assemblies.csv","4631","40DCA9BA1E41F17D731414C345AA887BC4762114D008BE1E6C1EE3BC06724CCB" +"final6\release-build-hashes.csv","2652","3510B897F274A1F28AE90777B41F0733C560D8FBECA8625F0CC7563A13BD4877" +"final6\release-pristine-hashes.csv","4486","13F2631572114DAAE15F07AA0C615B22E7500269F5430D4881FE48344741CA52" +"final6\source-pin.txt","42","CA7A8B9BD11C331F0E3EF23D1FC0A2C67E6BD1F2B9F3DEF0226DB4655A9DB1DA" +"final6\Validate-driver.log","653","64A79885BE06E70C3DE0BF63F97572F7F6B933BED94E3BCDEF0F189A04AF1FFB" +"final6\validate\basic-Core-summary.md","151","FE268407ABD387CCDA6DE5F55CF13BBFCB78C9C5E99831E705FCEE8AA2B8FFD1" +"final6\validate\basic-Core.xml","684822","02D36685FDA5A4851F00F41EAA687A26C3BB00DE6BD265EDAB6ECA721595E19A" +"final6\validate\basic-Desktop-summary.md","154","4E463195042B91D2BDF8B0287F32D3835B24B27A35773476129D12ABB5C99803" +"final6\validate\basic-Desktop.xml","684791","0BCE6B0AD5AE95F37D7A0FDD01C32E9E7F5BD62145D6FAF49E93A27E3D8B78AB" +"final6\validate\elevated-Core-summary.md","153","FA335C5A29B77040971C349E994E40A31B989A5EBAE680B67AA3EF5573F5D7B4" +"final6\validate\elevated-Core.xml","671651","21BC4F75A2B54B5DAF0B459D91326FDD6B70E1DA435E724E6F3F42CC5AD6F45E" +"final6\validate\elevated-Desktop-summary.md","156","A2440069F44978E1AECD94A7A62A5576640E8EAAC0922AED4754C5FC31AFBF9D" +"final6\validate\elevated-Desktop.xml","671629","142BA6BCBA8CFAD1104DD93819CC531D240892D857E246A54D7539F8C7E3B634" +"final6build\Build-driver.log","133","5747390E1FDB8E3E91E0C1658BF5086D852A1BBFF5FD8FB6DA109AE198241973" +"final6build\build-hashes-kept.csv","2652","3510B897F274A1F28AE90777B41F0733C560D8FBECA8625F0CC7563A13BD4877" +"final6build\build.log","193088","1DA0B368C96365A71232A529F944797F5D3AE3CD957E636BCBFB7DB8C3DC2738" +"final6build\package.log","314","3023C388B1209A1E72ABFD8A09B962B427B56811857CC1462D922742FE74286B" +"final6build\package\NTFSSecurity.5.0.0-rc7.nupkg","291330","5F3098099646FEEB967590DB7AE960840771CD369CE083F27803CA4191ACC130" +"final6build\package\NTFSSecurity.zip","289198","5DE39C11DF92714CD950F8A29611603218F94DDE9755078B61343A28D4CE5E38" +"final6build\package\NTFSSecurity\AlphaFS.dll","364544","A8DA47194AB0F71232C69D01955AD93BA73C7ECEB58D0DE800CA085D4A2E18D8" +"final6build\package\NTFSSecurity\NTFSSecurity.dll","83456","86E1201029B43D46483A6157D502E248C2916D1A6307F51FB835A3ACB6CE1202" +"final6build\package\NTFSSecurity\NTFSSecurity.format.ps1xml","18813","FB0920CC37ED858F55AFD54998DC854E27FBBE6A0177CB059CB03CFE91361197" +"final6build\package\NTFSSecurity\NTFSSecurity.Init.ps1","2650","59583423241951EBE0FC2D8237D0C28C3ECC8C7CD2C115D2660F8579888632FC" +"final6build\package\NTFSSecurity\NTFSSecurity.psd1","3571","968514234BAAF16789A560C86A6F701F69E91262F1EAB62142DDF6D05A8D2A52" +"final6build\package\NTFSSecurity\NTFSSecurity.psm1","341","3F777E9D141EE0046119DA9D5ECF88A3BC7E023726098FE2FB150528E2FB59B8" +"final6build\package\NTFSSecurity\NTFSSecurity.types.ps1xml","5158","CB6882FF91E6716605D5599E7B464C3346E461216ACED07E847621738F04FB9B" +"final6build\package\NTFSSecurity\PrivilegeControl.dll","5120","7550EABC5BC5FF343675F0A2A3C1D30B9DC6398563391C86373311CBF1ED221D" +"final6build\package\NTFSSecurity\ProcessPrivileges.dll","23040","27992C4D7F786D2C82130A61AA394C535C9A8C8F1440AF011D7FD438B7A6DACE" +"final6build\package\NTFSSecurity\Security2.dll","53248","8DF9ABCE04E3E431F7DF941A5177735CD61F72BBFE560F083B8F0F7702B32E96" +"final6build\release-build-hashes.csv","2652","3510B897F274A1F28AE90777B41F0733C560D8FBECA8625F0CC7563A13BD4877" +"final6build\release-pristine-hashes.csv","4486","13F2631572114DAAE15F07AA0C615B22E7500269F5430D4881FE48344741CA52" +"final6build\source-pin.txt","42","CA7A8B9BD11C331F0E3EF23D1FC0A2C67E6BD1F2B9F3DEF0226DB4655A9DB1DA" +"final7\basic-Core.log","209284","4AEE4E00A8BB9DAFEF93756BAD007C0D30D8B6FE075DA098BBF938B8672A2EF0" +"final7\basic-Desktop.log","202088","E3ADD3D594D67DF2615A37688E8B73EEDFC17A7B9DFB6EA6CD31CBA09B6F8A36" +"final7\build-hashes-kept.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final7\collect.log","477","45304B1A555CD74FE024518D7E95B389E36E9EA743B03C4EDCD35A2F5193F50B" +"final7\Coverage-driver.log","781","385F4A19A3EDCAF081A8A2D2D0F395D4373AE58AB9F572A06C48E4D12569FFC5" +"final7\coverage\basic-Core-summary.md","151","6F2813762782643CAE72D3F0B4BC6BD2DD7DA61B8B29A06F39504ABF8EFEC6B1" +"final7\coverage\basic-Core.xml","690905","5EE6CB626E75862625C2FCAFC554245032ED816D95EDAD3622CD2ED818EC7BEE" +"final7\coverage\basic-Desktop-summary.md","154","49FB6B5312A5F0834CDA5C7316699A274B042154FEF05C9C4ABF196DF3206313" +"final7\coverage\basic-Desktop.xml","690854","7E49A998D97DEA6FECE0C8FABFB1F67ECFB04AF9D8ED60465484E7ABE6FC04C4" +"final7\coverage\coverage.xml","1627897","ED83AF266CC174B6C90B89ED03A6E0D515433053F35831B82D6F0B907124F3BC" +"final7\coverage\elevated-Core-summary.md","153","E915C9AD85F91C9BC86FF47953D7806B58C5C758D73CF5D117D946AFA966DF50" +"final7\coverage\elevated-Core.xml","677735","ACA2245026C2AE483D3E6E0A8E5F5498A196B091DC4336B768695D76A16E0DA1" +"final7\coverage\elevated-Desktop-summary.md","156","BE05955B9DA386D2B3ACFF3CF03BF859DF5B99DF6F5D5D83578ACDB95AEBE9A5" +"final7\coverage\elevated-Desktop.xml","677681","84F3C87BDDDAA6AB23BF82E5C103FE08094672894ADE9F360A15358C9C6F52BE" +"final7\elevated-Core.log","212837","E5E7A871F0D4BF24FEEE638AACB262F0E0CB580E309C93326C97F04E761538F8" +"final7\elevated-Desktop.log","205493","8DAB5BAA02C0C553F0408F2BD325D36344E5B44D61FCB94A31304DB3353277AB" +"final7\instrument.log","2311","856C094526F88275950C7BFFF6044309965F346518ACE72EA3C210FD2BAF3614" +"final7\measured-assemblies.csv","4631","5D0AA5054C7AE2F8E20EA8F78F1EBF9728318EB996B6455AF7B73B90A218F501" +"final7\release-build-hashes.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final7\release-pristine-hashes.csv","4486","5795A8BD75EB4FE7B16D6CF5486961446D3B66704A978FEEF6155A5C0CAAC1F8" +"final7\source-pin.txt","42","92677B398B73BCEE4605A5CD57F87232AB32F039A73E1E5ABE16D2A84EB15CE1" +"final7\Validate-driver.log","653","235A824ECAC2EB18AA7CDAD9CF113E35D1843BA8A9297B0AD672859B573EC0DF" +"final7\validate\basic-Core-summary.md","151","6F2813762782643CAE72D3F0B4BC6BD2DD7DA61B8B29A06F39504ABF8EFEC6B1" +"final7\validate\basic-Core.xml","690886","FA8429DF6019FE83B9B5A9245E2F09333E35803DBD80FA066AE822CAEF55D793" +"final7\validate\basic-Desktop-summary.md","154","49FB6B5312A5F0834CDA5C7316699A274B042154FEF05C9C4ABF196DF3206313" +"final7\validate\basic-Desktop.xml","690901","A1FFA95433AD98F633E2C961EE9B29EA9424C76E63547CC0BF946EF1C85B6E6F" +"final7\validate\elevated-Core-summary.md","153","E915C9AD85F91C9BC86FF47953D7806B58C5C758D73CF5D117D946AFA966DF50" +"final7\validate\elevated-Core.xml","677756","D8C4E9A45C97B6DC27E338A072B59B739D2F691672B1558AF9E5C21DA7B73B50" +"final7\validate\elevated-Desktop-summary.md","156","BE05955B9DA386D2B3ACFF3CF03BF859DF5B99DF6F5D5D83578ACDB95AEBE9A5" +"final7\validate\elevated-Desktop.xml","677692","0E524DC6A93BB6B9F009C92ABB6FC0F79B27201140525AA0D44EE960959DA85A" +"final7build\Build-driver.log","133","FB6F66CE8CA68B1ED96305D6E3734E438A1F1F27DDFE1F2E1B410B7C75B4452C" +"final7build\build-hashes-kept.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final7build\build.log","193088","DD88C10EDCE9B3763CCD786F38EBB7BF8E6AF99B3F4BBEA2E3A83B6013D6E272" +"final7build\package.log","314","3D70983FF5586E8668810EDE8D5A087AE66CC975350B4BE8D1BCD10F0624C352" +"final7build\package\NTFSSecurity.5.0.0-rc7.nupkg","291879","65AD5266449C32561FA572ACC1D563D35C093A341E73C4E0544A9FA8C0059542" +"final7build\package\NTFSSecurity.zip","289747","A515030659C9DCA779B2BA1D534D6D0BE8198EE828391AC90A76FD171B1C6002" +"final7build\package\NTFSSecurity\AlphaFS.dll","364544","A8DA47194AB0F71232C69D01955AD93BA73C7ECEB58D0DE800CA085D4A2E18D8" +"final7build\package\NTFSSecurity\NTFSSecurity.dll","83968","DFA943D15B9DA0580020625EB4741F635F70E1679D72046660E602470480842A" +"final7build\package\NTFSSecurity\NTFSSecurity.format.ps1xml","18813","FB0920CC37ED858F55AFD54998DC854E27FBBE6A0177CB059CB03CFE91361197" +"final7build\package\NTFSSecurity\NTFSSecurity.Init.ps1","2650","59583423241951EBE0FC2D8237D0C28C3ECC8C7CD2C115D2660F8579888632FC" +"final7build\package\NTFSSecurity\NTFSSecurity.psd1","3571","968514234BAAF16789A560C86A6F701F69E91262F1EAB62142DDF6D05A8D2A52" +"final7build\package\NTFSSecurity\NTFSSecurity.psm1","341","3F777E9D141EE0046119DA9D5ECF88A3BC7E023726098FE2FB150528E2FB59B8" +"final7build\package\NTFSSecurity\NTFSSecurity.types.ps1xml","5158","CB6882FF91E6716605D5599E7B464C3346E461216ACED07E847621738F04FB9B" +"final7build\package\NTFSSecurity\PrivilegeControl.dll","5120","585F8FFD630A75FDC1041C0AC50AF3FCE0719048A3D7ACE055D6BD44B855D5BF" +"final7build\package\NTFSSecurity\ProcessPrivileges.dll","23040","615774328D04633DE27ED78A1971AD3C09C0D9FA922C4DE7CDA3EFB6CA6A4ECC" +"final7build\package\NTFSSecurity\Security2.dll","53248","9B8AA25ADA31337388E9C2EDAD3D93B42D2EAE6EE7CF0146D85FFDABFB29A33F" +"final7build\release-build-hashes.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final7build\release-pristine-hashes.csv","4486","5795A8BD75EB4FE7B16D6CF5486961446D3B66704A978FEEF6155A5C0CAAC1F8" +"final7build\source-pin.txt","42","92677B398B73BCEE4605A5CD57F87232AB32F039A73E1E5ABE16D2A84EB15CE1" +"final8\basic-Core.log","209643","92DDEF5E9AE212BBF8D1C1C7C77544394947C680B2BD72690EE2871FFB6F9D0B" +"final8\basic-Desktop.log","202414","956A01D458B2AEA29613C32D26A11581857C43D29F61F713FCD9CE6DA4B1FCB1" +"final8\build-hashes-kept.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final8\collect.log","477","45304B1A555CD74FE024518D7E95B389E36E9EA743B03C4EDCD35A2F5193F50B" +"final8\Coverage-driver.log","781","0C12E0C47AD6909F196D4CBB11F5929FA14E58300735CC8756D53B45A43BA478" +"final8\coverage\basic-Core-summary.md","151","A97C6DFDFB9F84F6B0AE138187E34C01385601C8B5784AD5D44CD4E15457AC8F" +"final8\coverage\basic-Core.xml","691822","3A8C82A19F97EB71C27AC9DB11B5FD097354B5F25C80815A86D3AB75A752E327" +"final8\coverage\basic-Desktop-summary.md","154","A7D20923886535D45160CFE61CC7E1FF90616739376D48F02D09265C5E06095F" +"final8\coverage\basic-Desktop.xml","691795","E00A48723CF2DDF7CF765D3E27EB870C0F59EB932C8542721000CA9E4181E40A" +"final8\coverage\coverage.xml","1627897","1328E626AE9B536EE42F10A0EFAAFFD6D4FA60F48FCA01CD1CE8AB8AE4B5CA7C" +"final8\coverage\elevated-Core-summary.md","153","DB16BADFAD4482AAC687F577DCC4496BBA578821059C447AD5CA63359EA5C5F5" +"final8\coverage\elevated-Core.xml","678642","6D3BC2704E5525156E0C26FC4BF5C1A13CAEF38493F44E01BBBBF9CDADA719FB" +"final8\coverage\elevated-Desktop-summary.md","156","49C3A62905C7CD10C99E703AD557D4C9071BBCBDBAF64C14220872F393D7A4A4" +"final8\coverage\elevated-Desktop.xml","678582","8F5B534278E5B6D5CE5184A160DA3F4462D99815FF04A5D174F659AE4B274475" +"final8\elevated-Core.log","213198","72E1DFDD01AA6DC4B00A1F990A3322B3EDF58495215E74E62A7E4B48277EF83B" +"final8\elevated-Desktop.log","205800","4F0F5B6AE8BEB9618D237EC4A5D130582DD87043B9F0D161FA2C2CF96982A56B" +"final8\instrument.log","2311","9C5C6F02E861E98EB94C51F3D74AE51665A6B3C5ACC75CDB70C465DF8B9D3568" +"final8\measured-assemblies.csv","4631","07195A293C6F0C8B31DC2B280D668C24668E783089F147A884BB510787292794" +"final8\release-build-hashes.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final8\release-pristine-hashes.csv","4486","D452D061198030D6FF0FF2DBD4D5AFECC543383D40C0CBE1B5D213CA78F408A4" +"final8\source-pin.txt","42","FD6DCFEC63D9A796AAD251A0CF7295F6F49A3F5AC12A4461C4063556E0E1E127" +"final8\Validate-driver.log","653","610DEF9BF2F832D3D1A4CA15383A066AF80CA7BBB56C93C0CF65C8053381F0FE" +"final8\validate\basic-Core-summary.md","151","A97C6DFDFB9F84F6B0AE138187E34C01385601C8B5784AD5D44CD4E15457AC8F" +"final8\validate\basic-Core.xml","691847","313D04504664093901B3BD82B78CD64C16DE333FEB29B8051D663C6D1718D921" +"final8\validate\basic-Desktop-summary.md","154","A7D20923886535D45160CFE61CC7E1FF90616739376D48F02D09265C5E06095F" +"final8\validate\basic-Desktop.xml","691790","620F559899DA17D6497BADCCCFD760732C8B9BFFE815D8FE8E3F99ECA3C54F16" +"final8\validate\elevated-Core-summary.md","153","DB16BADFAD4482AAC687F577DCC4496BBA578821059C447AD5CA63359EA5C5F5" +"final8\validate\elevated-Core.xml","678635","0E67B15B49A08585FE45E1AA4E4BBFAD5D344166EBCF37C80D704202FFF124D9" +"final8\validate\elevated-Desktop-summary.md","156","49C3A62905C7CD10C99E703AD557D4C9071BBCBDBAF64C14220872F393D7A4A4" +"final8\validate\elevated-Desktop.xml","678589","7E1897158C169D9C71A02435F64DE4F36A488F01F3D863ECC8E5F5145698D964" +"final8build\build-hashes-kept.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final8build\bytes-note.txt","607","C6DFC26CE4E84ECA2F9281824538C7136E5895EE90D9C0EB8895673ED7C73B5C" +"final8build\package.log","314","53CE1888F550AF895E0DAC02C8BB454695BD4EB88CDF2ED5D99BF9DB13945218" +"final8build\package\NTFSSecurity.5.0.0-rc7.nupkg","292257","22349C6F408CF5C120291CAFECFF309D7849F4631192DDE5AF7B7F0597DB8586" +"final8build\package\NTFSSecurity.zip","290124","3CCE2B255F0FFEAD3335EA543E76B1A506DE0758678E73E9B4A679487A8A06AE" +"final8build\package\NTFSSecurity\AlphaFS.dll","364544","A8DA47194AB0F71232C69D01955AD93BA73C7ECEB58D0DE800CA085D4A2E18D8" +"final8build\package\NTFSSecurity\NTFSSecurity.dll","83968","DFA943D15B9DA0580020625EB4741F635F70E1679D72046660E602470480842A" +"final8build\package\NTFSSecurity\NTFSSecurity.format.ps1xml","18813","FB0920CC37ED858F55AFD54998DC854E27FBBE6A0177CB059CB03CFE91361197" +"final8build\package\NTFSSecurity\NTFSSecurity.Init.ps1","2650","59583423241951EBE0FC2D8237D0C28C3ECC8C7CD2C115D2660F8579888632FC" +"final8build\package\NTFSSecurity\NTFSSecurity.psd1","3571","968514234BAAF16789A560C86A6F701F69E91262F1EAB62142DDF6D05A8D2A52" +"final8build\package\NTFSSecurity\NTFSSecurity.psm1","341","3F777E9D141EE0046119DA9D5ECF88A3BC7E023726098FE2FB150528E2FB59B8" +"final8build\package\NTFSSecurity\NTFSSecurity.types.ps1xml","5158","CB6882FF91E6716605D5599E7B464C3346E461216ACED07E847621738F04FB9B" +"final8build\package\NTFSSecurity\PrivilegeControl.dll","5120","585F8FFD630A75FDC1041C0AC50AF3FCE0719048A3D7ACE055D6BD44B855D5BF" +"final8build\package\NTFSSecurity\ProcessPrivileges.dll","23040","615774328D04633DE27ED78A1971AD3C09C0D9FA922C4DE7CDA3EFB6CA6A4ECC" +"final8build\package\NTFSSecurity\Security2.dll","53248","9B8AA25ADA31337388E9C2EDAD3D93B42D2EAE6EE7CF0146D85FFDABFB29A33F" +"final8build\release-build-hashes.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final8build\release-pristine-hashes.csv","4486","D452D061198030D6FF0FF2DBD4D5AFECC543383D40C0CBE1B5D213CA78F408A4" +"final8build\source-pin.txt","42","FD6DCFEC63D9A796AAD251A0CF7295F6F49A3F5AC12A4461C4063556E0E1E127" +"final9\basic-Core.log","209578","FB2B51FEF06BE2B9F7B18D3E574E33E23F27B43DA5512AE55EFCEADFCD127174" +"final9\basic-Desktop.log","202355","1CC9E66CCF31C38E02B98DDB7062403C85525A6FE73161D6C5A440B97784B531" +"final9\build-hashes-kept.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final9\collect.log","477","8FF56A90A1A77F75B9E0103B09976736695BA80F9A894A1A6486DD23A777EADF" +"final9\Coverage-driver.log","781","E6BFF05638B296412FEF03343A0F03E178FE9EB17398E4CF4649F0E31397129A" +"final9\coverage\basic-Core-summary.md","151","A97C6DFDFB9F84F6B0AE138187E34C01385601C8B5784AD5D44CD4E15457AC8F" +"final9\coverage\basic-Core.xml","691707","9D704D50E1345EAAA2755E204D3B411324AD820319FEC649B8A7B6109F7F7500" +"final9\coverage\basic-Desktop-summary.md","154","A7D20923886535D45160CFE61CC7E1FF90616739376D48F02D09265C5E06095F" +"final9\coverage\basic-Desktop.xml","691674","EA9293A968AED306DD8AECF1868BE9830C279E6BEA55345530BCE4F33B9B39C1" +"final9\coverage\coverage.xml","1627897","A4162534A004C02B9B1E769ECF024476BB5E99F3A22DCDB8974CB4CC29F82936" +"final9\coverage\elevated-Core-summary.md","153","DB16BADFAD4482AAC687F577DCC4496BBA578821059C447AD5CA63359EA5C5F5" +"final9\coverage\elevated-Core.xml","678560","CE0382ABCA66951D3776C368D50DB70BF975877877226A6546EB9DCB94FFEAFC" +"final9\coverage\elevated-Desktop-summary.md","156","49C3A62905C7CD10C99E703AD557D4C9071BBCBDBAF64C14220872F393D7A4A4" +"final9\coverage\elevated-Desktop.xml","678499","7D61F3A6A2DC49203D398479C954E2B38EF7CA231B11C56F8269017C16103E2D" +"final9\elevated-Core.log","213083","3E308A422FBCD1450FA206DE46D5BCE20F8F3220628F63D874E7507E76112240" +"final9\elevated-Desktop.log","205743","BF46D1A6E4320C51E0AB6A56DF51B4F21AB98F56CA9D3303FB8A042280495E11" +"final9\instrument.log","2311","3DD102F7235A4A1ED4ECBB0D47C88F5A1AA9D56051BF5FAE1641ADCC1E2FF4F6" +"final9\measured-assemblies.csv","4631","90476AD27AE8DC75F4987A19AF310D925919D9D0A357A39D6479A744659BA34B" +"final9\release-build-hashes.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final9\release-pristine-hashes.csv","4486","19B8300C95ABDAFBC07BC93AF1C2206CC63B0676454EA0612AB5B42C1A4F61E2" +"final9\source-pin.txt","42","3DEF3EED5D061219F9BD14AC11C46996302E8918BC7BE003399348F9976E950A" +"final9\Validate-driver.log","653","0B969B758FB1A5A1116AC448D81038B492E3D0829FE66A267EBD5D6A217B157A" +"final9\validate\basic-Core-summary.md","151","A97C6DFDFB9F84F6B0AE138187E34C01385601C8B5784AD5D44CD4E15457AC8F" +"final9\validate\basic-Core.xml","691732","83C6984370FCAF6059424873F7AD6B82095924BD1345FDB8CE59DA57E7532186" +"final9\validate\basic-Desktop-summary.md","154","A7D20923886535D45160CFE61CC7E1FF90616739376D48F02D09265C5E06095F" +"final9\validate\basic-Desktop.xml","691684","12560F0510A7A8A4F946A263F28DA9B2E88E39AC5CECA343701418599F717F42" +"final9\validate\elevated-Core-summary.md","153","DB16BADFAD4482AAC687F577DCC4496BBA578821059C447AD5CA63359EA5C5F5" +"final9\validate\elevated-Core.xml","678504","EA037F04F471818C84F0F1C85E67CAC07A530E06B8EBE6B424E8DFC8A0FD0E83" +"final9\validate\elevated-Desktop-summary.md","156","49C3A62905C7CD10C99E703AD557D4C9071BBCBDBAF64C14220872F393D7A4A4" +"final9\validate\elevated-Desktop.xml","678461","8E9667541B8A3A6BFEE03EC747BD5A0AF8694EB37A15FBE5660F4B38DAFB0636" +"final9build\build-hashes-kept.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final9build\bytes-note.txt","949","88F4BAA8ABE01685E8229251D25BDC1213CCD31F9C9AAFFD0661DE5EB4DE9E3D" +"final9build\release-build-hashes.csv","2652","45ABF591CC8247557E30CA74FB8EF5D9AA6E297F8F365E58D3489B28F8EF80CF" +"final9build\release-pristine-hashes.csv","4486","19B8300C95ABDAFBC07BC93AF1C2206CC63B0676454EA0612AB5B42C1A4F61E2" +"final9build\source-pin.txt","40","1B15C2A0B61F83D048C6068506D8612D980C33D60394642B9774D333B1FC6B3B" "impl\logs\accessparamsets1-basiccore.log","6672","0305C104C4657C4C5EA15240F1B9051ACC7DE45F9CFCD874E1DFCE9625E712A5" "impl\logs\accessparamsets1-basicdesktop.log","7546","5413972CEE6BCB38F56A06102F1FB15C0EF903104E6BD6939749D0117ACCBD4B" "impl\logs\accessparamsets1-driver.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" @@ -481,6 +719,38 @@ "inventory-final5\metrics.csv","531","598E9FE68C201DE07278420322C8F8302CA7A13874DC1C1B5469668D53ACFC0B" "inventory-final5\unvisited-methods.csv","54032","F37F941C268733DD0A4830CA7739AF8BC59356DA82109EB009B4A9480317D663" "inventory-final5\unvisited-points.csv","123423","14EAD8DCE3421817DA13F9EA76DDE2EAEF33714D77C60686660DF4E80533AFCE" +"inventory-final6\branch-summary-decomposition.txt","561","96DD4A1F5811F6161536C469E9187F35700444E713222C2AE82B8FBBCF50AF72" +"inventory-final6\metrics.csv","531","2107966C6F2B4B6B0E6775496AE47D491FB783CD318FABD0746462131E3B826A" +"inventory-final6\unvisited-methods.csv","53098","36D450D839BEBE07E3C2B062A5BB265F19C2CD64E0FCCC8D449B5FBDE9FD3D19" +"inventory-final6\unvisited-points.csv","122548","65151B7A51931D1CB725D56BE1F215DDFADDFC01E55C9B6B7381B59BA2C3219E" +"inventory-final7\branch-summary-decomposition.txt","561","FA034357C2A0B1679D16423D86675D00D256C2C15E9E260DCB399ACA8AA87E77" +"inventory-final7\metrics.csv","531","84033803D8250D29978856B7EFC0714F97BE8E1F692B825BBF8E439F2142781F" +"inventory-final7\unvisited-methods.csv","53098","77023AE323B784F4DD301093E9B5A77EEC1F05B565A43B3CAB9A46E07EE50983" +"inventory-final7\unvisited-points.csv","122509","16444ECA4A3A833FBFE0ABB0ABAAE88D19BB7471EB4C5735265D6B869439B261" +"inventory-final8\branch-summary-decomposition.txt","561","F3E72BC70446267E43A721ADF7DF1BC2E516BB93021140A6AAD833417B09E6AD" +"inventory-final8\metrics.csv","531","84033803D8250D29978856B7EFC0714F97BE8E1F692B825BBF8E439F2142781F" +"inventory-final8\unvisited-methods.csv","53098","77023AE323B784F4DD301093E9B5A77EEC1F05B565A43B3CAB9A46E07EE50983" +"inventory-final8\unvisited-points.csv","122509","16444ECA4A3A833FBFE0ABB0ABAAE88D19BB7471EB4C5735265D6B869439B261" +"inventory-final9\branch-summary-decomposition.txt","561","1482D607430056630E27C1A79E83EA6243130529A9ED4500EEBD8B16E14B7F77" +"inventory-final9\metrics.csv","531","84033803D8250D29978856B7EFC0714F97BE8E1F692B825BBF8E439F2142781F" +"inventory-final9\unvisited-methods.csv","53098","77023AE323B784F4DD301093E9B5A77EEC1F05B565A43B3CAB9A46E07EE50983" +"inventory-final9\unvisited-points.csv","122509","16444ECA4A3A833FBFE0ABB0ABAAE88D19BB7471EB4C5735265D6B869439B261" +"live-ap7\acc-ap7-Core-counts.csv","329","80B68D2170F1B6A8D9F7EA32855FFAB86D17A1F99B2230D2A22FB8B0FFB53E98" +"live-ap7\acc-ap7-Core-failures.csv","3","F1945CD6C19E56B3C1C78943EF5EC18116907A4CA1EFC40A57D48AB1DB7ADFC5" +"live-ap7\acc-ap7-Core-tests.csv","47060","629AE92E53435B871778E937BE6DD295E83C088DD4F9C5FD8D764EDCB93E4FA9" +"live-ap7\acc-ap7-Desktop-counts.csv","341","55B1611677859AAE52A7F980A90F7C564043D4264EEB4B395249A9259C9E94A6" +"live-ap7\acc-ap7-Desktop-failures.csv","3","F1945CD6C19E56B3C1C78943EF5EC18116907A4CA1EFC40A57D48AB1DB7ADFC5" +"live-ap7\acc-ap7-Desktop-tests.csv","47798","EBB89EE2FA33B15164014676DFEDF640D4922BB617FF2E58BA0DFD2A7D19168E" +"live-ap7\cleanup-1-snapshot.log","1243","D96261EE4F389C75B0D9D79902175F080CABAF01BE9899456BFED1A7D3B5C47E" +"live-ap7\cleanup-2-remove.log","89","0884070C949E9F95223F78BD3434AA15BAF777189308FBCB9B99BF943C35BD8F" +"live-ap7\cleanup-3-verify.log","1166","B9358DAD598E3A2B85002750D1CC3138228E18980E35F54D1809D7BBB2AD1C40" +"live-ap7\fixture-sids.json","554","33D5061C918966601FB5859CF750EA756D254146839558AEF863B50B2870202C" +"live-ap7\live-acc-ap7.log","2356","2D32E7B2A896E30FA72DAD2FC144B033B33594BD83558BA771F084903B54D8EE" +"live-ap7\readiness.log","3248","85855355CADD135EE64FA0A1A301F1FF2728A4D329D9D74F44FF49A8F708D17C" +"live-ap7\run-Core.log","1962","5D28FBFB49F1C1E23C9042F3898234658F7AAC14BA40694A5C1E6366161A08BF" +"live-ap7\run-Desktop.log","2010","AFB2A2066CA565B5CA908A31BBA31BFDF27898D24AE54947E8E3780C9AC806B8" +"live-ap7\validation-Core.log","631","7C29FE0DB73EC9694DF7BE1B1313204F8DCB74BA64BEF44A98AD8965E0AD0A1B" +"live-ap7\validation-Desktop.log","634","99700F8764546B77E347C212A7DC372FF9B82C78CDE6E5DDBE018295B0E2AE0A" "live-fix1\cleanup-1-snapshot.log","1244","5A463424D2A7996129B9CD6A38A6959458081877828CB7CD77997725E835FDA3" "live-fix1\cleanup-2-remove.log","89","84E55D64D8C7C7853AA8663DFBB6B49FA9FEA2C12B55F1F4F68868915BADD2E9" "live-fix1\cleanup-3-verify.log","1166","F6EBB9A877F67B27B8FB5B9B04A1491EC15E3853A1B6EADC42E6F0DE9255A289" @@ -580,6 +850,69 @@ "live-fl2\watch-Desktop.log","461","8197F213E17DA824B93041F6037293902A5692858A05CF2051EEF7AD9DEDD054" "live-inst2\coverage-template.xml","1507446","B29CAD26164A2667DCBE631DD74565638E192540CB48A45A1E4290CA8904BC06" "live-inst2\instrument.log","1809","41D55ABFF10F5C248AC1CD10BBDD637BDFD1A5F819FFE1B979CA82CFEBCAEDBB" +"live-matrix-ap8\ap8-OSFile19\ap8-OSFile19-counts.csv","646","0841BD8E97A9508FBC247BB381CFCAC57F6C2DF69C1DA2558DA9D30090DE1DCE" +"live-matrix-ap8\ap8-OSFile19\ap8-OSFile19-failures.csv","3","F1945CD6C19E56B3C1C78943EF5EC18116907A4CA1EFC40A57D48AB1DB7ADFC5" +"live-matrix-ap8\ap8-OSFile19\ap8-OSFile19-tests.csv","89008","E4474E73FB5A327CA0E998AB2AE6BA255F23B1B6AC4EFD348951DC1DCC03EBFA" +"live-matrix-ap8\ap8-OSFile19\cleanup-1-snapshot.log","831","265A48A8488300751685AEA18BF1AD00673E73A877425DD94353DE3EA4F80625" +"live-matrix-ap8\ap8-OSFile19\cleanup-2-remove.log","171","CAACAC75F77EA63C83B32DF277A74F21D8EF09232D80AA882BB13104C2EA7D60" +"live-matrix-ap8\ap8-OSFile19\cleanup-3-verify.log","1554","3C50969077B2848C013D8F79D433080F86BE1377D01B1B37D5E5027252952FDE" +"live-matrix-ap8\ap8-OSFile19\fixture-sids.json","393","ECF6F740FCA2CAA5E13C23D4737218845FE8D7B51B16931B4451C925C759B7FB" +"live-matrix-ap8\ap8-OSFile19\readiness.log","2747","1BF10EDA3FBDA0A8A75244E555BAED1E9E4E5A19C1A55F0408D5A2CCA277F0D3" +"live-matrix-ap8\ap8-OSFile19\run.log","3640","80C73DAC12C46C8AA78519F4DA8C02D7E01CEB8FC0A3580329D8702BAF1C0D2E" +"live-matrix-ap8\ap8-OSFile19\validation.log","1071","1B5070F6FF2E7CC960CC077B10150E0B3494937B5C0A4C435CD67643475AEE4F" +"live-matrix-ap8\ap8-OSFile22\ap8-OSFile22-counts.csv","646","0841BD8E97A9508FBC247BB381CFCAC57F6C2DF69C1DA2558DA9D30090DE1DCE" +"live-matrix-ap8\ap8-OSFile22\ap8-OSFile22-failures.csv","3","F1945CD6C19E56B3C1C78943EF5EC18116907A4CA1EFC40A57D48AB1DB7ADFC5" +"live-matrix-ap8\ap8-OSFile22\ap8-OSFile22-tests.csv","89008","E4474E73FB5A327CA0E998AB2AE6BA255F23B1B6AC4EFD348951DC1DCC03EBFA" +"live-matrix-ap8\ap8-OSFile22\cleanup-1-snapshot.log","831","1A25F7F41D6676A69E677C8D25A139C1E329B3A8F04D97B263FB7429C0019B7E" +"live-matrix-ap8\ap8-OSFile22\cleanup-2-remove.log","89","23FD42714B36F1D3FA7E1A84EBBF51BE0A420D04D7F9C6D14A402D245860E18A" +"live-matrix-ap8\ap8-OSFile22\cleanup-3-verify.log","1554","A0EC20CB6C0DDEA2D1092B786885B56E9925B3349491C0915A8D18344FAD4D03" +"live-matrix-ap8\ap8-OSFile22\fixture-sids.json","393","C6AA08F46A99105916C0CCFB1198BF6A2FF9627FDA7D65AB7E132487E511F2BA" +"live-matrix-ap8\ap8-OSFile22\readiness.log","2747","2014695153C1AA2EAC2383AD3E11B5F53DD8200DAD594B003D96858CA6F435FB" +"live-matrix-ap8\ap8-OSFile22\run.log","3640","C1ABDD743F7F016F50D682AE82D8A84B63703F579AA4562E81906CC9377AEC4F" +"live-matrix-ap8\ap8-OSFile22\validation.log","1071","1B5070F6FF2E7CC960CC077B10150E0B3494937B5C0A4C435CD67643475AEE4F" +"live-matrix-ap8\ap8-OSFile25\ap8-OSFile25-counts.csv","646","0841BD8E97A9508FBC247BB381CFCAC57F6C2DF69C1DA2558DA9D30090DE1DCE" +"live-matrix-ap8\ap8-OSFile25\ap8-OSFile25-failures.csv","3","F1945CD6C19E56B3C1C78943EF5EC18116907A4CA1EFC40A57D48AB1DB7ADFC5" +"live-matrix-ap8\ap8-OSFile25\ap8-OSFile25-tests.csv","89008","E4474E73FB5A327CA0E998AB2AE6BA255F23B1B6AC4EFD348951DC1DCC03EBFA" +"live-matrix-ap8\ap8-OSFile25\cleanup-1-snapshot.log","831","2A57B568DE3A835E5380D11C47D0CC7002CA7538B3B230EE730BC524CC8EA1D4" +"live-matrix-ap8\ap8-OSFile25\cleanup-2-remove.log","89","41756A1310EB6846AD3145F1E7A8AD232525555135EEFD5BF9F6A366EE1B1647" +"live-matrix-ap8\ap8-OSFile25\cleanup-3-verify.log","1554","DC3DB556F00C1FB128123BB56D1AEE80F06227D948E4B650460BA0B4568746D7" +"live-matrix-ap8\ap8-OSFile25\fixture-sids.json","393","5ADAECD4035053FC43012D9A22C73F3B6E579FEE2F7604FB35D5CCB565D6C43B" +"live-matrix-ap8\ap8-OSFile25\readiness.log","2749","DCF845A70C222B76621BC543E6FC998BBD5AF85DEE0129A6B4600AB63ED6EBD3" +"live-matrix-ap8\ap8-OSFile25\run.log","3640","2C36170BDB17BE8AF1CAE055BC19308DD2BE6EA1D253E4F0CC7B010A46F14DE1" +"live-matrix-ap8\ap8-OSFile25\validation.log","1071","1B5070F6FF2E7CC960CC077B10150E0B3494937B5C0A4C435CD67643475AEE4F" +"live-matrix-ap8\ap8-sequence.log","2138","19F04A4536C55895A77049649B546F93BE277DC8B13EBDD38F243E0DF69314C6" +"live-matrix-final\mxf-OSFile19\cleanup-1-snapshot.log","833","C702D834EF7C09EB6A6A2B4627408666675C9DDCA7C8D987838A74EFFA6690E6" +"live-matrix-final\mxf-OSFile19\cleanup-2-remove.log","171","1885198E3323CB67FDE5C3B4E3C161EC8EE9BBC42142D8CFEA0B1B58C29C84B9" +"live-matrix-final\mxf-OSFile19\cleanup-3-verify.log","1554","D81658243C7496E2E6FFFBB88C27AA7745B79DA27F14A46F5A3745F553AA5120" +"live-matrix-final\mxf-OSFile19\fixture-sids.json","393","A14BFE7B388CC8C68B65C1D3888733EEFA71BEB1F156EF572C6C0B882E3F14F5" +"live-matrix-final\mxf-OSFile19\mxf-OSFile19-counts.csv","646","0841BD8E97A9508FBC247BB381CFCAC57F6C2DF69C1DA2558DA9D30090DE1DCE" +"live-matrix-final\mxf-OSFile19\mxf-OSFile19-failures.csv","3","F1945CD6C19E56B3C1C78943EF5EC18116907A4CA1EFC40A57D48AB1DB7ADFC5" +"live-matrix-final\mxf-OSFile19\mxf-OSFile19-tests.csv","89008","E4474E73FB5A327CA0E998AB2AE6BA255F23B1B6AC4EFD348951DC1DCC03EBFA" +"live-matrix-final\mxf-OSFile19\readiness.log","2749","D357B84F31CFE5D36801FB4C870519C56040A64A8556937D58D00250EF4781BC" +"live-matrix-final\mxf-OSFile19\run.log","3644","361767533DC26F8B309428C99D58D970311A740535E4D8EA333287874333C41C" +"live-matrix-final\mxf-OSFile19\validation.log","1071","1B5070F6FF2E7CC960CC077B10150E0B3494937B5C0A4C435CD67643475AEE4F" +"live-matrix-final\mxf-OSFile22\cleanup-1-snapshot.log","833","B9570A37DA04EF58ABE1BB2604F69B9CC55EE86348D66E03BBA05628B1999DFF" +"live-matrix-final\mxf-OSFile22\cleanup-2-remove.log","89","274451B69FC4CD6C01E5471F599ADF7A1F028D645BE4578EFF3A322F13ED9458" +"live-matrix-final\mxf-OSFile22\cleanup-3-verify.log","1554","DFD99C42DCB12ECF748CA60A12B9C8B784961E8E657A00C118BD5A823A31CBCC" +"live-matrix-final\mxf-OSFile22\fixture-sids.json","393","E2FB91A47B28E7CA89EF542169913AB301C8283B788C35707194F81EA201CE21" +"live-matrix-final\mxf-OSFile22\mxf-OSFile22-counts.csv","646","0841BD8E97A9508FBC247BB381CFCAC57F6C2DF69C1DA2558DA9D30090DE1DCE" +"live-matrix-final\mxf-OSFile22\mxf-OSFile22-failures.csv","3","F1945CD6C19E56B3C1C78943EF5EC18116907A4CA1EFC40A57D48AB1DB7ADFC5" +"live-matrix-final\mxf-OSFile22\mxf-OSFile22-tests.csv","89008","E4474E73FB5A327CA0E998AB2AE6BA255F23B1B6AC4EFD348951DC1DCC03EBFA" +"live-matrix-final\mxf-OSFile22\readiness.log","2747","06D51D78A41861E9E877587ECD01F3ECCCC7B2EA6AAAB8DBC3CBB57E21074EE9" +"live-matrix-final\mxf-OSFile22\run.log","3644","8DB5E0E828F16C4573C324C40131895AF2CFF633A7E468EA147014CA13A8FEE8" +"live-matrix-final\mxf-OSFile22\validation.log","1071","1B5070F6FF2E7CC960CC077B10150E0B3494937B5C0A4C435CD67643475AEE4F" +"live-matrix-final\mxf-OSFile25\cleanup-1-snapshot.log","833","38758E6E84B60837C884E97271AAE425FBA936B4AF83EB9A8E80B8E8D7FD9B71" +"live-matrix-final\mxf-OSFile25\cleanup-2-remove.log","89","2EB9D07CE1CF1679425CDDC98C8390A5889B45F6CA00F121717B9CCD7C97ACAB" +"live-matrix-final\mxf-OSFile25\cleanup-3-verify.log","1554","DE0DEDCDC66319A13268336909B6D90100B93B43D1483AD68433517164BEAEDF" +"live-matrix-final\mxf-OSFile25\fixture-sids.json","393","71B2A0375CACF0C1C0D430492F6751668FF2A88B83E162C852EBFAADE0574251" +"live-matrix-final\mxf-OSFile25\mxf-OSFile25-counts.csv","646","0841BD8E97A9508FBC247BB381CFCAC57F6C2DF69C1DA2558DA9D30090DE1DCE" +"live-matrix-final\mxf-OSFile25\mxf-OSFile25-failures.csv","3","F1945CD6C19E56B3C1C78943EF5EC18116907A4CA1EFC40A57D48AB1DB7ADFC5" +"live-matrix-final\mxf-OSFile25\mxf-OSFile25-tests.csv","89008","E4474E73FB5A327CA0E998AB2AE6BA255F23B1B6AC4EFD348951DC1DCC03EBFA" +"live-matrix-final\mxf-OSFile25\readiness.log","2749","4DDFAE483D30F080ACBD1A2FD980180CADB972F4F221C07648FE0C29C7D7991C" +"live-matrix-final\mxf-OSFile25\run.log","3644","13EE1CC184E2E2AC2B32885F0184E02E6C7D783DD2D28734423CC90BA4EC5708" +"live-matrix-final\mxf-OSFile25\validation.log","1071","1B5070F6FF2E7CC960CC077B10150E0B3494937B5C0A4C435CD67643475AEE4F" +"live-matrix-final\mxf-sequence.log","2139","850D4CBB3ED336B82F7C4E6232EF0E182EE675C64141E9CD5C0107CE38FF12BC" +"live-matrix-final\readiness-pre.log","2745","190361F46EBFB886473B80F0B3E4CEC2CBDA28308B882A0365B8EC507DE9AFB6" "live-matrix\live-mx1.log","6769","9DC6A4F63A6EAA059932BFE69010B4EDE1D11D8F51A2B7F81A8D1349B1404C9C" "live-matrix\mx1-OSFile19\cleanup-1-snapshot.log","827","D064C36EC0343A3A33DBEFAEC3A1F57CCD2B473B25B44C2F1A3E5B497F3823F8" "live-matrix\mx1-OSFile19\cleanup-2-remove.log","171","D30814204AB1D913CE80D9629DE14CFA77F115FE2B98F8AB73D19F9CDB4DB80C" @@ -635,6 +968,152 @@ "live-matrix\mx1-OSFile25\snapshots-OSFile25\snap-006-20261010203854.xml","1507446","E4BCD07F8778E51F52458C788BA94EA1610FD0D63EE02EDCF7CE2EFF16513C95" "live-matrix\mx1-OSFile25\validation.log","1071","1B5070F6FF2E7CC960CC077B10150E0B3494937B5C0A4C435CD67643475AEE4F" "live-matrix\mx1-OSFile25\watch-OSFile25.log","758","7B6D097B47B6A494C9D5902F38197E48FC5FE26D8585CC9204DE98B1ED12AE9E" +"localsuite-ap6\s-ap6-localsuite-summary.csv","1581","469E1764A1EA292E1954271579B47C3C78F8E0C1F623B8BA5DBDEA4D0A2982B4" +"localsuite-ap6\s-ap6-localsuite.log","5723","AE103CC7F222E1DCBBE55C0CC65B67DD22F936CCADBADF019204BB2C14A786C8" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core-basic.console.txt","1628","8565ADEE86481783712F19C6BACD322C96F9705000B9366CDDF5A6E8ED118431" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core-basic.json","39755","515652738DD8DEE4049BBD3F81531F5210BB48D47C05A6439C111DBE3311FE00" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core-basic.log","43040","8A6F041E5426A729E5A0771696E01635E989B3FC830869BAFF0FDAFC157C3624" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core-basic.xml","570249","D7FB1C6BE8956EFFC02EA16F99414AF0700E804F0777733B1B18DA26D4B76AF1" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core.json","2959","131834F9129957A028433F734DD552DE0A37ED960E44D37E1DD369AE84B4829B" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core.log","6130","8FBED3C112971F64836B28DEEDA87181EC2E6B3A9842657F44A42CCD34AE071A" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-core.xml","557048","D9ED6CF85FFDCB710A86EC15915F1B5DE4210A73EF8F947D6ADD56F52FE9FE11" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop-basic.console.txt","1628","642492414C45995582C684446759C353EF0A4B860B1C75680F546341E33F5F35" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop-basic.json","48923","EEEDF8E8EDC99C781B92B9F05654B90C929A5846AFAED46793267E022BB65F77" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop-basic.log","41924","76F3FCE882511B29B1643522494EB61349DDE0FD9D753352AB360F827800A69A" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop-basic.xml","570194","0B74E69B7DDCAC5B92516F0D3FCAACE3A14A6EB0BC808F135D7FC5C03F7BAF92" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop.json","3309","250698156253DD4F0B93C9418E355654F8B970B607CE84CCF985631DFA35A1AA" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop.log","5823","7118A60132F16578E351DD03E225BE69A1CA87A4CABAC4968B7F0EC8F0EADDC9" +"localsuite-ap6\s-ap6-OSFile19\s-ap6-osfile19-desktop.xml","557052","6A57C5E9278551091021F36AFE1F75BA0FFEE75B06CA6E3D389E60597F17F44D" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core-basic.console.txt","1628","B5827B069CD40346970817B23B6D4470135CFD8D94233C2A186C0AA9D3EC7C0E" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core-basic.json","39755","C7A1DC00421B07909E87F56F6E6FD00369BECE31E488617CD00735BB523D4D00" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core-basic.log","42706","533BC9C710C1CCE4FA5CE1A79457E95BEAF00297A49986DC4EDE81ED67F8A4F3" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core-basic.xml","570259","A6666FD2D984A9F93B5DD01108E85506F7A6C926DB2C7FBA861F847E3E733DD0" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core.json","2959","0EDDF5AC1E0F709D1107FBE428D81FA72C7E9E32D72C6D8E2BD8876C5F56A39C" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core.log","6131","A2F6567DE2EC2FBBDD51546DC814754233B0784B40A8A3F36BF85767AF7E4221" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-core.xml","557035","BE87E40E1AF5A087F86F464FB43C9179B51D22422CCA4EB463ACD198E8663A8E" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop-basic.console.txt","1628","A39B6D314CFFA3D0D03B84BDE378505DC9592B9919344200F86678156D997BEA" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop-basic.json","48923","CB5E22413AE23A1D1E095B7A22050D1ED0A60E80C5DFA345A704A52079702111" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop-basic.log","41925","A346B49D1BA57D55F6F565B21D0A701397B810B67F1065F3F94DF0F43DB865E4" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop-basic.xml","570201","521591CC875CE894B358C030EEE2643AFF45A39B41868D36C195B96ACD330AF7" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop.json","3309","9F51D2841558337511829965548F697C20564DCA3D4ADE7B733F2DF2335FD7BF" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop.log","5342","19C478E495F6058EC19E2AF3D2856F1A271AA44E86E88C79387FA28A6D99421E" +"localsuite-ap6\s-ap6-OSFile22\s-ap6-osfile22-desktop.xml","557067","8CDF50E590AC063A74A889024F6732F7BEC4D58A11CB84314C23B88950A1E778" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core-basic.console.txt","1628","112FEBD3D929AFB610C560C6BC72B5E6ACE95BA743DEBA696BDFD035A73BF2C3" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core-basic.json","39756","232097FD0C36B7B85EA2151E46322011D18826AB2F1A8C2F7504820896771A66" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core-basic.log","42717","946C27651B1A3C81A503F5D6C297A67B10F0AF30A0EA7A5342BF0D74FF3B6532" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core-basic.xml","570281","35D589AC30CA5DAC0C7C140015D130F045A318B2BA9323380FE7B8CD51B60552" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core.json","2960","15DA168EA0B6998FA39090DE7860AFDC53CED03EC812B80FAA94E75B62BA6DCD" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core.log","6133","315D77F226B96A12A679E92C179A4606DF7C3D1663060AD9695A150A4A1670DD" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-core.xml","557070","D73ADCDE929675F63167F9EC716E5B687E53822140444E5C74D979ED0656752E" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop-basic.console.txt","1628","DEF6BAF60BC7901B3E5CC3A41990D016EC8423C291853ED49E54E07F81049B78" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop-basic.json","48925","477AD1418983704419829C0C119E8433E8C56529C819CFF9B56F75F2C1537655" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop-basic.log","41927","FA32E80DDACEE90A8D2B9A61861F4BC156A6EFCC2BB426F0A2B77EBF53B00696" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop-basic.xml","570186","53D28BD4A0AF584B69297C314795D01CC5530AA9807590226D0A5D6A94A4FB5C" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop.json","3311","ACBF1C15201B8D50C963ACE54238038B892C915ED278FBDB7EB3EE56563CA12A" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop.log","5349","82D2AFAF152D38817CDB9C90BC54867C5AEB92431118737A61115BF65104C9AD" +"localsuite-ap6\s-ap6-OSFile25\s-ap6-osfile25-desktop.xml","557053","F595700EF844D072E1FBF198EF590920E9B8AB488005FD97F8479867934412C4" +"localsuite-ap8-client\sc-ap8-localsuite-summary.csv","526","454FC6D1203BA9D709215259D4230E74D64F8FC2898F73DABA7FE3215BCF9D0B" +"localsuite-ap8-client\sc-ap8-localsuite.log","2544","4129A9AAEB5E7D176C14627102511F2802407D2C7319D8BB2996030C6BBDE75C" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core-basic.console.txt","1708","5AAC8BA41F7E2B9B2CE188922B5F7E844AF0890A2BF66C28A65AEB40C329467C" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core-basic.json","40953","8D48196F1D13073837A2C8EF0382358337EE31FD5B80FF9E83B1742C47C28E0E" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core-basic.log","43948","374C67060D404C9226E0D7A1B11061BE44042CEC9E469E4C55C9688636164741" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core-basic.xml","577276","E2BADA5D2510165CA6C071E6B1DDF5EAA018EF8B382B489172E3985094B0AE88" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core.json","2943","43EC2AC9BDA3B9B52646662356F4E3497051FE8A1D67D4C4BFFCDEB904A731B2" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core.log","6138","B6F347E40C8C671F44C14B291E490530396D2E6AA108F454EFA9F9C4C3727C46" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-core.xml","564064","99887B26F66E2BDD9957CBC824DD948A97BE0AD5B8BAFDBEB3C022A34BD3238C" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop-basic.console.txt","1708","402DFE24099985C4CE0629781649226E11599CA6499BDBE9EFA6D18FBF215D25" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop-basic.json","50269","6084D73F4CCA5545477AD855E355419A3033C0CF7D6CCB2EBE744B894807891E" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop-basic.log","43135","258A1A71D654B91263FCF74CE62CE4D5AEEE4E954DED4CA797880F2832B23F4F" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop-basic.xml","577223","D08E2958F5E7D15AD5A7DB6E3434A3DF3ACA72C89A5104BD86ABC141E68AB5C4" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop.json","3293","54D062D1FCB9C4BBF80A1E4B349CE0A81864D891DC205950A34F677F0992EDBA" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop.log","5327","2B43F43DB8B17C945665B6BEC36434BB40E4A2BA16B513C324D9F9E8C91FDAD7" +"localsuite-ap8-client\sc-ap8-OSWin11\sc-ap8-oswin11-desktop.xml","564060","E3E389A653553895F303874E2FC4B0B6D942444B03E54A2A5029DEA1E0EACAFD" +"localsuite-ap8\s-ap8-localsuite-summary.csv","1581","95987DF0DCA27F8FF0BF1EC59644018C4730306EC37632F35DEAB3B5877BAF1F" +"localsuite-ap8\s-ap8-localsuite.log","5723","363803ACF13678BA852364C57BEFAA37DBE1724F0EE2D824C9CB8263A480030A" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core-basic.console.txt","1628","B48B7C60B792FF9AF47315C11B36A07183DD943FF8AD6CD7AC9758891CA318E5" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core-basic.json","40970","3858510E13F7640A6EC500581C477CC81448BE940EE0106D64A650CF4298D49D" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core-basic.log","44259","2AF826BA0C7254CAC903C0575D191642CE1E4DE24E430FF9C0AD932570608A0F" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core-basic.xml","577258","F1B86EDD204CEF7DEE23BC9D4712EBDA5DD95793264E1A921FB1515F06863E73" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core.json","2959","AC4AA3C25A62CEC9A25016B268226BD0B957AF901B386DE95435CB32B2F3A99B" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core.log","6454","983839664ED5A05310B03555BDD3989F993B52C553D09D329878AEF98FAD0101" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-core.xml","564023","2FBB960BF7FBF294CF3C87E51E8F6AC111D89FDB15FCFDAA4B403B0F43167445" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop-basic.console.txt","1628","C9D5181003E503E05631ED00431C640F35DACF85F74427B80E883079B82B5565" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop-basic.json","50285","DD05E4F1A80EE3D253D71A310786FC429273C768C6734A51D314CD92C57BC787" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop-basic.log","43637","D0095A5D3A1536983584A0A5BC9F9467B10F820AD7220DCBE52301535D91604C" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop-basic.xml","577205","E00F78ECCCA5DC6F241F0160E0C3AE8AED9E17565CD2935747343D4178A384F9" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop.json","3309","BE9C96939CD5713CDC5C6EC7B0C19BC568AE014DB3BEC876E780B42B2C3746B2" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop.log","5820","3615ADD930C3495E852F3C402887EF96B1EA8D2B613C7177A971D56D2FB392F7" +"localsuite-ap8\s-ap8-OSFile19\s-ap8-osfile19-desktop.xml","564033","72EA58663E50ABCB310F4746619F337612AA3B3DA2BC2DF9393A7F5E6E259E51" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core-basic.console.txt","1628","8DC5C98A1E7807172A709280263F43A638D3CCCE8C407D6E254B8A8444EAD656" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core-basic.json","40970","1F46423BE0DF3497D5CF569F625181D2B044D2BB7B4F3F0E6B26166506DBD818" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core-basic.log","43941","1D71C6AB71DC5944EE6ABC99F141008268C39AC6714C4B3BFD55DD0BCE3A68A2" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core-basic.xml","577275","B7EEFF1B650C4E747BF11711310E0219786895660301AF259AAAAC57A23441D0" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core.json","2959","6C03371E24305688AA80BA09917360034DA3E58CD11E2FC7062F8C3E580B3E1B" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core.log","6123","41C5BC61DDF00D6D08D781435C474EC15DC4960ABAD2EBF43F71B3DF17BA0F8D" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-core.xml","564033","6143C2A5CD8FB3EE38917F29CEE039F7C132E487389168200F45A6B574C6B620" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop-basic.console.txt","1628","4A2D3F9712A759D70530A6DA5FB16F99DFF798A67CD1F4B831D0ACD865A4D399" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop-basic.json","50285","B9AB156FBCC4E851B9CA41F5B8CA029A11095DB94783CEB743EA6E2DE963CBAA" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop-basic.log","43155","4E355EAF11D5C173D0D74C6610E88531CBE669FEE55B5EFF5CAE93A950B558B7" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop-basic.xml","577205","E98ACE64F939B8CB0394DF2DDE1724D77FA513AD8FCB7F7570D86E016B1F96B0" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop.json","3309","5A9AFA3677EFF28ADD76A868ABF2E1F91BF4BF79AE6C1912238A1C2E7DDA612B" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop.log","5342","43C9241C049A98E29006F827307AB969664C49DC8E0436E1605B0919633A50B0" +"localsuite-ap8\s-ap8-OSFile22\s-ap8-osfile22-desktop.xml","564031","CA9CC25120B2D6F6F4A187D6F3CC5210C0E1A9E9986092AFD83EA23952049BC8" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core-basic.console.txt","1628","F682C092090D299B75A80190CB7CB642B4433AF5C6E1D7FA187CC5B9C89EECAE" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core-basic.json","40971","F9183E29EF15F1EE355658528291A58977554EC575D913A5FC1FCC8F7146D655" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core-basic.log","43946","A03AB1BACC5AD25E09FE60324DAE8471FB06439B19D0FA59F90BB4F42056CE42" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core-basic.xml","577267","44769216BC725DBBC2C4226BB369D644C67631A3281281B25BF7648FFC79E2B7" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core.json","2960","03DF4F43F7BF0BA8C873B701528BE465FF69AB56A5DD083F18D70BAB6F902624" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core.log","6138","22160E5BE2C2C4253EC374C0E65A94B221301816C88BA80119C9A93F41162C3A" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-core.xml","564044","22247ADF73DED567F41B37E92182FA62082772A7C46C440DEB90DBF795D4D777" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop-basic.console.txt","1628","B255D4607C75AA57BF5EAB2826760F66B6B37ABCF5225E9C6506CD2A485760A2" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop-basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop-basic.json","50287","3BA7AF6FE89B2BB2B83B88ABCC595E33FBDFE9C24376F9F118BDFD42A23217EF" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop-basic.log","43157","88C36C51F7348839F9DFE1DE8B2EDDD65A598C1D9014791BD72AB48B0BD68E28" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop-basic.xml","577173","E641DBD32FFEB229A480701094A69F9CA9BA1FFD18B905804C9E069388FB0574" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop.json","3311","FBF33E1E41D0A2FCCA59E8B3D44A26710C8223734360E39ED0ED2825C9D303D1" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop.log","5349","EB37F67805C92C52389EF29DCF7806A93F21F922F889E60C2EB90C4CBC31A9BC" +"localsuite-ap8\s-ap8-OSFile25\s-ap8-osfile25-desktop.xml","564038","92B3187BD3246A95C792EF3F756B87D220A6B541452011C5C6435C71EAD32840" "localsuite-final\fix1-localsuite-summary.csv","1581","F2CC8E9CAC5BEB07FA73ABA47A175BD12507B2FFE18193D82ADA965327B59D03" "localsuite-final\fix1-localsuite.log","5706","ABE30704BCEE073371B88682CCE8E57624AC222973A3E0EAED36708D1FBC11C6" "localsuite-final\fix1-OSFile19\fix1-osfile19-core-basic.basic.exit","3","13BF7B3039C63BF5A50491FA3CFD8EB4E699D1BA1436315AEF9CBE5711530354" @@ -885,6 +1364,16 @@ "merge\final-vs-final2-summary.csv","141","A09DCC9619DA35F03236F00432BBF130816A30FAFE116F8A29C76694C696A6EE" "merge\final2-vs-final5-points.csv","1733030","1476778B231BF6AB27E34E10BD2FC25B519349C1CA9FBF4279E5EB68C91974C6" "merge\final2-vs-final5-summary.csv","145","EA31F66EEEA740869A283FB0CF1642232AB8EB8AA10DBCE03360056CD444A675" +"merge\final5-vs-final6-methods.csv","35029","39AAD6BAD5AF9663EB155A3C88F0101735728F3E2B0F854907D1B14E378ECFE3" +"merge\final5-vs-final6-points.csv","1682103","8F6B71E97F969DE42F479C9175009C3AD9E6D25108CE5A800B0E8A4EF51FC475" +"merge\final5-vs-final6-summary.csv","142","F40A63BF3C9AD8EA0181F2F5737C6AAB64364407D451BFCC06AFF4BA464E0D84" +"merge\final5-vs-final7-methods.csv","35379","795AC82C3D5B42FC2CC74C507257F789D8ECB7B8056801933C5B72E1DCF51D56" +"merge\final5-vs-final7-points.csv","1746820","E223F9C8F1829D58CD04553DF0FAFED354DD7D1D234F3310E74BBB0CF64E512E" +"merge\final5-vs-final7-summary.csv","145","C11467653C4E3CF1634E1680438309EBC85A67700F1AFEF83A6A4C0FDD499CC6" +"merge\final7-vs-final8-points.csv","1706569","2DFFCB09C516C7295D06C0B096E27AE66E35A9B9A71FC5B52318E0CD14D19BB7" +"merge\final7-vs-final8-summary.csv","142","FC43743C94880949FD6587A0F2F6E99C4EF6CE4817DA38220AA0C933DF15BB0C" +"merge\final8-vs-final9-points.csv","1706569","75D78FFE72CD4B75F4B536E5FCC71BAC1C213C7191EC2E99844F6B07ABA19D19" +"merge\final8-vs-final9-summary.csv","142","CFD7C582A0C2B95B633F0AB60A6F20C79B4DF6F7AE259E7B3C78A97F5DB2920E" "merge\fl2-core-roles.csv","895952","FE129DF904723DCC3A1BB41045EEBF5A1C39B83B8D2E47B557BF77E277F5DDD6" "merge\fl2-desktop-roles.csv","895952","FE129DF904723DCC3A1BB41045EEBF5A1C39B83B8D2E47B557BF77E277F5DDD6" "merge\ls25-procs-roles.csv","1011635","8EC69240552A0C28482348042E7F25F92AEAB0DA4B810FFC789EF08115DE5062" @@ -904,7 +1393,7 @@ "paramsets\scan2-Invocations.csv","136653","CAD2D0ABCB880112F66ED0C2BBC8D7CAFCE027E33B02B7F71D1FF228FFA092F8" "paramsets\scan2-ParameterSets.csv","7030","31A8D051CD44D7FD447C91BF526DCD7FFD1C5D40E97FDBD22CB329AC781D0739" "paramsets\status-access.csv","9433","4D66D6C4D83BF895EDEB5AD59F9CCC15735F417EA5212CC113C6DB8175E576A5" -"paramsets\status-audit.csv","7076","CC69B4BEEF85D0A78F3967802741B665E4C2B99846A35B604FD11C1F693BECD4" +"paramsets\status-audit.csv","7057","EBC0A0A29B6F28001085D4D113A6774C04B7318DCD40E6DFDBBB7C66E670203D" "paramsets\status-inheritance.csv","9244","CB34F2B6D0665FAA749ECF1182342A2E696633868BCF41ECD354E589FCA84502" "paramsets\status-items.csv","7339","855825A7BA046460B32DB28E4AE9DBD6F46DACCF01F230B6C9F905E8C5066260" "probe-auditdenied\console-Core.txt","51","995FAE4F9651D22FBD890ED27583AB088A396CF1D565C0740A8E3C876DA8DF80" @@ -924,6 +1413,14 @@ "probes\alphafs-filter-tr-TR-Core.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "probes\alphafs-filter-tr-TR-Desktop.txt","633","FA5111B03D6420DD4EB07D08DADC04DF26F151FF2F08D81E6C8277E030E295F0" "probes\alphafs-filter-tr-TR-Desktop.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"probes\csv-blank-baseline-Core.txt","1639","287B06E70EAB869EBC2C4EFA24FC5DF1867C0EDBEBBF2A8932AEC324954A0BFD" +"probes\csv-blank-baseline-Desktop.txt","1652","4B86E102A0A695CD8A3629B8CD41A38D82A03869EEE55981D5D4A9306577C4D6" +"probes\csv-blank-final6-Core.txt","2041","671EF842F7766029A6B170D8B3B7835550A1B704AF12C3033B2BBCFD5B733CC5" +"probes\csv-blank-final6-Desktop.txt","2054","AC14340540F7AEB7D9AB7119083470FBFF46973091FA05592387A3356435E098" +"probes\empty-appliesto-baseline-Core.txt","1514","88A4147B99553FFFE55879FEF963F8377EA92F91295D37098FBE4D721AF40156" +"probes\empty-appliesto-baseline-Desktop.txt","1527","45288E9EDCA83245371CF80D6E0672A13833672966EE367D6095C080F1B80119" +"probes\empty-appliesto-final7-Core.txt","1500","96303A9B78655F4C25EB3B8F7EBF4F8FB6B746A2095B5E6DEB62FCBB5C9C4066" +"probes\empty-appliesto-final7-Desktop.txt","1513","0F873745E0A6327D25CC95C1AC9C6E14739ACECC402F4E81C1E76E199D8D07F8" "probes\eq-mechanism-Core.txt","513","B75FC4335885E0A7F246432EF1C302B9E9A6E0926618898568DAA2DBD2FEFA45" "probes\eq-mechanism-Core.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "probes\eq-mechanism-Desktop.txt","526","B261A797410A85057FADF3394B9152971A251D10BC4305D6EE670004F8BFE788" @@ -947,14 +1444,40 @@ "probes\inspect-final3.txt","442","513A1CE3D11E12576B5AE1E50E5FDA6C3EB8EA422D39ABA3E90538B75874DB89" "probes\inspect-final3.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "probes\p-alphafs-filter.ps1","2438","703C2AA017754D2544F47E9DEE5F0EA65A0B1FA4B9574EA7D1C6B5D637BC6112" +"probes\p-csv-blank-appliesto.ps1","6111","2C8B887522C134A203CE378DA022BF1B043250E329B79DCC1A9D8B255E980DB6" "probes\p-culture-identity.ps1","1349","D8C6A69419F7B4640EE03036F7F8AA86C0B848CD603A42AFB8B5C906E8E267CB" +"probes\p-empty-appliesto.ps1","5418","73F77AA11807A0B904FADC1F25F66BFC23812B96EC7DB928AF202DD3018CC450" "probes\p-eq-mechanism.ps1","1630","54024D56309EF63044F1C9D5AE5B5CD14B701B0B6FB0B4EC601CA932FA3E74D3" "probes\p-inspect-alphafs.ps1","1223","5D6DF52FC1F7235B014E66DD75791CF495328FD18A04B1D0886230F626403F48" "probes\p-inspect-wildcard-options.ps1","1145","96F11476BEECF0D97B7C870C7D115B23F3F6C2D69C0151D47B210C0B7AA46A05" +"probes\p-parameterset-binding.ps1","6703","D3687DDC462D6101DA392B22BA5F7DEF2F79178BCDB8E77461FB2D8F6067763F" +"probes\p-parameterset-binding2.ps1","6215","28673FD62D8429BC17C5F7B37D4063995881F022F4AB0001473D8CE4EFC2480B" +"probes\p-proto-appliesto.ps1","7151","BD8CA06D69331CB4F1F94F1142347FBED004C3073B95F3ACE6703747A63EF014" "probes\p-remove-audit-appliesto.ps1","4162","270CDC29BEF564E215633A408D7C97C0D8C439ED7D7885A05837C6D442D60243" "probes\p-review-probes.ps1","3929","3114234D7B9C1A94C69721B3783D2A01E061ED1AE61BCEA61BE9A25CD23632A0" "probes\p-review-probes2.ps1","5287","F9032A076FD5C35E2D648880169AC92E0662A0C0774CAE17652907DB86F4B717" +"probes\p-unconvertible-appliesto.ps1","4911","ED37EABD34239D66905EC30E1A997E013C0686489BF0CDE863C55DDD75F22097" "probes\p-wildcard-culture.ps1","1284","D52049088DB4F8B1DBF36F3003D6AFC8F408928D95ACA968101F0346A00925A7" +"probes\parameterset-binding-Core.txt","2330","A82E36A9DFCD79A5B8083241E14E12DF86A772D21827D25203D3945BC124831B" +"probes\parameterset-binding-Core.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"probes\parameterset-binding-Desktop.txt","2343","826A284F50C59F544CE79BDCA0AC28FDF8FF3E008372283B83C36AA396700A14" +"probes\parameterset-binding-Desktop.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"probes\parameterset-binding2-Core.txt","3739","9F014AFBEF59F441FA4492D0FE334CE38D62765A29692FC9FF2119645F702625" +"probes\parameterset-binding2-Core.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"probes\parameterset-binding2-Desktop.txt","3752","B050F196B03E93492292A743FF050674717BB694E107E4E73955E22D6BACF40F" +"probes\parameterset-binding2-Desktop.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"probes\proto-appliesto-baseline-Core.txt","2110","26E3DD65ACA98AE602F34366969D1EC7CFE165F04B59D06B90F815AEC0903288" +"probes\proto-appliesto-baseline-Core.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"probes\proto-appliesto-baseline-Desktop.txt","2123","C632FFF90E5E26479A0C6A14A237BD285CEEDADCCDE473B21938781E9BAD9215" +"probes\proto-appliesto-baseline-Desktop.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"probes\proto-appliesto-final6-Core.txt","2165","BCFD55AAFA164AE456B1BA4E8EFFE1DB4BBE03EF925DEC105A7B2B12F9FB23D0" +"probes\proto-appliesto-final6-Core.txt.err","2","7EB70257593DA06F682A3DDDA54A9D260D4FC514F645237F5CA74B08F8DA61A6" +"probes\proto-appliesto-final6-Desktop.txt","2178","6EEA264301C4F8D8B64C63807CC034A70EF80681C04872A5EB879D6E8553982D" +"probes\proto-appliesto-final6-Desktop.txt.err","2","7EB70257593DA06F682A3DDDA54A9D260D4FC514F645237F5CA74B08F8DA61A6" +"probes\proto-appliesto-prototype-Core.txt","2180","B85F3D5160EB413EFED8B5E965AF9F8F78668EE47A355D46F2291C65388B8605" +"probes\proto-appliesto-prototype-Core.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"probes\proto-appliesto-prototype-Desktop.txt","2193","031679C28A23677C3250ABA11232C891B6C440CE2B42D1070158E18E4131C634" +"probes\proto-appliesto-prototype-Desktop.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "probes\remove-audit-appliesto-Core.txt","916","AB89D8F7430D65DEC790A196DAAF0DE398B361D2FE8E9EF8A665E82BB4B1B24B" "probes\remove-audit-appliesto-Core.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "probes\remove-audit-appliesto-Desktop.txt","929","6556C81D5E0CDCFF03BEAE387A97AF37669290FA982A5393AC7458A9BD1FB91F" @@ -981,6 +1504,10 @@ "probes\review2-Core.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "probes\review2-Desktop.txt","1877","9A7177F60EA09D2D268821A8DB62E37D81F58DBCAFE26E5EA1F62F7FEE0CCF51" "probes\review2-Desktop.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"probes\unconvertible-appliesto-Core-baseline.txt","2529","CA716AA97D6D310C66D6CD8F6C3CCB6C5A45779CAFA0910934B79AE2F15AF41D" +"probes\unconvertible-appliesto-Core-final8build.txt","2316","8AAA480AA9E11035CF9A94037A41A9537A10779CF1B862F2E8AADBF36F05BB4E" +"probes\unconvertible-appliesto-Desktop-baseline.txt","2542","4B49774147FBB201EE5D089C00E11A8FCD80B002A7AC5C6E95FD3ECDC416A20D" +"probes\unconvertible-appliesto-Desktop-final8build.txt","2329","AADCB1018307F97D98F51C9ED0A11553D3F6E6FCB1373EE8D3552605FEF16A12" "probes\wildcard-culture-Core.txt","668","E2522EBB6237FCA6FE164F95FA4DF6031FA900DD5D42F2DA3D08005F595F29BE" "probes\wildcard-culture-Core.txt.err","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "probes\wildcard-culture-Desktop.txt","681","B48A3DC1594D60DB3A974BB2B490214938471EAFBC04272D2E1D917F52F25C6A" @@ -1059,9 +1586,10 @@ "scripts\Build-Classification.ps1","5100","986DEA432707F4C5FBB9DD7A0E0923873A87E3A049834A6E0B2519FBB71E28E1" "scripts\Build-LabCandidate.ps1","4013","38FD290525B16085136F41F1C13901B6450BE4EEC5B47CE37CA0630EC05F95F5" "scripts\Build-Release.ps1","1801","E77471CA18FCA52A62B55CFEB46E5193A16EEDFD590F390FCF620A1DECB365C9" -"scripts\Build-ReportTables.ps1","26101","9CC0C338D761626F712D4FF66B3A0E6489B3CF6675E057A84B0732DBB7912038" +"scripts\Build-ReportTables.ps1","34161","4CA2BA008A34D24B0531DE271DF3F85C7BE766FCCA7253B6F2244DD7E9210576" "scripts\Chain-FixStages.ps1","3766","F9584FE923199E5452600A82AFA85F7C55D8479F79B8152D1166CE90BEE86BCC" "scripts\Chain-LabStages.ps1","4367","8EDD0F04DDCA9A601DE000BE8F7F723C16CF1106CFFB6C9006832D9A3EAB9F59" +"scripts\Chain-Reaccept.ps1","7655","5ECCCAB2117ED8FF26AA75EAC1E52559F9AEB059E230C452ADEEA6C754EBFF96" "scripts\Chain-Remeasure.ps1","5756","84104A32AB8CDF4A6DBDE026EB18F53CEC2C61A3DBDCA2785DF500CF3C530130" "scripts\Classification-Rules.ps1","38080","933FF483157FCB9A19452FEBF0C629773D136455B5FA015FA942E421A84FAFE9" "scripts\Compare-Eligibility.ps1","2453","BDA7A8EB0BC229A0A2C6D5D54D12288497F2714ED279964DA7F875A2626516A4" @@ -1080,6 +1608,10 @@ "scripts\probes\p-eligibility-run-final.ps1","403","C6DBC7618F74DE9FA3732FA7B5CBB59CB7A3EFBCE489702310877753653D0EB0" "scripts\probes\p-eligibility-run-final2.ps1","405","22390BB7C7DC66365E3175DCCDEE35F2A4DB60AFFAD9476CDCC3CFF01748AA5B" "scripts\probes\p-eligibility-run-final5.ps1","405","C85D78A6783C6E36C3E9BA6B4F73664BF37C050771285B429953389EFD9A992C" +"scripts\probes\p-eligibility-run-final6.ps1","405","4EE41F478124EE2921C4683032DB5D0A865199C03E9AD866E79F17FD09C467D7" +"scripts\probes\p-eligibility-run-final7.ps1","405","EE16B3CD30DC142063FC91495271EB1DEC921002E9DF414F68B0E95A29E57764" +"scripts\probes\p-eligibility-run-final8.ps1","405","4DA5822F359B5933B57B128FCD5BA7D406AABDBAA0AF08903458FFD29DD747F2" +"scripts\probes\p-eligibility-run-final9.ps1","405","9E1CCB5D4AD1D43C39C8EF7527A1F92B53387E20C6FFD2BAFA19F486FB853B9F" "scripts\probes\p-eligibility-run.ps1","409","7A24D770818542B46BE4C8553E39D60D7DE2B66745840E745D35A08A94AA0EBF" "scripts\Run-AcceptStage.ps1","2852","C5BEF3384F92EF9AC772583527C8C6AE56054911D08484F0BF853CB81BE8EE0B" "scripts\Run-Configuration.ps1","790","0C7E8394C041DCFA184ED73E43F75EB507BF6349D1DC2F6F55BF65BB4C59EF80" @@ -1104,6 +1636,22 @@ "scripts\Verify-Client.ps1","3175","A393752B513E4421DFB5DA7CFDE53F0EB89E144189871EE57FC658FB8D7E6E30" "scripts\Verify-Labs.ps1","3778","689CC193182EC3074207411D08D875F1E23A85099CD3389A6951AA1B4E9A829E" "scripts\Watch-Coverage.ps1","2083","3B7268534E4FCA20668B19EE10B9F659658BA1560F0D9630F46AE1320CD74222" +"stage-accept-ap6\err.txt","594","94EF14E5D9E145C5326A20EC2C4A1A83302AD7523F6AD1F30BDC1E188831FB50" +"stage-accept-ap6\out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-accept-ap7\err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-accept-ap7\out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-matrix-ap8\err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-matrix-ap8\out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-suite-ap6\err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-suite-ap6\out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-suite-ap8\err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-suite-ap8\out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-suitec-ap8\err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-suitec-ap8\out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-verify-client-ap8\err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-verify-client-ap8\out.txt","177","41277D2BCCAB0C02A3BD9E991720EBE1BB5DA51E898249E0773853DA8449725B" +"stage-verify-labs-ap8\err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"stage-verify-labs-ap8\out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "tdd\green\build.log","95901","6FCFF8AC36FED9BA0D8A06710C8B80E8109B1D74B8CD27AD41C8F30427A7121E" "tdd\green\focused.log","588","5CE4518134BE172D938966A39584A1DD5FE69EDFDCEBFB37285D571F20B159B9" "tdd\red\focused.log","1292","CF94A48C941BC1BF29FF5DB281A9ECA963CF9A6F51BC86DE5ABD0A97ED900386" @@ -1151,6 +1699,91 @@ "tdd2\red\tdd2red-LOCAL\tdd2red-local-desktop.xml","61467","97B55359B23CDBED073AEFFA1294669C7079619AF210D103916A5EC88F38A879" "tdd2\red\tdd2red-localsuite-summary.csv","569","7E495BA4B3521AB47932DB53B0101526C90D27D745FEFCA39446FBF5DC4C20C8" "tdd2\red\tdd2red-localsuite.log","2300","394AE2960E03FC070A1096E9660963F58B8A67514BE1126ED9523F80E14A70A0" +"tdd3\mutA2-elevatedcore.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd3\mutA2-elevatedcore.log","19311","A806E5F6D4FAF38C6CA52A3BE8AFD4F2E52FBFD5A8AFCCA19B03109386516B3D" +"tdd3\mutA2-elevateddesktop.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd3\mutA2-elevateddesktop.log","22153","D5EB557F1D0F749B579CF0A74273EA3B8EDAC81E440B1E794D57A3A62DC0DB8B" +"tdd3\mutB-elevateddesktop.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd3\mutB-elevateddesktop.log","22148","A2936A5BD9A6DB43EB428256D34074E975E95528F5507042B78A0127EE15861F" +"tdd3\tdd3green-basiccore.log","34940","0496609DD4083C96F71BD78B31A22BEAE4F25B6591B1D09A4FE01CA7703BA97F" +"tdd3\tdd3green-basicdesktop.log","39497","2AE7A000AD076A2A2257EF8560D95A6294075173C6774AD0089497295D173564" +"tdd3\tdd3green-elevatedcore.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" +"tdd3\tdd3green-elevatedcore.log","28869","40B51C4BE0BBC706EB0F812086611A89E82340683B93DC8EA66BAD01931D7495" +"tdd3\tdd3green-elevateddesktop.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" +"tdd3\tdd3green-elevateddesktop.log","33447","45A3E2765B7B29FB30E075F655E6AB4884127777F9F79D5BDD560B9CFA13190C" +"tdd3\tdd3red-basiccore.log","45042","E65839E47B90D4027F297D54169F04A7233B9F0678E6174C65B2C3B0D55B79EB" +"tdd3\tdd3red-basicdesktop.log","49853","455C171BD5FAA2740131D734275FC322F6F688B7E533108434FEC545DAFE5332" +"tdd3\tdd3red-elevatedcore.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd3\tdd3red-elevatedcore.log","42734","712B131D3324E4E7944892507ECADC8072FCF177C91EFE0AF506F0A6D8068419" +"tdd3\tdd3red-elevateddesktop.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd3\tdd3red-elevateddesktop.log","47699","314F9001DFB372C01B581498EF4011CC474F210F9F63C3297012A37700E4E9E4" +"tdd3\tdd3red2-basiccore.log","30412","C25858E5CEFB9EDF45F558680F1390F2B4D806A665722CE30F44C5F9F5D672E7" +"tdd3\tdd3red2-basicdesktop.log","32753","45F5E6463794EF1FB40A6979C5AF404AD6F9FD8928CAD9CE9919542D777FBCD4" +"tdd3\tdd3red2-elevatedcore.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd3\tdd3red2-elevatedcore.log","28319","80C4EBC681B359B00D3E93F55F0257461B297ECDF03BAAEF474959C7EB0776FA" +"tdd3\tdd3red2-elevateddesktop.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd3\tdd3red2-elevateddesktop.log","30784","419985922C197DC1CA9980617E12572CAEBDE40FE1170BEB85276BD0B31A51CB" +"tdd4\mutC-elevatedcore.log","18844","ED8A2FEE44E48680BE71D51920E31AD2AB941A913CC7EAA5DAAF5E1B4A530A72" +"tdd4\mutC-elevateddesktop.log","21685","BB0BDC96E8452DD45CD8983EF70AC0FD6F3E5C04C8D708FB173D6BAC77BBF82F" +"tdd4\tdd4green-basiccore.log","37700","F1F2009B6788E299569480E999E72A3A4E48CB5F7C24B98204DF31440EFEDBA9" +"tdd4\tdd4green-basicdesktop.log","42508","9FAE0A25A7E1B4F61B3746F665BA4D5A893C119EFA2E2B048C0F30B5B87A6A52" +"tdd4\tdd4green-elevatedcore.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" +"tdd4\tdd4green-elevatedcore.log","30625","3000E92395C8731377A9FBBABB9B4C0AAF0136BC70338F7F50BC1720C4461C93" +"tdd4\tdd4green-elevateddesktop.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" +"tdd4\tdd4green-elevateddesktop.log","35454","27A2881AD618296195A9A450BBF7995B0DEFA9B4053D97887DDDAA227DCF5D94" +"tdd4\tdd4red-basiccore.log","28948","E208D6AA8C7FD8848F4B4598D446BBC2445915E75FBA2F0CE5E793CF393AE4E6" +"tdd4\tdd4red-basicdesktop.log","31411","E21C35BE5405AB523459EE2DCDCA3A50F1A63E973E03E1EEE6BB59D4D03E9A58" +"tdd4\tdd4red-elevatedcore.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd4\tdd4red-elevatedcore.log","28571","F326A63009DDC579F846682A7D33561B351E0A090B43814AD4D2DF96AB07D423" +"tdd4\tdd4red-elevateddesktop.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd4\tdd4red-elevateddesktop.log","31236","D7FBFCDFDA0486BDBF2DBF4B0591C34E5293D625E79CF49CA3736224134A3380" +"tdd4\tdd4red2-basiccore.log","28842","676931410E5B93652F7F627CBBC710096FFB9BD6EE42069BBA467CCEBDA3AA51" +"tdd4\tdd4red2-basicdesktop.log","31326","D97B6C3F21F78BB15BA9C47ED6A99FD0583BDE074C44FABD6D35A72DF1174B40" +"tdd4\tdd4red2-elevatedcore.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd4\tdd4red2-elevatedcore.log","27679","51823694C46F7C2666A18769D6388DC5436E5D70D1C4AE9D1AE894BDA28F8085" +"tdd4\tdd4red2-elevateddesktop.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd4\tdd4red2-elevateddesktop.log","30346","7F05D4829584E492B42D32AAD0A8C64B7C11F86B0C0E4D64FDCB694B10CFFEA9" +"tdd5\tdd5-basiccore.log","24071","17481CC56D3CA63CB09889B848C8433BBF9B98EFE4D0C2F74DBC39D38673E9A5" +"tdd5\tdd5-basicdesktop.log","26399","F166BBF614B4E062AF69CC6BF4E1B282266406D998C414D755241CB23B4B21DE" +"tdd5\tdd5-elevatedcore.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" +"tdd5\tdd5-elevatedcore.log","17451","40456723A08D57B51A111F4CC2FF8645AE692B1142A84B86E05E45B0CD8062F0" +"tdd5\tdd5-elevateddesktop.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" +"tdd5\tdd5-elevateddesktop.log","19764","452B86C677B006E9B71027329998E7DC218FC342FF2C8A2A52056DDEAABCC79A" +"tdd5red\logs\tdd5red-basiccore.log","45341","D35DED651B65616F6FD4E5FA17920842A0EF8B5223597F86219D9B06DEF88EB2" +"tdd5red\logs\tdd5red-basicdesktop.log","48268","6BD7B6B64C1C59D190963970CB85FDAB42A56BFEE840EC6D9611CB6A6D22E981" +"tdd5red\logs\tdd5red-elevatedcore.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd5red\logs\tdd5red-elevatedcore.log","52052","8713040B419890803BA80526F806777CA26538C58D98D4A594603899C71FB5A4" +"tdd5red\logs\tdd5red-elevateddesktop.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd5red\logs\tdd5red-elevateddesktop.log","55434","A7F7A65ECEA5EE66D982038DE6F9A4E09B2D53FF0097CBDF3E15FFB321AE0D96" +"tdd5red\Tests\ParameterSets.Access.Tests.ps1","50920","A28BD3E81A13DA49FADD8B37768EC4F8DF0C7EED80B6265F194A513C1CF466DB" +"tdd5red\Tests\ParameterSets.Audit.Tests.ps1","49286","876F96B27D90A5C4630FEFBCA81AC8442773D8D8F5E39135AF38F843A9156EF6" +"tdd5red\Tests\TestHelpers.psm1","22699","71977658F99A4E3510A4A886A1A537EDB91255140D6B27301A59BC8D2D30C651" +"tdd5red93\logs\tdd5red93-basiccore.log","31715","BB5914805989A6AD55B54D04835A13A9D29BE8C3BAF3BE27D774ACF92146BB06" +"tdd5red93\logs\tdd5red93-basicdesktop.log","34282","2F3A58331609E3470EAA9F6348AEF5BFF1F0FC35804B8B6F0129F892F54B975A" +"tdd5red93\logs\tdd5red93-elevatedcore.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd5red93\logs\tdd5red93-elevatedcore.log","32520","BCFF813170F16C9CB405B94CB34BD517601511D51235086F2ED864C630A13721" +"tdd5red93\logs\tdd5red93-elevateddesktop.exit","1","6B86B273FF34FCE19D6B804EFF5A3F5747ADA4EAA22F1D49C01E52DDB7875B4B" +"tdd5red93\logs\tdd5red93-elevateddesktop.log","35332","73CAC0FF367933E0EA014B6D672F94E4C561CB9AD54467790CE6030066BA64FD" +"tdd5red93\Tests\ParameterSets.Access.Tests.ps1","50920","A28BD3E81A13DA49FADD8B37768EC4F8DF0C7EED80B6265F194A513C1CF466DB" +"tdd5red93\Tests\ParameterSets.Audit.Tests.ps1","49286","876F96B27D90A5C4630FEFBCA81AC8442773D8D8F5E39135AF38F843A9156EF6" +"tdd5red93\Tests\TestHelpers.psm1","22699","71977658F99A4E3510A4A886A1A537EDB91255140D6B27301A59BC8D2D30C651" +"tdd6\sandbox\Tests\ParameterSets.Access.Tests.ps1","50920","A28BD3E81A13DA49FADD8B37768EC4F8DF0C7EED80B6265F194A513C1CF466DB" +"tdd6\sandbox\Tests\ParameterSets.Audit.Tests.ps1","48849","214015374B25D80688CDDFF0CA8755E751AC6D248C239A7DCE03D0921E0DCB28" +"tdd6\sandbox\Tests\TestHelpers.psm1","22699","71977658F99A4E3510A4A886A1A537EDB91255140D6B27301A59BC8D2D30C651" +"tdd6\tdd6-basiccore.log","24192","4594D4FC9D656B0B213ABBCF7E62903856F5439B4756463FDDA338F7C1A51918" +"tdd6\tdd6-basicdesktop.log","26517","FE1B1CE768B98ADB5ECDC3BBD104128C4283214DB4FBA6AC142274D5A438F0AB" +"tdd6\tdd6-elevatedcore.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" +"tdd6\tdd6-elevatedcore.log","17567","CD909B97423237E96BA972D02B856D035988769D216D60C801113F74479B200F" +"tdd6\tdd6-elevateddesktop.exit","1","5FECEB66FFC86F38D952786C6D696C79C2DBC239DD4E91B46729D73A27FB57E9" +"tdd6\tdd6-elevateddesktop.log","19885","9C90AC1E9E4D1529925F3C1B8A62C92DD73E9EF9C325B186ADE87D6E353B27DE" +"verify-ap8\vf-ap8-client.log","276","56ED26A288B009F6A71EEE550CC6A50E66D6B4F7D3F2914E804653DAD4529792" +"verify-ap8\vf-ap8-firstlab-verify.log","1166","633724245494F916F84ECD3E828C376F30AED9C1C0910FA2BC923622CF251704" +"verify-ap8\vf-ap8-firstlab.err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-ap8\vf-ap8-firstlab.out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-ap8\vf-ap8-matrix-verify.log","1229","A01F703E9CC33A7DAE12342E12D9D1225A6B55215DF885BE3C280195AFBC31E1" +"verify-ap8\vf-ap8-matrix.err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-ap8\vf-ap8-matrix.out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-ap8\vf-ap8.log","480","F02EC3247E50AE0CD16397216894D7F3B0C65E9CFA7F8DA5BA2BDF74134669DB" "verify-final\final-client-verify.log","276","E2B7850AF54088FD359AC216DB3DA9A9560F539C682F12B5298FFF1681D724E6" "verify-final\final-firstlab-verify.log","1166","A6F75177D3FD8E0EDC7B5CE65E718B1AA33BFF0B9E814E299AE82026C0C7FC16" "verify-final\final-firstlab.err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" @@ -1159,6 +1792,15 @@ "verify-final\final-matrix.err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "verify-final\final-matrix.out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "verify-final\final.log","476","32FB8B3086CEA351097D66FCD74370E870868993E50C2C046C035E11BB5A85E8" +"verify-final2\driver.err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-final2\driver.out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-final2\vf2-firstlab-verify.log","1166","B098DA1DA3F2356EDB186CA001001E6F2969B6A2D77F6C3216457C21BB1EEECA" +"verify-final2\vf2-firstlab.err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-final2\vf2-firstlab.out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-final2\vf2-matrix-verify.log","1229","670792861DA6B0EC4F3E72534E6477B8996C27CA14547A8A40EAF7289695F07C" +"verify-final2\vf2-matrix.err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-final2\vf2-matrix.out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" +"verify-final2\vf2.log","468","2927D3B5A8CCB8B1476F195DBD3CB2716038B93CC93AEB9C76A1262C2F0EC5F2" "verify-pre\pre-firstlab-verify.log","1166","36FD2B24500F3C3A333689D772B8B82C427C7154FD8FFACFA140053F1DDBE824" "verify-pre\pre-firstlab.err.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" "verify-pre\pre-firstlab.out.txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855" diff --git a/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-ParameterSets.csv b/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-ParameterSets.csv index 1657ec6..647e6c3 100644 --- a/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-ParameterSets.csv +++ b/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-ParameterSets.csv @@ -1,36 +1,36 @@ "Group","Cmdlet","ParameterSet","Default","TestInvocationsScan","LiveInvocationsScan","AmbiguousInvocationsThatMayBindIt","BoundBy","StateAssertion","ErrorAssertion","PipelineInput","Continuation","OutputAssertion","KeyTests","LiveEvidence","Gap","GapKind","Evidence","StatusAfter","NewTests","Remaining","Reason" -"access","Add-NTFSAccess","PathComplex","True","33","6","1","36","Yes","Yes","No","Partly","Yes","Access.Tests.ps1:740 Should write an AddAceError for each item, change nothing, and return nothing with -PassThru | PathErrors.Tests.ps1:178 should keep the denied item unchanged, report , and process the next item | Access.Tests.ps1:807 Should write all entries of the item after the change | PathErrors.Tests.ps1:230 Add-NTFSAccess should take ownership, add the entry, and set the owner back","6: SMB share as delegated and domain accounts - add keeps the owner (#34), add by foreign-domain account name, deny-entry fixtures (Live:253, 877, 927, 987, 1038, 1280)","No test pipes anything into the set (FileInfo/DirectoryInfo, or objects with Account/AccessRights properties), and none combines -PassThru with one failing and one succeeding path: continuation (PathErrors:178, no -PassThru) and no output after a failure (Access:740, all items fail) are asserted in separate tests. Several -Account values, a Deny entry written through -Path (type, no Synchronize) and positional binding are untested.","TestNeeded","Access.Tests.ps1:740-751 asserts ErrorId, category WriteError, TargetObject, ArgumentException, no output and unchanged SDDL for two failing paths; PathErrors.Tests.ps1:178-192 asserts one error with the blocked target, its SDDL unchanged and the next item's entry added; Access.Tests.ps1:807-815 asserts type, entry count and the added entry of -PassThru. BoundBy = scan 33 + PathErrors:108 and :178 (& $Command) + PermissionScopes:86 (splat, Form=Flags, Source=Path); about 14 of the 36 calls are the subject of an assertion, the rest are fixtures.","Partly","ParameterSets.Access.Tests.ps1:61,62 Should add one explicit entry for each path bound through the pipeline, by FullName and by property name, leaving the rest of each item unchanged | ParameterSets.Access.Tests.ps1:91 Should write one AddAceError for the blocked path, leave it unchanged, and return -PassThru entries only for the path it changed","several -Account values in one call; a Deny entry written through -Path checked for AccessControlType=Deny and no auto-added Synchronize; positional binding (Add-NTFSAccess $path $account $rights)","budget (all three; proposal 1c was traded for the pipeline and PassThru-combined tests)" -"access","Add-NTFSAccess","PathSimple","False","6","1","2","8","Partly","No","No","No","Yes","PermissionScopes.Tests.ps1:86 Should add and remove using
on , preserving the other account | PermissionScopes.Tests.ps1:110 Should apply only to its intended descendants, including the OneLevel boundary | Access.Tests.ps1:1035 Should name the folder of an inheritable entry, also with -ExcludeExplicit | ObjectApis.Tests.ps1:747 Should name the item of a descriptor and write it to a folder by its path","1: SMB share - Deny ReadPermissions entry with -AppliesTo ThisFolderOnly as a fixture of the unknown-parent case (Live:1039); no assertion on the set itself","No test makes the set fail (missing path, denied write, deny entry without rights), pipes into it, or reads its result back with .NET: every read-back goes through -PassThru or Get-NTFSAccess. -AccessType Deny with -AppliesTo and the exclusion of -AppliesTo with -InheritanceFlags are untested.","TestNeeded","PermissionScopes.Tests.ps1:86-94 asserts type, flags, rights and ConvertToApplyTo of the -PassThru entry for 13 scopes (Form=AppliesTo, Source=Path) and :110-133 asserts which descendants inherit it, both read through the module's own cmdlets. Access.Tests.ps1:1035, Inheritance.Tests.ps1:326/365/474 and ObjectApis.Tests.ps1:747 use the set as a fixture. BoundBy = scan 6 + the splats PermissionScopes:84 and :86 (Source=Path); 2 of the 8 calls are the subject of an assertion.","Partly","ParameterSets.Access.Tests.ps1:113,129 Should report a missing path's error by category and target, still scope the next path's entry, and keep binding -Path through the pipeline once -AppliesTo selects the set | ParameterSets.Access.Tests.ps1:572 Should require -AppliesTo only in the Simple parameter sets, -InheritanceFlags/-PropagationFlags only in the Complex parameter sets, and reject combining -AppliesTo with -InheritanceFlags without changing the item","a denied write for this set; a Deny entry without rights (-AccessType Deny -AccessRights None) for this set; -AccessType Deny combined with -AppliesTo","budget (all three; the write-denial code path is shared with PathComplex and already covered there)" +"access","Add-NTFSAccess","PathComplex","True","33","6","1","36","Yes","Yes","No","Partly","Yes","Access.Tests.ps1:740 Should write an AddAceError for each item, change nothing, and return nothing with -PassThru | PathErrors.Tests.ps1:178 should keep the denied item unchanged, report , and process the next item | Access.Tests.ps1:807 Should write all entries of the item after the change | PathErrors.Tests.ps1:230 Add-NTFSAccess should take ownership, add the entry, and set the owner back","6: SMB share as delegated and domain accounts - add keeps the owner (#34), add by foreign-domain account name, deny-entry fixtures (Live:253, 877, 927, 987, 1038, 1280)","No test pipes anything into the set (FileInfo/DirectoryInfo, or objects with Account/AccessRights properties), and none combines -PassThru with one failing and one succeeding path: continuation (PathErrors:178, no -PassThru) and no output after a failure (Access:740, all items fail) are asserted in separate tests. Several -Account values, a Deny entry written through -Path (type, no Synchronize) and positional binding are untested.","TestNeeded","Access.Tests.ps1:740-751 asserts ErrorId, category WriteError, TargetObject, ArgumentException, no output and unchanged SDDL for two failing paths; PathErrors.Tests.ps1:178-192 asserts one error with the blocked target, its SDDL unchanged and the next item's entry added; Access.Tests.ps1:807-815 asserts type, entry count and the added entry of -PassThru. BoundBy = scan 33 + PathErrors:108 and :178 (& $Command) + PermissionScopes:86 (splat, Form=Flags, Source=Path); about 14 of the 36 calls are the subject of an assertion, the rest are fixtures.","Partly","ParameterSets.Access.Tests.ps1:72,73 Should add one explicit entry for each path bound through the pipeline, by FullName and by property name, leaving the rest of each item unchanged | ParameterSets.Access.Tests.ps1:102 Should write one AddAceError for the blocked path, leave it unchanged, and return -PassThru entries only for the path it changed","several -Account values in one call; a Deny entry written through -Path checked for AccessControlType=Deny and no auto-added Synchronize; positional binding (Add-NTFSAccess $path $account $rights)","budget (all three; proposal 1c was traded for the pipeline and PassThru-combined tests)" +"access","Add-NTFSAccess","PathSimple","False","6","1","2","8","Partly","No","No","No","Yes","PermissionScopes.Tests.ps1:86 Should add and remove using on , preserving the other account | PermissionScopes.Tests.ps1:110 Should apply only to its intended descendants, including the OneLevel boundary | Access.Tests.ps1:1035 Should name the folder of an inheritable entry, also with -ExcludeExplicit | ObjectApis.Tests.ps1:747 Should name the item of a descriptor and write it to a folder by its path","1: SMB share - Deny ReadPermissions entry with -AppliesTo ThisFolderOnly as a fixture of the unknown-parent case (Live:1039); no assertion on the set itself","No test makes the set fail (missing path, denied write, deny entry without rights), pipes into it, or reads its result back with .NET: every read-back goes through -PassThru or Get-NTFSAccess. -AccessType Deny with -AppliesTo and the exclusion of -AppliesTo with -InheritanceFlags are untested.","TestNeeded","PermissionScopes.Tests.ps1:86-94 asserts type, flags, rights and ConvertToApplyTo of the -PassThru entry for 13 scopes (Form=AppliesTo, Source=Path) and :110-133 asserts which descendants inherit it, both read through the module's own cmdlets. Access.Tests.ps1:1035, Inheritance.Tests.ps1:326/365/474 and ObjectApis.Tests.ps1:747 use the set as a fixture. BoundBy = scan 6 + the splats PermissionScopes:84 and :86 (Source=Path); 2 of the 8 calls are the subject of an assertion.","Partly","ParameterSets.Access.Tests.ps1:247,259 Should report a missing path's error by category and target, still scope the next path's entry, and keep binding -Path through the pipeline once -AppliesTo selects the set | ParameterSets.Access.Tests.ps1:769 Should require -AppliesTo only in the Simple parameter sets, -InheritanceFlags/-PropagationFlags only in the Complex parameter sets, and reject combining -AppliesTo with -InheritanceFlags without changing the item","a denied write for this set; a Deny entry without rights (-AccessType Deny -AccessRights None) for this set; -AccessType Deny combined with -AppliesTo","budget (all three; the write-denial code path is shared with PathComplex and already covered there)" "access","Add-NTFSAccess","SDSimple","False","2","0","2","4","Partly","No","No","No","Yes","Access.Tests.ps1:898 Add-NTFSAccess should still take -AppliesTo for a security descriptor | PermissionScopes.Tests.ps1:86 Should add and remove using on , preserving the other account | SecurityDescriptor.Tests.ps1:355 Should write the descriptor and report a read error for -PassThru, not a write error","0","Only InheritanceFlags for ThisFolderOnly is read back from the descriptor with .NET (Access:898); the 13 scopes are checked through the cmdlet's own -PassThru, and no test pipes descriptors in or passes several. A failing change (for example a deny entry without rights) ends the cmdlet with a terminating error and no test pins it (open item 1).","MaintainerDecision","Access.Tests.ps1:898-902 reads the rule from $sd.SecurityDescriptor with .NET; PermissionScopes.Tests.ps1:86-97 asserts type, flags, rights and, for Source=SecurityDescriptor, that the SDDL on disk is unchanged (13 cases). BoundBy = scan 2 (Access:898; SecurityDescriptor:355 is a fixture) + the splats PermissionScopes:84 and :86 (Source=SecurityDescriptor, Form=AppliesTo).","MaintainerDecision","","all 13 scopes read back with .NET for Source=SecurityDescriptor (only ThisFolderOnly already was, pre-existing); piped descriptors; several descriptors; the failing-change (deny entry without rights) terminating error, not pinned","budget (the 13-scope/pipe/several items, notes proposal (b2)#1 not implemented); MaintainerDecision (the failing-change open item)" "access","Add-NTFSAccess","SDComplex","False","14","2","1","16","Yes","No","No","No","Yes","Access.Tests.ps1:822 Should write all entries of a security descriptor after the change and leave the item unchanged | Access.Tests.ps1:887 Add-NTFSAccess should apply the entry to the folder, its subfolders, and files by default | SecurityDescriptor.Tests.ps1:81 Should write the entry as the only explicit entry of the item | PermissionScopes.Tests.ps1:86 Should add and remove using on , preserving the other account","2: SMB share - descriptor written back keeps the owner (#34, Live:316) and the fixture of the later-command cases (Live:1151)","No test pipes descriptors into the cmdlet, and arrays of descriptors appear only as fixtures of Set-NTFSSecurityDescriptor (SecurityDescriptor.Tests.ps1:306, :324; PipelineControl.Tests.ps1:211). A failing descriptor (deny entry without rights) ends the cmdlet with a terminating error and no test pins it (open item 1).","MaintainerDecision","Access.Tests.ps1:822-827 asserts that -PassThru writes as many entries as $sd.SecurityDescriptor holds, one new explicit entry, and no Everyone entry on disk; :887-892 reads the default flags back with .NET; SecurityDescriptor.Tests.ps1:81-86 asserts exactly one explicit entry on disk after Set-NTFSSecurityDescriptor. BoundBy = scan 14 + Access:872 (& $_, asserts only no throw) + PermissionScopes:86 (splat); 5 of the 16 calls are the subject of an assertion.","MaintainerDecision","","piped descriptors into the cmdlet; arrays of descriptors used only as Set-NTFSSecurityDescriptor fixtures, not asserted for Add itself; the failing descriptor (deny entry without rights) terminating error, not pinned","budget (the pipe/array items, notes proposal (b2)#2 not implemented); MaintainerDecision (the failing-descriptor open item)" -"access","Remove-NTFSAccess","PathComplex","True","13","2","2","17","Yes","Yes","Yes","Partly","Partly","Access.Tests.ps1:539 Should write a RemoveAceError for each item, change nothing, and return nothing with -PassThru | Access.Tests.ps1:617 Should remove an inherit-only entry that Get-NTFSAccess returned, and nothing else | PathErrors.Tests.ps1:178 should keep the denied item unchanged, report , and process the next item | Access.Tests.ps1:651 Should take only the requested generic right from the entry of the account when another account has an exact entry","2: SMB share - remove keeps the owner (#34, Live:264), remove by foreign-domain account name (Live:886)","No test combines -PassThru with one failing and one succeeding path, none asserts the type or the complete entry list of the -PassThru output, and the pipeline test pipes a single entry per case. Several -Account values and positional binding are untested.","TestNeeded","Access.Tests.ps1:539-550 asserts ErrorId, category, target, ArgumentException, no output and unchanged SDDL for two paths; :616-620 pipes Get-NTFSAccess output (binding by property name) and asserts the exact SDDL minus the entry in 3 cases; PathErrors.Tests.ps1:178-192 asserts the next item's entry is removed after one error. BoundBy = scan 13 + Access:617 (pipeline, resolves to PathComplex), PathErrors:108 and :178 (& $Command), PermissionScopes:99 (splat, Form=AppliesTo, Source=Path); all 17 calls are the subject of an assertion.","Partly","ParameterSets.Access.Tests.ps1:157 Should write one RemoveAceError for the blocked path, leave it unchanged, and return -PassThru entries only for the path it changed","the -PassThru output's count is not checked against the complete entry list of the surviving item (only non-emptiness, type, FullName, and absence of the removed account); the pipeline test still pipes only a single entry per call; several -Account values; positional binding","budget (all four)" -"access","Remove-NTFSAccess","PathSimple","False","0","0","2","1","Partly","No","No","No","Partly","PermissionScopes.Tests.ps1:99 Should add and remove using on , preserving the other account","0","Only the -RemoveSpecific form with -PassThru is bound (13 scopes, Form=Flags); removing rights without -RemoveSpecific, a Deny entry, a missing or denied path, several paths and piped input are untested for this set, and nothing reads the item back with .NET.","TestNeeded","BoundBy = 1 although the scan found 0: PermissionScopes.Tests.ps1:99 binds -AppliesTo when Form is Flags (add with flags, remove with -AppliesTo), 13 cases with Source=Path; it asserts that the account's entry is gone from the -PassThru output and the keeper stays once (:101-102) and that Get-NTFSAccess finds nothing (:103). No other test binds -AppliesTo with Remove-NTFSAccess.","Partly","ParameterSets.Access.Tests.ps1:179 Should take only the requested rights from an entry scoped by -AppliesTo without -RemoveSpecific, keep its flags, and leave another account's entry untouched","a Deny entry's rights-reduction without -RemoveSpecific; a missing or denied path for this set; several paths in one call; piped input","budget (all four; the shared path-resolution/write-denial code is already covered for PathComplex)" +"access","Remove-NTFSAccess","PathComplex","True","13","2","2","17","Yes","Yes","Yes","Partly","Partly","Access.Tests.ps1:539 Should write a RemoveAceError for each item, change nothing, and return nothing with -PassThru | Access.Tests.ps1:617 Should remove an inherit-only entry that Get-NTFSAccess returned, and nothing else | PathErrors.Tests.ps1:178 should keep the denied item unchanged, report , and process the next item | Access.Tests.ps1:651 Should take only the requested generic right from the entry of the account when another account has an exact entry","2: SMB share - remove keeps the owner (#34, Live:264), remove by foreign-domain account name (Live:886)","No test combines -PassThru with one failing and one succeeding path, none asserts the type or the complete entry list of the -PassThru output, and the pipeline test pipes a single entry per case. Several -Account values and positional binding are untested.","TestNeeded","Access.Tests.ps1:539-550 asserts ErrorId, category, target, ArgumentException, no output and unchanged SDDL for two paths; :616-620 pipes Get-NTFSAccess output (binding by property name) and asserts the exact SDDL minus the entry in 3 cases; PathErrors.Tests.ps1:178-192 asserts the next item's entry is removed after one error. BoundBy = scan 13 + Access:617 (pipeline, resolves to PathComplex), PathErrors:108 and :178 (& $Command), PermissionScopes:99 (splat, Form=AppliesTo, Source=Path); all 17 calls are the subject of an assertion.","Partly","ParameterSets.Access.Tests.ps1:287 Should write one RemoveAceError for the blocked path, leave it unchanged, and return -PassThru entries only for the path it changed","the -PassThru output's count is not checked against the complete entry list of the surviving item (only non-emptiness, type, FullName, and absence of the removed account); the pipeline test still pipes only a single entry per call; several -Account values; positional binding","budget (all four)" +"access","Remove-NTFSAccess","PathSimple","False","0","0","2","1","Partly","No","No","No","Partly","PermissionScopes.Tests.ps1:99 Should add and remove using on , preserving the other account","0","Only the -RemoveSpecific form with -PassThru is bound (13 scopes, Form=Flags); removing rights without -RemoveSpecific, a Deny entry, a missing or denied path, several paths and piped input are untested for this set, and nothing reads the item back with .NET.","TestNeeded","BoundBy = 1 although the scan found 0: PermissionScopes.Tests.ps1:99 binds -AppliesTo when Form is Flags (add with flags, remove with -AppliesTo), 13 cases with Source=Path; it asserts that the account's entry is gone from the -PassThru output and the keeper stays once (:101-102) and that Get-NTFSAccess finds nothing (:103). No other test binds -AppliesTo with Remove-NTFSAccess.","Partly","ParameterSets.Access.Tests.ps1:376 Should take only the requested rights from an entry scoped by -AppliesTo without -RemoveSpecific, keep its flags, and leave another account's entry untouched","a Deny entry's rights-reduction without -RemoveSpecific; a missing or denied path for this set; several paths in one call; piped input","budget (all four; the shared path-resolution/write-denial code is already covered for PathComplex)" "access","Remove-NTFSAccess","SDSimple","False","0","0","2","1","Partly","No","No","No","Partly","PermissionScopes.Tests.ps1:99 Should add and remove using on , preserving the other account","0","Same single splat test as PathSimple with a descriptor: the removal is read back only through -PassThru and Get-NTFSAccess, the item on disk is not checked after it, and nothing tests removal without -RemoveSpecific, piped descriptors or several descriptors. A failing removal ends the cmdlet with a terminating error and no test pins it (open item 1).","MaintainerDecision","BoundBy = 1 although the scan found 0: PermissionScopes.Tests.ps1:99 binds the set for Source=SecurityDescriptor, Form=Flags (13 cases) and asserts the -PassThru output (:101-102) and Get-NTFSAccess -SecurityDescriptor (:103) after the removal; the SDDL check at :96 runs before the removal.","MaintainerDecision","","removal read back only through -PassThru/Get-NTFSAccess, not the item on disk after it; removal without -RemoveSpecific; piped descriptors; several descriptors; the failing removal terminating error, not pinned","budget (the read-back/RemoveSpecific/pipe/several items, notes proposal (b2)#3 not implemented); MaintainerDecision (the failing-removal open item)" "access","Remove-NTFSAccess","SDComplex","False","4","0","2","6","Partly","No","No","No","Partly","Access.Tests.ps1:915 Remove-NTFSAccess should remove a deny entry from the descriptor and leave the item unchanged | Access.Tests.ps1:682 Should remove an entry that matches exactly | Access.Tests.ps1:688 Should take the rights away from a matching entry without -RemoveSpecific | Access.Tests.ps1:676 Should keep an entry that does not match exactly","0","No test removes an entry that exists on disk from a descriptor and checks that the item keeps it until Set-NTFSSecurityDescriptor: the entries of Access:676-688 and :915 are added in memory only, so a write-through would go unnoticed. No piped or multiple descriptors, and a failing removal ends the cmdlet with a terminating error (open item 1).","MaintainerDecision","Access.Tests.ps1:676-692 reads $sd.SecurityDescriptor with .NET for -RemoveSpecific (kept or removed) and for the rights removal; :915-920 removes an in-memory Deny entry and checks that no such entry is on disk, which also holds if both cmdlets wrote through. BoundBy = scan 4 + Access:872 (& $_, no throw only) + PermissionScopes:99 (splat, Form=AppliesTo, Source=SecurityDescriptor, -PassThru check).","MaintainerDecision","","no test removes an on-disk entry from a descriptor and checks the item keeps it until Set-NTFSSecurityDescriptor (write-through check); no piped or multiple descriptors; the failing removal terminating error, not pinned","budget (the write-through/pipe/several items, notes proposal (b2)#3 not implemented); MaintainerDecision (the failing-removal open item)" -"access","Clear-NTFSAccess","Path","True","6","2","0","8","Partly","Partly","No","Yes","NA","PathErrors.Tests.ps1:178 should keep the denied item unchanged, report , and process the next item | Access.Tests.ps1:932 Should leave the item with an empty, protected DACL | PathErrors.Tests.ps1:271 Clear-NTFSAccess -DisableInheritance should take ownership, clear and protect the DACL, and not set an unchanged owner back | PathErrors.Tests.ps1:289 Clear-NTFSAccess -DisableInheritance should report RestoreOwnerError for a previous owner that it cannot set back","2: SMB share - clear keeps the owner (#34, Live:274); -DisableInheritance as the owner takes ownership without a RestoreOwnerError (Live:957)","No test asserts that a plain Clear leaves the inherited entries and the inheritance flag untouched, or clears a folder (all unit tests use files). ClearAclError and ReadFileError are asserted by ErrorId and target without category, and nothing is piped in.","TestNeeded","PathErrors.Tests.ps1:178-192 asserts one ClearAclError for the blocked path, its SDDL unchanged and no explicit entry on the next item; Access.Tests.ps1:932-936 and PathErrors.Tests.ps1:271-277 assert a protected, empty DACL and the unchanged owner with .NET; PathErrors.Tests.ps1:289-294 asserts RestoreOwnerError with category WriteError and target (elevated only). BoundBy = scan 6 + PathErrors:108 and :178 (& $Command); 7 of the 8 calls are the subject of an assertion.","Closed","ParameterSets.Access.Tests.ps1:212 Should clear each piped folder's explicit entries, including an inherit-only one, and leave inherited entries and the owner untouched | ParameterSets.Access.Tests.ps1:237,248 Should report a missing path's ReadFileError and a blocked path's ClearAclError, each by category and target","","" -"access","Clear-NTFSAccess","SD","False","3","1","0","3","Partly","No","No","No","NA","SecurityDescriptorSets.Tests.ps1:60 Clear-NTFSAccess -DisableInheritance should leave the descriptor with an empty, protected DACL | SecurityDescriptorSets.Tests.ps1:45 Clear-NTFSAccess should remove the explicit access entries of the descriptor | SecurityDescriptor.Tests.ps1:236 Should not report an owner that did not change when the write that took ownership leaves an empty DACL","1: SMB share - cleared descriptor written with Set-NTFSSecurityDescriptor without a RestoreOwnerError (Live:966)","No test checks that a plain Clear of a descriptor keeps its inherited entries and inheritance flag, pipes descriptors in, or passes several. The set has no per-item handler and no test makes it fail; it is not among the open items, so no test is proposed for that.","TestNeeded","SecurityDescriptorSets.Tests.ps1:45-50 asserts 0 explicit entries in the descriptor, 1 still on disk, then 0 after Set-NTFSSecurityDescriptor; :60-68 asserts a protected, empty DACL in memory, the DACL on disk unchanged and the written result; SecurityDescriptor.Tests.ps1:236-244 asserts that the owner stays after the write (the call there is a fixture of a Set-NTFSSecurityDescriptor test). BoundBy = 3 (no ambiguous calls).","Closed","ParameterSets.Access.Tests.ps1:271 Should clear each piped descriptor's explicit entries in memory, leave the items unchanged until Set-NTFSSecurityDescriptor, and keep the owner","","" -"access","Get-NTFSAccess","Path","True","25","3","2","29","NA","Partly","No","Yes","Partly","PathErrors.Tests.ps1:108 should write a for it and continue with the next path | PathErrors.Tests.ps1:145 should write a ReadSecurityError for it and continue with the next path | Access.Tests.ps1:55 Should return the entries of the first item once | DriveRoot.Tests.ps1:34 Get-NTFSAccess should return the access entries of the root folder","3: SMB share - entries of a path longer than 260 characters, foreign-domain account entries, unknown-parent InheritedFrom (Live:543, 859, 1048)","No test pipes FileInfo/DirectoryInfo into the set (or passes a folder object by position, #88), asserts what it returns without -Path (Owner.Tests.ps1:98 only checks that nothing throws), or asserts the category of ReadFileError and ReadSecurityError (the latter is WriteError after a failed ownership retry, see notes). No test asserts the emitted type or the declared OutputType.","TestNeeded","PathErrors.Tests.ps1:108-115 and :145-152 assert one error with ErrorId and target and output for the next path; Access.Tests.ps1:55-59 asserts the first item's entries appear once after a failing path, but the path fails only without elevation; Access.Tests.ps1:1108-1118 asserts a NULL DACL gives one entry with Sid, IsInherited and InheritedFrom, and DriveRoot.Tests.ps1:34-36 that the SID list equals Get-Acl. BoundBy = scan 25 + PathErrors:108/:145 + Owner.Tests.ps1:98 (& $cmdlet, no throw only) + PermissionScopes:103 (splat, Source=Path).","Partly","ParameterSets.Access.Tests.ps1:303,305,315 Should return the same entries for a folder bound through the pipeline and by position, and report a missing path's error by category and target | ParameterSets.Access.Tests.ps1:548 should declare as its output type","what the cmdlet returns without -Path at all (beyond not throwing, Owner.Tests.ps1:98); the category of ReadSecurityError after a failed ownership retry; BeOfType on an actual emitted object (only the declared OutputType is asserted)","budget (the no -Path case); would-pin (ReadSecurityError is WriteError after a failed retry but OpenError from the generic catch - asserting a category here would cement that inconsistency, per the notes); budget (BeOfType on a live object)" -"access","Get-NTFSAccess","SD","False","1","0","2","3","NA","No","Partly","No","Partly","SecurityDescriptorSets.Tests.ps1:139 Get-NTFSAccess should return the entries that it returns for the path | Access.Tests.ps1:1098 Should read a security descriptor with audit entries and name the same folders | PermissionScopes.Tests.ps1:103 Should add and remove using on , preserving the other account","0","No test uses -Account, -ExcludeExplicit or -ExcludeInherited with a descriptor except the empty-result check of PermissionScopes:103, so an entry added to the descriptor in memory is never shown in the output; no test passes several descriptors or pipes more than one. The set has no per-item handler and no failing descriptor is tested.","TestNeeded","SecurityDescriptorSets.Tests.ps1:139-143 pipes one descriptor and compares Sid, rights and IsInherited of every entry with the -Path result (one item; the output cannot tell the SecurityDescriptor parameter from -Path bound by FullName); Access.Tests.ps1:1098-1103 (elevated only) compares count and InheritedFrom with the path result. BoundBy = scan 1 + SecurityDescriptorSets:139 (pipeline) + PermissionScopes:103 (splat, Source=SecurityDescriptor, asserts only an empty result).","Partly","ParameterSets.Access.Tests.ps1:331,336,338,345 Should filter an entry added to a descriptor in memory by -Account, partition it with -ExcludeInherited and -ExcludeExplicit, and read two descriptors bound through the pipeline","no failing descriptor is tested for this set (no per-item handler)","Limit (the SD loop has no try/catch; an exception would be unhandled and terminating, not a graceful per-item error - the same situation as the Clear-NTFSAccess SD row, which the notes explicitly excuse and this row's Gap text does not)" -"access","Get-NTFSOrphanedAccess","Path","False","4","4","0","6","NA","Partly","No","Partly","Partly","Access.Tests.ps1:218 Should return the entries whose account cannot be resolved | Access.Tests.ps1:222 Should return only the entries of -Account | PathErrors.Tests.ps1:145 should write a ReadSecurityError for it and continue with the next path | PipelineControl.Tests.ps1:148 should stop after the first object for Select-Object -First 1 and change nothing else","4: SMB share - entry of a deleted domain account with its SID, inherited entry and -ExcludeInherited, foreign-domain accounts not reported (Live:504, 515, 516, 868)","-ExcludeExplicit and -ExcludeInherited are untested in unit tests (lab only), and PathErrors runs this cmdlet with Output=false, so no test shows that the next path is processed after an error; no pipeline input and no category for ReadFileError or ReadSecurityError. A read failure other than access denied is written as a warning, which no test reaches.","TestNeeded","Access.Tests.ps1:218-225 asserts 2 orphaned entries and, for -Account, 1 entry with its Sid; PathErrors.Tests.ps1:108-115 and :145-152 assert one error with ErrorId and target but cannot show continuation because Output is false for this cmdlet (:29, :56). BoundBy = scan 4 + PathErrors:108 and :145 (& $Command).","Partly","ParameterSets.Access.Tests.ps1:362,363,369,370 Should mark an orphaned entry explicit on its own folder and inherited on a child, partitioned by -ExcludeInherited and -ExcludeExplicit | ParameterSets.Access.Tests.ps1:379,393 Should write a ReadFileError for a missing path, still return the orphaned entry of the next path, and accept both bound through the pipeline","the category of ReadSecurityError after a failed ownership retry; a read failure other than access denied, which is written as a warning, not an error","budget (ReadSecurityError here has one consistent category, ReadError, unlike Get-NTFSAccess, so it was safely assertable but not attempted); would-pin (the warning-not-error choice; the notes explicitly decline to propose pinning it)" -"access","Get-NTFSOrphanedAccess","SD","False","1","0","0","1","NA","No","No","No","Partly","Access.Tests.ps1:231 Should read the entries of a security descriptor","0","Only the count (2) and FullName are asserted; -Account, -ExcludeExplicit and -ExcludeInherited with a descriptor, the orphaned Sids, several or piped descriptors, and a descriptor changed in memory are untested.","TestNeeded","BoundBy = 1 (unambiguous; the cmdlet has no ambiguous rows): Access.Tests.ps1:231-234 asserts 2 entries, each with FullName equal to the file. Nothing else binds the set.","Partly","ParameterSets.Access.Tests.ps1:408,409,410,420 Should filter a descriptor's orphaned entries by -Account, report both orphaned Sids by default, exclude them all with -ExcludeExplicit, and read two descriptors bound through the pipeline","-ExcludeInherited with a descriptor; a descriptor changed only in memory (not written to disk) still reporting its orphaned entries","budget (both; the same fixture already built in this test could have been extended)" -"access","Get-NTFSSimpleAccess","Path","False","20","1","2","21","NA","Partly","Yes","Yes","Yes","Access.Tests.ps1:353 Should report all entries of the first folder and of the following folder only what the parent does not cover | Access.Tests.ps1:362 Should compare the folders from the pipeline in the same way | Access.Tests.ps1:485 Should write an error for a path that does not exist and continue with the next path | Access.Tests.ps1:267 Should show the entries as a table with the account, the rights, and the type","1: SMB share - parent folder first and for the subfolder only its own entry, as the delegated account (Live:832)","The ReadError of a missing path is asserted by ErrorId only (no category or target), and no test makes a folder unreadable: unlike Get-NTFSAccess the cmdlet does not retry as the owner, so what an unreadable folder reports is unpinned.","TestNeeded","Access.Tests.ps1:353-358 and :362-364 assert all 4 entries of the parent and only the child's own entry, for -Path and for Get-Item2 objects piped in; :485-490 asserts one ReadError and that every output object belongs to the next path; :267-269 asserts the table view; :251-254 and the rights-reduction cases assert Identity.Sid and AccessRights. BoundBy = scan 20 + Access:362 (pipeline, resolves to Path).","Partly","ParameterSets.Access.Tests.ps1:448 Should report an unreadable folder's error by category and target and still report the next folder's entries","the ReadError of a missing path (as opposed to an unreadable one) is still asserted by ErrorId only, without category or target","budget (Access.Tests.ps1:485 cannot be edited under a one-new-file brief, and no equivalent new test for the missing-path precondition specifically was added)" -"access","Get-NTFSSimpleAccess","SD","False","1","0","2","2","NA","No","Partly","No","Partly","Access.Tests.ps1:476 Should report the security descriptor of a file | Access.Tests.ps1:260 Should read the entries of a security descriptor","0","Only non-empty output and FullName are asserted; -Account, -ExcludeExplicit, -ExcludeInherited, the reduced rights and several descriptors are untested for the descriptor set, and no failing descriptor is tested.","TestNeeded","Access.Tests.ps1:260-263 reads one descriptor; :476-479 pipes one descriptor of a file: the -Path set skips files (Access:468-473), so a non-empty result can only come from the SD set; both assert FullName only. BoundBy = scan 1 + Access:476 (pipeline, resolves to SD).","Partly","ParameterSets.Access.Tests.ps1:469,470,474,476,477,482 Should filter and partition a descriptor's entries like the equivalent -Path call, and read two descriptors bound through the pipeline","no failing descriptor is tested for this set (no per-item handler)","Limit (same no-per-item-handler situation as the Clear-NTFSAccess SD and Get-NTFSAccess SD rows)" -"access","Get-NTFSEffectiveAccess","Path","True","11","7","1","15","NA","Yes","No","Partly","Partly","Access.Tests.ps1:1140 Should report the native identity error for each and return no access entry | Access.Tests.ps1:86 Should leave out an account without access when -ExcludeNoneAccessEntries is used | Access.Tests.ps1:145 Should return the result of this computer and warn | PathErrors.Tests.ps1:108 should write a for it and continue with the next path","7: SMB share, domain and delegated accounts - rights through domain groups and file-server groups with -ServerName, fallback warning, GetEffectiveAccessError for access denied (Live:419, 428, 438, 456, 478, 486, 895)","No unit test asserts the content of the rights (for example an allow and a deny entry on a file with a protected DACL: ReadData present, WriteData absent), pipes objects in, or shows in one call that a failing path emits nothing while the next path emits only its own result. The ReadEffectivePermissionError handlers cannot be reached because the library hides its failures, and remote and group-based results need the lab.","TestNeeded","Access.Tests.ps1:1140-1153 asserts for two failing paths ErrorId GetEffectiveAccessError, category ReadError, TargetObject, Win32Exception 1332, no output and unchanged SDDL; PathErrors.Tests.ps1:108-115 asserts ReadFileError and output for the next path; Access.Tests.ps1:86-95 asserts the ExcludeNone filter and :145-157 the warning text and equal rights. BoundBy = scan 11 + Access:1140 (splat, Source=Path) + PathErrors:108/:145 + Owner.Tests.ps1:98 (& $cmdlet, no throw only).","Partly","ParameterSets.Access.Tests.ps1:498 Should report an allowed right as present and a denied right as absent for a protected DACL | ParameterSets.Access.Tests.ps1:508 Should return one result per item bound through the pipeline, in order","one call combining a failing path (for example a missing one) with a succeeding one, showing the failing path emits nothing and the next emits only its own result; the ReadEffectivePermissionError handler; remote and group-based results","budget (the failing+succeeding combination); Limit (ReadEffectivePermissionError is unreachable - the library records failures instead of throwing); Limit (remote/group-based results need the lab)" -"access","Get-NTFSEffectiveAccess","SecurityDescriptor","False","2","0","1","3","NA","Yes","No","Partly","Partly","Access.Tests.ps1:1140 Should report the native identity error for each and return no access entry | Access.Tests.ps1:132 Should name the cause in the error, not the Security privilege | Access.Tests.ps1:107 Should compute the effective access of a security descriptor","0","No test shows that the result follows an entry added to the descriptor in memory (and not the file on disk), pipes descriptors in, or passes a mix of failing and succeeding descriptors; the rights themselves are not asserted.","TestNeeded","Access.Tests.ps1:1140-1153 (Source=SecurityDescriptor, 2 descriptors) asserts the same error triple, Win32Exception 1332 and no output; :132-137 asserts one GetEffectiveAccessError that does not blame the privilege; :107-111 asserts one result with the FullName of the file. BoundBy = scan 2 + Access:1140 (splat, Source=SecurityDescriptor).","Partly","ParameterSets.Access.Tests.ps1:524,530,539 Should follow a descriptor changed only in memory while the -Path result stays on disk, and read two descriptors bound through the pipeline","a mix of a failing and a succeeding descriptor in one call","Limit (the per-item catch exists but is unreachable in a unit sandbox; the library records the Authz failure instead of throwing, per the notes)" -"audit","Add-NTFSAudit","PathComplex","True","27","4","1","30","Yes","Yes","No","Yes","Yes","Audit.Tests.ps1:147 Should write an AddAceError for each item, change nothing, and return nothing with -PassThru | Audit.Tests.ps1:629 should use a held privilege or report a missing one and continue to the next path | Audit.Tests.ps1:178 Should add the audit entry and keep the owner | PermissionScopes.Tests.ps1:146 Should add and remove using on , preserving the other account","4 (NTFSSecurity.Live.Tests.ps1:348, 385, 1010, 1016): SMB share with domain accounts; owner kept; the delegated account gets an AddAceError that names the missing privilege and leaves the SDDL unchanged; the file server counts the SACL entries (:1441)","No test pipes paths or objects into -Path, binds Account/AccessRights/AuditFlags by property name, or adds for several accounts. No test asserts the result of a succeeding path that follows a failing one (PathErrors.Tests.ps1:124 only counts errors), and the owner retry after access denied cannot run on a local volume (Limit).","TestNeeded","Audit.Tests.ps1:149-158 asserts AddAceError, WriteError, target, ArgumentException, no -PassThru output and an unchanged SACL (Get-Acl -Audit) for two failing paths; :631-669 and :672-679 assert ReadFileError/OpenError/target, the FullName of the output, the SACL rule, and unchanged DACL/owner SDDL. BoundBy 30 = scan 27 + PermissionScopes:146 (13 of 52 cases) + 2 calls through & $Command that the scan cannot see (Audit.Tests.ps1:629, PathErrors.Tests.ps1:124); 23 of the 27 scanned calls are fixtures.","Partly","ParameterSets.Audit.Tests.ps1:123 Should add the audit entry for the piped object that exists, write a ReadFileError for the one that does not, and leave the DACL unchanged","AuditFlags not bound by property name; adding for several accounts in one call; the owner retry after access denied","budget; budget; Limit (needs a lab or a remote server)" -"audit","Add-NTFSAudit","PathSimple","False","5","0","2","7","Partly","No","No","No","Yes","PermissionScopes.Tests.ps1:146 Should add and remove using on , preserving the other account | Inheritance.Tests.ps1:386 Should set enabled= on a , remove requested audit entries=, and leave the DACL unchanged | Inheritance.Tests.ps1:424 Set-NTFSInheritance should re-enable audit inheritance on a <_> and keep its explicit audit entry","0","No call of this set fails on purpose, passes several paths, or pipes objects, and a conflict of -AppliesTo with -InheritanceFlags is not tested. The added entry is read back only from -PassThru and Get-NTFSAudit, and owner and DACL after the call are not asserted for this set.","TestNeeded","The only call under test is PermissionScopes.Tests.ps1:146 (Source=Path with the -AppliesTo form, 13 of 52 cases): :149-154 assert type, Inheritance/Propagation/AuditFlags and the scope name, and :161-163 that the other account remains. The other calls (PermissionScopes:144, Audit.Tests.ps1:618 and :690, Inheritance.Tests.ps1:386, :424, :503) are fixtures; BoundBy 7 = scan 5 + :144 and :146 resolved from the splat.","Closed","ParameterSets.Audit.Tests.ps1:123 Should add the audit entry for the piped object that exists, write a ReadFileError for the one that does not, and leave the DACL unchanged | ParameterSets.Audit.Tests.ps1:193 Should reject -AppliesTo combined with -InheritanceFlags with an AmbiguousParameterSet error and change nothing","","" -"audit","Add-NTFSAudit","SDSimple","False","0","0","2","2","Partly","No","No","No","Yes","PermissionScopes.Tests.ps1:146 Should add and remove using on , preserving the other account | Audit.Tests.ps1:89 Should take -Account at position 2 and -AccessRights at position 3 in the <_> parameter set","0","No test makes this set fail, passes or pipes several descriptors, or reads the changed descriptor with .NET; a descriptor without audit entries is tested only with the complex form. Exceptions of the change itself end the cmdlet (open item 1) and are not to be pinned.","TestNeeded","Only PermissionScopes.Tests.ps1:146 binds it (Source=SecurityDescriptor with -AppliesTo, 13 of 52 cases; the fixture at :144 in 26): :149-154 assert the -PassThru type and flags and :156 that the SACL of the item is unchanged (Get-Acl -Audit). Audit.Tests.ps1:89 checks the positions by reflection only; BoundBy 2 resolves the two splat calls, the scan found 0.","Partly","ParameterSets.Audit.Tests.ps1:95 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:154 Should add the audit entry for the piped object that has an audit section, write a ReadSecurityError for the one that does not, and leave the item on disk unchanged until Set-NTFSSecurityDescriptor writes it | ParameterSets.Audit.Tests.ps1:208 Should add the entry to the descriptor when -SecurityDescriptor, -Account, -AccessRights, and -AppliesTo are all named directly","exceptions from the change itself (open item 1)","MaintainerDecision (open item)" -"audit","Add-NTFSAudit","SDComplex","False","5","0","1","8","Yes","Partly","No","No","Yes","Audit.Tests.ps1:107 Should bind an account and access rights that are passed by position | Audit.Tests.ps1:120 Should return the audit entries of a security descriptor, not its access entries | SecurityDescriptor.Tests.ps1:120 Should write an added audit entry and keep the owner | Audit.Tests.ps1:425 should write an error and leave the descriptor without audit entries","0","Only the ErrorId is asserted for a descriptor without audit entries, not its category (InvalidData) or target, and no test pipes descriptors or passes several (one without audit entries), so pipeline binding and continuation are untested. Exceptions of the change itself are open item 1 and are not to be pinned.","TestNeeded","Audit.Tests.ps1:109-110 reads the in-memory SACL with .NET and :122-136 assert type, Sid, InheritanceEnabled and the unchanged access protection; SecurityDescriptor.Tests.ps1:124-126 asserts after Set-NTFSSecurityDescriptor that the owner is kept and the entry exists; PermissionScopes.Tests.ps1:156 asserts the item is untouched until written. BoundBy 8 = scan 5 + PermissionScopes:146 (13 of 52 cases) + & $Command at Audit.Tests.ps1:425 and Access.Tests.ps1:881 (Should -Not -Throw only).","Partly","ParameterSets.Audit.Tests.ps1:95 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:154 Should add the audit entry for the piped object that has an audit section, write a ReadSecurityError for the one that does not, and leave the item on disk unchanged until Set-NTFSSecurityDescriptor writes it","exceptions from the change itself (open item 1)","MaintainerDecision (open item)" -"audit","Remove-NTFSAudit","PathComplex","True","7","2","1","10","Yes","Yes","No","Yes","Yes","Audit.Tests.ps1:629 should use a held privilege or report a missing one and continue to the next path | Audit.Tests.ps1:361 Should keep an audit entry that does not match exactly, given the path | Audit.Tests.ps1:371 Should remove an audit entry that matches exactly, given the path | Audit.Tests.ps1:384 Should return the audit entries of the item, not its access entries","2 (NTFSSecurity.Live.Tests.ps1:357, 398): SMB share with domain accounts; owner kept; the delegated account gets a RemoveAceError that names the missing privilege and leaves the SDDL unchanged; the file server counts the SACL entries (:1441)","No test pipes paths or objects in, removes for several accounts, asserts the result of a succeeding path after a failing one, or removes only some rights (without -RemoveSpecific). An item without SACL is tested for no error only (Audit.Tests.ps1:406), and the owner retry cannot run on a local volume (Limit).","TestNeeded","Audit.Tests.ps1:631-669 and :672-679 assert ReadFileError/OpenError/target (RemoveAceError/WriteError/target as a basic user), the SACL changed with no rule left, and unchanged DACL/owner SDDL; :363-365 and :373-374 read back through Get-NTFSAudit. BoundBy 10 = scan 7 + PermissionScopes:159 (13 of 52 cases) + & $Command at Audit.Tests.ps1:629 and PathErrors.Tests.ps1:124; :386-388 assert type and the other entry but pass even if nothing was removed.","Partly","ParameterSets.Audit.Tests.ps1:225 Should remove the audit entry for the piped object that exists, write a ReadFileError for the one that does not, and keep the other account's entry | ParameterSets.Audit.Tests.ps1:286 Should narrow an entry that grants more rights than it removes, instead of deleting it","removing for several accounts in one call; state (empty Audit SDDL, unchanged DACL) of an item without a SACL; the owner retry after access denied","budget; budget; Limit (needs a lab or a remote server)" -"audit","Remove-NTFSAudit","PathSimple","False","0","0","1","1","Partly","No","No","No","Partly","PermissionScopes.Tests.ps1:159 Should add and remove using on , preserving the other account","0","Only one data-driven call binds it: no failing item, pipeline input, several items, or owner and DACL check after the call, the objects are checked by Sid only, and it never runs without -RemoveSpecific.","TestNeeded","PermissionScopes.Tests.ps1:159 binds it only when Source=Path and Form=Flags (13 of 52 cases, always with -RemoveSpecific): :161-163 assert that the entry of the account is gone from -PassThru, that the other account remains, and that Get-NTFSAudit returns nothing for the account. BoundBy 1: the scan found 0 and this ambiguous splat call is the only one that binds the set.","Closed","ParameterSets.Audit.Tests.ps1:225 Should remove the audit entry for the piped object that exists, write a ReadFileError for the one that does not, and keep the other account's entry | ParameterSets.Audit.Tests.ps1:304 Should remove the entry from the path when -Path, -Account, -AccessRights, and -AppliesTo are all named directly","","" -"audit","Remove-NTFSAudit","SDSimple","False","0","0","1","1","Partly","No","No","No","Partly","PermissionScopes.Tests.ps1:159 Should add and remove using on , preserving the other account","0","Only one data-driven call binds it: the changed descriptor is read only through -PassThru and Get-NTFSAudit, the item being untouched after the removal is not asserted, and no test makes it fail, pipes or passes several descriptors, or runs without -RemoveSpecific.","TestNeeded","PermissionScopes.Tests.ps1:159 binds it only when Source=SecurityDescriptor and Form=Flags (13 of 52 cases, always with -RemoveSpecific): :161-163 assert that the entry of the account is gone, that the other account remains, and that Get-NTFSAudit returns nothing; the SACL on disk is compared only after the Add (:156). BoundBy 1: the scan found 0 and this ambiguous splat call is the only one that binds the set.","Partly","ParameterSets.Audit.Tests.ps1:95 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:256 Should remove the audit entry for the piped object that has an audit section, write a ReadSecurityError for the one that does not, and keep the other account's entry | ParameterSets.Audit.Tests.ps1:321 Should remove the entry from the descriptor when -SecurityDescriptor, -Account, -AccessRights, and -AppliesTo are all named directly","the item on disk being untouched after the removal, until Set-NTFSSecurityDescriptor writes it","budget" -"audit","Remove-NTFSAudit","SDComplex","False","2","0","1","5","Partly","Partly","No","No","Partly","Audit.Tests.ps1:347 Should keep an audit entry that does not match exactly | Audit.Tests.ps1:353 Should remove an audit entry that matches exactly | Audit.Tests.ps1:425 should write an error and leave the descriptor without audit entries | PermissionScopes.Tests.ps1:159 Should add and remove using on , preserving the other account","0","The item being untouched after the removal and the result after Set-NTFSSecurityDescriptor are not asserted, the error test lacks category and target, and no test pipes or passes several descriptors, checks the -PassThru type, or asserts a removal without -RemoveSpecific. Exceptions of the change itself are open item 1 and are not to be pinned.","TestNeeded","Audit.Tests.ps1:349 and :355 read the in-memory SACL with .NET (non-matching entry kept, matching entry removed) and :427-432 assert one ReadSecurityError, no output and the SACL still empty; PermissionScopes.Tests.ps1:161-163 assert by Sid only. BoundBy 5 = scan 2 + PermissionScopes:159 (13 of 52 cases) + & $Command at Audit.Tests.ps1:425 and Access.Tests.ps1:881 (Should -Not -Throw only).","Partly","ParameterSets.Audit.Tests.ps1:95 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:256 Should remove the audit entry for the piped object that has an audit section, write a ReadSecurityError for the one that does not, and keep the other account's entry","the item on disk untouched after the removal and the result after Set-NTFSSecurityDescriptor; the -PassThru output type; exceptions from the change itself (open item 1)","budget; budget; MaintainerDecision (open item)" -"audit","Clear-NTFSAudit","Path","True","3","1","0","5","Yes","Yes","No","Yes","NA","Audit.Tests.ps1:629 should use a held privilege or report a missing one and continue to the next path | Audit.Tests.ps1:455 Should remove the audit entries and keep the owner | Audit.Tests.ps1:478 Should write no error and leave the access entries unchanged | Audit.Tests.ps1:495 Should write an error and leave the item unchanged","2 (NTFSSecurity.Live.Tests.ps1:652, plus :684 through & $Command that the scan cannot see): SMB share; explicit entry cleared with the inherited entry and the owner kept; the delegated account gets a ClearAclError that names the missing privilege and leaves the SDDL unchanged; the file server checks the SACL (:1453)","-DisableInheritance on a path is passed (Audit.Tests.ps1:629) but its end state (protected SACL, no copied inherited entries) is never asserted, and no test pipes paths or asserts the result of a succeeding path after a failing one. The owner retry after access denied cannot run on a local volume (Limit).","TestNeeded","Audit.Tests.ps1:457-459 asserts no error, owner kept (.NET) and no entry left (Get-NTFSAudit); :480-483 and :497-499 assert an unchanged DACL and, without the privilege, a ClearAclError with an unchanged SDDL; :631-669 and :672-679 add category and target. BoundBy 5 = scan 3 + & $Command at Audit.Tests.ps1:629 and PathErrors.Tests.ps1:124.","Partly","ParameterSets.Audit.Tests.ps1:339 Should clear the audit entries of each path taken from the pipeline and leave the DACL of each unchanged | ParameterSets.Audit.Tests.ps1:360 Should protect the SACL and not copy the parent's inherited entry when clearing a child path","the result of a succeeding path that follows a failing one; the owner retry after access denied","budget; Limit (needs a lab or a remote server)" -"audit","Clear-NTFSAudit","SD","False","2","0","0","3","Yes","Partly","No","No","NA","Audit.Tests.ps1:696 Should clear and protect the descriptor SACL without writing the | SecurityDescriptorSets.Tests.ps1:107 Clear-NTFSAudit should remove the explicit audit entries of the descriptor | Audit.Tests.ps1:425 should write an error and leave the descriptor without audit entries","0","No test pipes descriptors or passes several (one without audit entries), and the error test asserts the ErrorId but not category or target.","TestNeeded","Audit.Tests.ps1:698-705 asserts the in-memory SACL cleared and protected (.NET), the SACL of the item untouched until Set-NTFSSecurityDescriptor, then the state on disk and an unchanged DACL; SecurityDescriptorSets.Tests.ps1:109-112 asserts the same for the unprotected form. BoundBy 3 = scan 2 + & $Command at Audit.Tests.ps1:425 (error case only).","Closed","ParameterSets.Audit.Tests.ps1:95 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:381 Should clear each piped descriptor that has an audit section and continue past one that does not","","" -"audit","Get-NTFSAudit","Path","False","24","4","2","27","NA","Partly","No","Partly","Partly","Audit.Tests.ps1:529 Should name the folder that an inherited entry comes from, also with -ExcludeExplicit | Audit.Tests.ps1:48 Should write an error without the Security privilege instead of returning nothing | PathErrors.Tests.ps1:124 should write a ReadFileError for it and continue with the next path | Inheritance.Tests.ps1:387 Should set enabled= on a , remove requested audit entries=, and leave the DACL unchanged","4 (NTFSSecurity.Live.Tests.ps1:336, 373, 656, 657): SMB share with domain accounts; Sid, AuditFlags and rights of the entry; the delegated account gets a ReadSecurityError that names the missing privilege","No test pipes paths or FileInfo/DirectoryInfo into it, asserts the category of its errors or the target of ReadSecurityError, or (in unit tests) the type, AuditFlags and inheritance flags of the output. No unit test has a failing path followed by a path whose entries are asserted (Audit.Tests.ps1:70-73 documents that the second path of the test at :80 no longer fails), and the PermissionDenied branch cannot run on a local volume (Limit).","TestNeeded","Audit.Tests.ps1:50-52 asserts one ReadSecurityError by ErrorId only (basic user); :531-534 and :577-578 assert IsInherited and InheritedFrom; PathErrors.Tests.ps1:130-132 asserts ReadFileError and target for a missing path but discards the output (:124). BoundBy 27 = scan 24 + PermissionScopes:163 (26 of 52 cases) + & $Command at PathErrors.Tests.ps1:124 and Owner.Tests.ps1:98 (no -Path, Should -Not -Throw).","Partly","ParameterSets.Audit.Tests.ps1:410 Should return the entries of the existing path in either position and a ReadFileError, category OpenError, for the missing one | ParameterSets.Audit.Tests.ps1:439 Should return the entries of each path object taken from the pipeline by value | ParameterSets.Audit.Tests.ps1:454 Should write a ReadSecurityError with category OpenError and the path as target without the Security privilege","the PermissionDenied category branch of ReadSecurityError","Limit (needs a lab or a remote server)" -"audit","Get-NTFSAudit","SD","False","1","0","2","3","NA","Partly","Partly","No","Partly","Audit.Tests.ps1:61 Should write an error for a security descriptor that was read without the audit entries | SecurityDescriptorSets.Tests.ps1:160 Get-NTFSAudit should return the audit entries that it returns for the path | PermissionScopes.Tests.ps1:163 Should add and remove using on , preserving the other account","0","The output is compared only with the output of the Path set (no expected type, flags or values), at most one descriptor is piped, and no test passes several descriptors (one without audit entries). The error test lacks category and target.","TestNeeded","Audit.Tests.ps1:63-65 asserts no output and one ReadSecurityError; SecurityDescriptorSets.Tests.ps1:160-163 pipes one descriptor and asserts one entry equal to the Path result (Sid, AccessRights, AuditFlags); PermissionScopes.Tests.ps1:163 asserts only emptiness after a removal. BoundBy 3 = scan 1 + SecurityDescriptorSets:160 (piped by value, so SD) + PermissionScopes:163 (26 of 52 cases).","Partly","ParameterSets.Audit.Tests.ps1:95 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:468 Should return the entries of the piped descriptor that has an audit section and continue past one that does not","an expected type, flags, or values for the output, independent of comparing it to the Path set's output","budget" -"audit","Get-NTFSOrphanedAudit","Path","False","9","1","2","9","NA","Partly","No","Yes","Yes","Audit.Tests.ps1:228 Should return one object per entry whose account cannot be resolved | Audit.Tests.ps1:250 Should return an inherited entry, and nothing with -ExcludeInherited | Audit.Tests.ps1:279 Should write an error for a path that does not exist and continue with the next path without the Security privilege | Audit.Tests.ps1:304 Should write a ReadSecurityError without the Security privilege instead of returning nothing","1 (NTFSSecurity.Live.Tests.ps1:843): SMB share; the entry of a deleted domain account is returned with its SID, without error or warning","No test pipes paths into it, asserts the category of ReadError or ReadSecurityError, or runs -ExcludeExplicit, and the elevated continuation test passes on an empty result (Audit.Tests.ps1:273).","TestNeeded","Audit.Tests.ps1:230-232, :238-239 and :253-256 assert count, type, Sid and IsInherited; :282-286 (basic user) asserts ReadError for the missing path and a ReadSecurityError with its own target for the next path, which shows that the cmdlet continued, while :270-273 (elevated) asserts one error and then only a ForEach over the result. BoundBy 9 = scan 9.","Partly","ParameterSets.Audit.Tests.ps1:490 Should return the orphaned entries of each path taken from the pipeline and write a ReadError, category OpenError, for one that does not exist","the category of ReadSecurityError without the Security privilege; -ExcludeExplicit","budget; budget" -"audit","Get-NTFSOrphanedAudit","SD","False","0","0","2","2","NA","Partly","Partly","No","Partly","Audit.Tests.ps1:243 Should read the entries of a security descriptor | Audit.Tests.ps1:294 Should write an error for a security descriptor that was read without the audit entries","0","At most one descriptor is piped and none is passed in an array, so continuation is untested; -Account and -Exclude* with a descriptor, the entry type and Sid, and the category and target of the error are not asserted.","TestNeeded","Both calls pipe one descriptor, which PowerShell binds by value to -SecurityDescriptor (the elevated run of :296-298 proves it: a Path binding would return entries): :245-246 assert 2 entries with FullName and :296-298 assert no output and one ReadSecurityError. BoundBy 2 = the two ambiguous piped calls (Audit.Tests.ps1:243 and :294); the scan found 0.","Partly","ParameterSets.Audit.Tests.ps1:95 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:511 Should return the orphaned entries of the piped descriptor that has an audit section and continue past one that does not | ParameterSets.Audit.Tests.ps1:533 Should return the orphaned entries when -SecurityDescriptor is named directly","-Account and -ExcludeInherited/-ExcludeExplicit filters with a descriptor","budget" +"access","Clear-NTFSAccess","Path","True","6","2","0","8","Partly","Partly","No","Yes","NA","PathErrors.Tests.ps1:178 should keep the denied item unchanged, report , and process the next item | Access.Tests.ps1:932 Should leave the item with an empty, protected DACL | PathErrors.Tests.ps1:271 Clear-NTFSAccess -DisableInheritance should take ownership, clear and protect the DACL, and not set an unchanged owner back | PathErrors.Tests.ps1:289 Clear-NTFSAccess -DisableInheritance should report RestoreOwnerError for a previous owner that it cannot set back","2: SMB share - clear keeps the owner (#34, Live:274); -DisableInheritance as the owner takes ownership without a RestoreOwnerError (Live:957)","No test asserts that a plain Clear leaves the inherited entries and the inheritance flag untouched, or clears a folder (all unit tests use files). ClearAclError and ReadFileError are asserted by ErrorId and target without category, and nothing is piped in.","TestNeeded","PathErrors.Tests.ps1:178-192 asserts one ClearAclError for the blocked path, its SDDL unchanged and no explicit entry on the next item; Access.Tests.ps1:932-936 and PathErrors.Tests.ps1:271-277 assert a protected, empty DACL and the unchanged owner with .NET; PathErrors.Tests.ps1:289-294 asserts RestoreOwnerError with category WriteError and target (elevated only). BoundBy = scan 6 + PathErrors:108 and :178 (& $Command); 7 of the 8 calls are the subject of an assertion.","Closed","ParameterSets.Access.Tests.ps1:409 Should clear each piped folder's explicit entries, including an inherit-only one, and leave inherited entries and the owner untouched | ParameterSets.Access.Tests.ps1:434,445 Should report a missing path's ReadFileError and a blocked path's ClearAclError, each by category and target","","" +"access","Clear-NTFSAccess","SD","False","3","1","0","3","Partly","No","No","No","NA","SecurityDescriptorSets.Tests.ps1:60 Clear-NTFSAccess -DisableInheritance should leave the descriptor with an empty, protected DACL | SecurityDescriptorSets.Tests.ps1:45 Clear-NTFSAccess should remove the explicit access entries of the descriptor | SecurityDescriptor.Tests.ps1:236 Should not report an owner that did not change when the write that took ownership leaves an empty DACL","1: SMB share - cleared descriptor written with Set-NTFSSecurityDescriptor without a RestoreOwnerError (Live:966)","No test checks that a plain Clear of a descriptor keeps its inherited entries and inheritance flag, pipes descriptors in, or passes several. The set has no per-item handler and no test makes it fail; it is not among the open items, so no test is proposed for that.","TestNeeded","SecurityDescriptorSets.Tests.ps1:45-50 asserts 0 explicit entries in the descriptor, 1 still on disk, then 0 after Set-NTFSSecurityDescriptor; :60-68 asserts a protected, empty DACL in memory, the DACL on disk unchanged and the written result; SecurityDescriptor.Tests.ps1:236-244 asserts that the owner stays after the write (the call there is a fixture of a Set-NTFSSecurityDescriptor test). BoundBy = 3 (no ambiguous calls).","Closed","ParameterSets.Access.Tests.ps1:468 Should clear each piped descriptor's explicit entries in memory, leave the items unchanged until Set-NTFSSecurityDescriptor, and keep the owner","","" +"access","Get-NTFSAccess","Path","True","25","3","2","29","NA","Partly","No","Yes","Partly","PathErrors.Tests.ps1:108 should write a for it and continue with the next path | PathErrors.Tests.ps1:145 should write a ReadSecurityError for it and continue with the next path | Access.Tests.ps1:55 Should return the entries of the first item once | DriveRoot.Tests.ps1:34 Get-NTFSAccess should return the access entries of the root folder","3: SMB share - entries of a path longer than 260 characters, foreign-domain account entries, unknown-parent InheritedFrom (Live:543, 859, 1048)","No test pipes FileInfo/DirectoryInfo into the set (or passes a folder object by position, #88), asserts what it returns without -Path (Owner.Tests.ps1:98 only checks that nothing throws), or asserts the category of ReadFileError and ReadSecurityError (the latter is WriteError after a failed ownership retry, see notes). No test asserts the emitted type or the declared OutputType.","TestNeeded","PathErrors.Tests.ps1:108-115 and :145-152 assert one error with ErrorId and target and output for the next path; Access.Tests.ps1:55-59 asserts the first item's entries appear once after a failing path, but the path fails only without elevation; Access.Tests.ps1:1108-1118 asserts a NULL DACL gives one entry with Sid, IsInherited and InheritedFrom, and DriveRoot.Tests.ps1:34-36 that the SID list equals Get-Acl. BoundBy = scan 25 + PathErrors:108/:145 + Owner.Tests.ps1:98 (& $cmdlet, no throw only) + PermissionScopes:103 (splat, Source=Path).","Partly","ParameterSets.Access.Tests.ps1:500,502,512 Should return the same entries for a folder bound through the pipeline and by position, and report a missing path's error by category and target | ParameterSets.Access.Tests.ps1:745 should declare as its output type","what the cmdlet returns without -Path at all (beyond not throwing, Owner.Tests.ps1:98); the category of ReadSecurityError after a failed ownership retry; BeOfType on an actual emitted object (only the declared OutputType is asserted)","budget (the no -Path case); would-pin (ReadSecurityError is WriteError after a failed retry but OpenError from the generic catch - asserting a category here would cement that inconsistency, per the notes); budget (BeOfType on a live object)" +"access","Get-NTFSAccess","SD","False","1","0","2","3","NA","No","Partly","No","Partly","SecurityDescriptorSets.Tests.ps1:139 Get-NTFSAccess should return the entries that it returns for the path | Access.Tests.ps1:1098 Should read a security descriptor with audit entries and name the same folders | PermissionScopes.Tests.ps1:103 Should add and remove using on , preserving the other account","0","No test uses -Account, -ExcludeExplicit or -ExcludeInherited with a descriptor except the empty-result check of PermissionScopes:103, so an entry added to the descriptor in memory is never shown in the output; no test passes several descriptors or pipes more than one. The set has no per-item handler and no failing descriptor is tested.","TestNeeded","SecurityDescriptorSets.Tests.ps1:139-143 pipes one descriptor and compares Sid, rights and IsInherited of every entry with the -Path result (one item; the output cannot tell the SecurityDescriptor parameter from -Path bound by FullName); Access.Tests.ps1:1098-1103 (elevated only) compares count and InheritedFrom with the path result. BoundBy = scan 1 + SecurityDescriptorSets:139 (pipeline) + PermissionScopes:103 (splat, Source=SecurityDescriptor, asserts only an empty result).","Partly","ParameterSets.Access.Tests.ps1:528,533,535,542 Should filter an entry added to a descriptor in memory by -Account, partition it with -ExcludeInherited and -ExcludeExplicit, and read two descriptors bound through the pipeline","no failing descriptor is tested for this set (no per-item handler)","Limit (the SD loop has no try/catch; an exception would be unhandled and terminating, not a graceful per-item error - the same situation as the Clear-NTFSAccess SD row, which the notes explicitly excuse and this row's Gap text does not)" +"access","Get-NTFSOrphanedAccess","Path","False","4","4","0","6","NA","Partly","No","Partly","Partly","Access.Tests.ps1:218 Should return the entries whose account cannot be resolved | Access.Tests.ps1:222 Should return only the entries of -Account | PathErrors.Tests.ps1:145 should write a ReadSecurityError for it and continue with the next path | PipelineControl.Tests.ps1:148 should stop after the first object for Select-Object -First 1 and change nothing else","4: SMB share - entry of a deleted domain account with its SID, inherited entry and -ExcludeInherited, foreign-domain accounts not reported (Live:504, 515, 516, 868)","-ExcludeExplicit and -ExcludeInherited are untested in unit tests (lab only), and PathErrors runs this cmdlet with Output=false, so no test shows that the next path is processed after an error; no pipeline input and no category for ReadFileError or ReadSecurityError. A read failure other than access denied is written as a warning, which no test reaches.","TestNeeded","Access.Tests.ps1:218-225 asserts 2 orphaned entries and, for -Account, 1 entry with its Sid; PathErrors.Tests.ps1:108-115 and :145-152 assert one error with ErrorId and target but cannot show continuation because Output is false for this cmdlet (:29, :56). BoundBy = scan 4 + PathErrors:108 and :145 (& $Command).","Partly","ParameterSets.Access.Tests.ps1:559,560,566,567 Should mark an orphaned entry explicit on its own folder and inherited on a child, partitioned by -ExcludeInherited and -ExcludeExplicit | ParameterSets.Access.Tests.ps1:576,590 Should write a ReadFileError for a missing path, still return the orphaned entry of the next path, and accept both bound through the pipeline","the category of ReadSecurityError after a failed ownership retry; a read failure other than access denied, which is written as a warning, not an error","budget (ReadSecurityError here has one consistent category, ReadError, unlike Get-NTFSAccess, so it was safely assertable but not attempted); would-pin (the warning-not-error choice; the notes explicitly decline to propose pinning it)" +"access","Get-NTFSOrphanedAccess","SD","False","1","0","0","1","NA","No","No","No","Partly","Access.Tests.ps1:231 Should read the entries of a security descriptor","0","Only the count (2) and FullName are asserted; -Account, -ExcludeExplicit and -ExcludeInherited with a descriptor, the orphaned Sids, several or piped descriptors, and a descriptor changed in memory are untested.","TestNeeded","BoundBy = 1 (unambiguous; the cmdlet has no ambiguous rows): Access.Tests.ps1:231-234 asserts 2 entries, each with FullName equal to the file. Nothing else binds the set.","Partly","ParameterSets.Access.Tests.ps1:605,606,607,617 Should filter a descriptor's orphaned entries by -Account, report both orphaned Sids by default, exclude them all with -ExcludeExplicit, and read two descriptors bound through the pipeline","-ExcludeInherited with a descriptor; a descriptor changed only in memory (not written to disk) still reporting its orphaned entries","budget (both; the same fixture already built in this test could have been extended)" +"access","Get-NTFSSimpleAccess","Path","False","20","1","2","21","NA","Partly","Yes","Yes","Yes","Access.Tests.ps1:353 Should report all entries of the first folder and of the following folder only what the parent does not cover | Access.Tests.ps1:362 Should compare the folders from the pipeline in the same way | Access.Tests.ps1:485 Should write an error for a path that does not exist and continue with the next path | Access.Tests.ps1:267 Should show the entries as a table with the account, the rights, and the type","1: SMB share - parent folder first and for the subfolder only its own entry, as the delegated account (Live:832)","The ReadError of a missing path is asserted by ErrorId only (no category or target), and no test makes a folder unreadable: unlike Get-NTFSAccess the cmdlet does not retry as the owner, so what an unreadable folder reports is unpinned.","TestNeeded","Access.Tests.ps1:353-358 and :362-364 assert all 4 entries of the parent and only the child's own entry, for -Path and for Get-Item2 objects piped in; :485-490 asserts one ReadError and that every output object belongs to the next path; :267-269 asserts the table view; :251-254 and the rights-reduction cases assert Identity.Sid and AccessRights. BoundBy = scan 20 + Access:362 (pipeline, resolves to Path).","Partly","ParameterSets.Access.Tests.ps1:645 Should report an unreadable folder's error by category and target and still report the next folder's entries","the ReadError of a missing path (as opposed to an unreadable one) is still asserted by ErrorId only, without category or target","budget (Access.Tests.ps1:485 cannot be edited under a one-new-file brief, and no equivalent new test for the missing-path precondition specifically was added)" +"access","Get-NTFSSimpleAccess","SD","False","1","0","2","2","NA","No","Partly","No","Partly","Access.Tests.ps1:476 Should report the security descriptor of a file | Access.Tests.ps1:260 Should read the entries of a security descriptor","0","Only non-empty output and FullName are asserted; -Account, -ExcludeExplicit, -ExcludeInherited, the reduced rights and several descriptors are untested for the descriptor set, and no failing descriptor is tested.","TestNeeded","Access.Tests.ps1:260-263 reads one descriptor; :476-479 pipes one descriptor of a file: the -Path set skips files (Access:468-473), so a non-empty result can only come from the SD set; both assert FullName only. BoundBy = scan 1 + Access:476 (pipeline, resolves to SD).","Partly","ParameterSets.Access.Tests.ps1:666,667,671,673,674,679 Should filter and partition a descriptor's entries like the equivalent -Path call, and read two descriptors bound through the pipeline","no failing descriptor is tested for this set (no per-item handler)","Limit (same no-per-item-handler situation as the Clear-NTFSAccess SD and Get-NTFSAccess SD rows)" +"access","Get-NTFSEffectiveAccess","Path","True","11","7","1","15","NA","Yes","No","Partly","Partly","Access.Tests.ps1:1140 Should report the native identity error for each and return no access entry | Access.Tests.ps1:86 Should leave out an account without access when -ExcludeNoneAccessEntries is used | Access.Tests.ps1:145 Should return the result of this computer and warn | PathErrors.Tests.ps1:108 should write a for it and continue with the next path","7: SMB share, domain and delegated accounts - rights through domain groups and file-server groups with -ServerName, fallback warning, GetEffectiveAccessError for access denied (Live:419, 428, 438, 456, 478, 486, 895)","No unit test asserts the content of the rights (for example an allow and a deny entry on a file with a protected DACL: ReadData present, WriteData absent), pipes objects in, or shows in one call that a failing path emits nothing while the next path emits only its own result. The ReadEffectivePermissionError handlers cannot be reached because the library hides its failures, and remote and group-based results need the lab.","TestNeeded","Access.Tests.ps1:1140-1153 asserts for two failing paths ErrorId GetEffectiveAccessError, category ReadError, TargetObject, Win32Exception 1332, no output and unchanged SDDL; PathErrors.Tests.ps1:108-115 asserts ReadFileError and output for the next path; Access.Tests.ps1:86-95 asserts the ExcludeNone filter and :145-157 the warning text and equal rights. BoundBy = scan 11 + Access:1140 (splat, Source=Path) + PathErrors:108/:145 + Owner.Tests.ps1:98 (& $cmdlet, no throw only).","Partly","ParameterSets.Access.Tests.ps1:695 Should report an allowed right as present and a denied right as absent for a protected DACL | ParameterSets.Access.Tests.ps1:705 Should return one result per item bound through the pipeline, in order","one call combining a failing path (for example a missing one) with a succeeding one, showing the failing path emits nothing and the next emits only its own result; the ReadEffectivePermissionError handler; remote and group-based results","budget (the failing+succeeding combination); Limit (ReadEffectivePermissionError is unreachable - the library records failures instead of throwing); Limit (remote/group-based results need the lab)" +"access","Get-NTFSEffectiveAccess","SecurityDescriptor","False","2","0","1","3","NA","Yes","No","Partly","Partly","Access.Tests.ps1:1140 Should report the native identity error for each and return no access entry | Access.Tests.ps1:132 Should name the cause in the error, not the Security privilege | Access.Tests.ps1:107 Should compute the effective access of a security descriptor","0","No test shows that the result follows an entry added to the descriptor in memory (and not the file on disk), pipes descriptors in, or passes a mix of failing and succeeding descriptors; the rights themselves are not asserted.","TestNeeded","Access.Tests.ps1:1140-1153 (Source=SecurityDescriptor, 2 descriptors) asserts the same error triple, Win32Exception 1332 and no output; :132-137 asserts one GetEffectiveAccessError that does not blame the privilege; :107-111 asserts one result with the FullName of the file. BoundBy = scan 2 + Access:1140 (splat, Source=SecurityDescriptor).","Partly","ParameterSets.Access.Tests.ps1:721,727,736 Should follow a descriptor changed only in memory while the -Path result stays on disk, and read two descriptors bound through the pipeline","a mix of a failing and a succeeding descriptor in one call","Limit (the per-item catch exists but is unreachable in a unit sandbox; the library records the Authz failure instead of throwing, per the notes)" +"audit","Add-NTFSAudit","PathComplex","True","27","4","1","30","Yes","Yes","No","Yes","Yes","Audit.Tests.ps1:147 Should write an AddAceError for each item, change nothing, and return nothing with -PassThru | Audit.Tests.ps1:629 should use a held privilege or report a missing one and continue to the next path | Audit.Tests.ps1:178 Should add the audit entry and keep the owner | PermissionScopes.Tests.ps1:146 Should add and remove using on , preserving the other account","4 (NTFSSecurity.Live.Tests.ps1:348, 385, 1010, 1016): SMB share with domain accounts; owner kept; the delegated account gets an AddAceError that names the missing privilege and leaves the SDDL unchanged; the file server counts the SACL entries (:1441)","No test pipes paths or objects into -Path, binds Account/AccessRights/AuditFlags by property name, or adds for several accounts. No test asserts the result of a succeeding path that follows a failing one (PathErrors.Tests.ps1:124 only counts errors), and the owner retry after access denied cannot run on a local volume (Limit).","TestNeeded","Audit.Tests.ps1:149-158 asserts AddAceError, WriteError, target, ArgumentException, no -PassThru output and an unchanged SACL (Get-Acl -Audit) for two failing paths; :631-669 and :672-679 assert ReadFileError/OpenError/target, the FullName of the output, the SACL rule, and unchanged DACL/owner SDDL. BoundBy 30 = scan 27 + PermissionScopes:146 (13 of 52 cases) + 2 calls through & $Command that the scan cannot see (Audit.Tests.ps1:629, PathErrors.Tests.ps1:124); 23 of the 27 scanned calls are fixtures.","Partly","ParameterSets.Audit.Tests.ps1:129 Should add the audit entry for the piped object that exists, write a ReadFileError for the one that does not, and leave the DACL unchanged","AuditFlags not bound by property name; adding for several accounts in one call; the owner retry after access denied","budget; budget; Limit (needs a lab or a remote server)" +"audit","Add-NTFSAudit","PathSimple","False","5","0","2","7","Partly","No","No","No","Yes","PermissionScopes.Tests.ps1:146 Should add and remove using on , preserving the other account | Inheritance.Tests.ps1:386 Should set enabled= on a , remove requested audit entries=, and leave the DACL unchanged | Inheritance.Tests.ps1:424 Set-NTFSInheritance should re-enable audit inheritance on a <_> and keep its explicit audit entry","0","No call of this set fails on purpose, passes several paths, or pipes objects, and a conflict of -AppliesTo with -InheritanceFlags is not tested. The added entry is read back only from -PassThru and Get-NTFSAudit, and owner and DACL after the call are not asserted for this set.","TestNeeded","The only call under test is PermissionScopes.Tests.ps1:146 (Source=Path with the -AppliesTo form, 13 of 52 cases): :149-154 assert type, Inheritance/Propagation/AuditFlags and the scope name, and :161-163 that the other account remains. The other calls (PermissionScopes:144, Audit.Tests.ps1:618 and :690, Inheritance.Tests.ps1:386, :424, :503) are fixtures; BoundBy 7 = scan 5 + :144 and :146 resolved from the splat.","Closed","ParameterSets.Audit.Tests.ps1:129 Should add the audit entry for the piped object that exists, write a ReadFileError for the one that does not, and leave the DACL unchanged | ParameterSets.Audit.Tests.ps1:314 Should reject -AppliesTo combined with -InheritanceFlags with an AmbiguousParameterSet error","","" +"audit","Add-NTFSAudit","SDSimple","False","0","0","2","2","Partly","No","No","No","Yes","PermissionScopes.Tests.ps1:146 Should add and remove using on , preserving the other account | Audit.Tests.ps1:89 Should take -Account at position 2 and -AccessRights at position 3 in the <_> parameter set","0","No test makes this set fail, passes or pipes several descriptors, or reads the changed descriptor with .NET; a descriptor without audit entries is tested only with the complex form. Exceptions of the change itself end the cmdlet (open item 1) and are not to be pinned.","TestNeeded","Only PermissionScopes.Tests.ps1:146 binds it (Source=SecurityDescriptor with -AppliesTo, 13 of 52 cases; the fixture at :144 in 26): :149-154 assert the -PassThru type and flags and :156 that the SACL of the item is unchanged (Get-Acl -Audit). Audit.Tests.ps1:89 checks the positions by reflection only; BoundBy 2 resolves the two splat calls, the scan found 0.","Partly","ParameterSets.Audit.Tests.ps1:102 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:161 Should add the audit entry for the piped object that has an audit section, write a ReadSecurityError for the one that does not, and leave the item on disk unchanged until Set-NTFSSecurityDescriptor writes it | ParameterSets.Audit.Tests.ps1:326 Should add the entry to the descriptor when -SecurityDescriptor, -Account, -AccessRights, and -AppliesTo are all named directly","exceptions from the change itself (open item 1)","MaintainerDecision (open item)" +"audit","Add-NTFSAudit","SDComplex","False","5","0","1","8","Yes","Partly","No","No","Yes","Audit.Tests.ps1:107 Should bind an account and access rights that are passed by position | Audit.Tests.ps1:120 Should return the audit entries of a security descriptor, not its access entries | SecurityDescriptor.Tests.ps1:120 Should write an added audit entry and keep the owner | Audit.Tests.ps1:425 should write an error and leave the descriptor without audit entries","0","Only the ErrorId is asserted for a descriptor without audit entries, not its category (InvalidData) or target, and no test pipes descriptors or passes several (one without audit entries), so pipeline binding and continuation are untested. Exceptions of the change itself are open item 1 and are not to be pinned.","TestNeeded","Audit.Tests.ps1:109-110 reads the in-memory SACL with .NET and :122-136 assert type, Sid, InheritanceEnabled and the unchanged access protection; SecurityDescriptor.Tests.ps1:124-126 asserts after Set-NTFSSecurityDescriptor that the owner is kept and the entry exists; PermissionScopes.Tests.ps1:156 asserts the item is untouched until written. BoundBy 8 = scan 5 + PermissionScopes:146 (13 of 52 cases) + & $Command at Audit.Tests.ps1:425 and Access.Tests.ps1:881 (Should -Not -Throw only).","Partly","ParameterSets.Audit.Tests.ps1:102 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:161 Should add the audit entry for the piped object that has an audit section, write a ReadSecurityError for the one that does not, and leave the item on disk unchanged until Set-NTFSSecurityDescriptor writes it","exceptions from the change itself (open item 1)","MaintainerDecision (open item)" +"audit","Remove-NTFSAudit","PathComplex","True","7","2","1","10","Yes","Yes","No","Yes","Yes","Audit.Tests.ps1:629 should use a held privilege or report a missing one and continue to the next path | Audit.Tests.ps1:361 Should keep an audit entry that does not match exactly, given the path | Audit.Tests.ps1:371 Should remove an audit entry that matches exactly, given the path | Audit.Tests.ps1:384 Should return the audit entries of the item, not its access entries","2 (NTFSSecurity.Live.Tests.ps1:357, 398): SMB share with domain accounts; owner kept; the delegated account gets a RemoveAceError that names the missing privilege and leaves the SDDL unchanged; the file server counts the SACL entries (:1441)","No test pipes paths or objects in, removes for several accounts, asserts the result of a succeeding path after a failing one, or removes only some rights (without -RemoveSpecific). An item without SACL is tested for no error only (Audit.Tests.ps1:406), and the owner retry cannot run on a local volume (Limit).","TestNeeded","Audit.Tests.ps1:631-669 and :672-679 assert ReadFileError/OpenError/target (RemoveAceError/WriteError/target as a basic user), the SACL changed with no rule left, and unchanged DACL/owner SDDL; :363-365 and :373-374 read back through Get-NTFSAudit. BoundBy 10 = scan 7 + PermissionScopes:159 (13 of 52 cases) + & $Command at Audit.Tests.ps1:629 and PathErrors.Tests.ps1:124; :386-388 assert type and the other entry but pass even if nothing was removed.","Partly","ParameterSets.Audit.Tests.ps1:343 Should remove the audit entry for the piped object that exists, write a ReadFileError for the one that does not, and keep the other account's entry | ParameterSets.Audit.Tests.ps1:466 Should narrow an entry that grants more rights than it removes, instead of deleting it","removing for several accounts in one call; state (empty Audit SDDL, unchanged DACL) of an item without a SACL; the owner retry after access denied","budget; budget; Limit (needs a lab or a remote server)" +"audit","Remove-NTFSAudit","PathSimple","False","0","0","1","1","Partly","No","No","No","Partly","PermissionScopes.Tests.ps1:159 Should add and remove using on , preserving the other account","0","Only one data-driven call binds it: no failing item, pipeline input, several items, or owner and DACL check after the call, the objects are checked by Sid only, and it never runs without -RemoveSpecific.","TestNeeded","PermissionScopes.Tests.ps1:159 binds it only when Source=Path and Form=Flags (13 of 52 cases, always with -RemoveSpecific): :161-163 assert that the entry of the account is gone from -PassThru, that the other account remains, and that Get-NTFSAudit returns nothing for the account. BoundBy 1: the scan found 0 and this ambiguous splat call is the only one that binds the set.","Closed","ParameterSets.Audit.Tests.ps1:343 Should remove the audit entry for the piped object that exists, write a ReadFileError for the one that does not, and keep the other account's entry | ParameterSets.Audit.Tests.ps1:484 Should remove the entry from the path when -Path, -Account, -AccessRights, and -AppliesTo are all named directly","","" +"audit","Remove-NTFSAudit","SDSimple","False","0","0","1","1","Partly","No","No","No","Partly","PermissionScopes.Tests.ps1:159 Should add and remove using on , preserving the other account","0","Only one data-driven call binds it: the changed descriptor is read only through -PassThru and Get-NTFSAudit, the item being untouched after the removal is not asserted, and no test makes it fail, pipes or passes several descriptors, or runs without -RemoveSpecific.","TestNeeded","PermissionScopes.Tests.ps1:159 binds it only when Source=SecurityDescriptor and Form=Flags (13 of 52 cases, always with -RemoveSpecific): :161-163 assert that the entry of the account is gone, that the other account remains, and that Get-NTFSAudit returns nothing; the SACL on disk is compared only after the Add (:156). BoundBy 1: the scan found 0 and this ambiguous splat call is the only one that binds the set.","Partly","ParameterSets.Audit.Tests.ps1:102 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:375 Should remove the audit entry for the piped object that has an audit section, write a ReadSecurityError for the one that does not, and keep the other account's entry | ParameterSets.Audit.Tests.ps1:501 Should remove the entry from the descriptor when -SecurityDescriptor, -Account, -AccessRights, and -AppliesTo are all named directly","the item on disk being untouched after the removal, until Set-NTFSSecurityDescriptor writes it","budget" +"audit","Remove-NTFSAudit","SDComplex","False","2","0","1","5","Partly","Partly","No","No","Partly","Audit.Tests.ps1:347 Should keep an audit entry that does not match exactly | Audit.Tests.ps1:353 Should remove an audit entry that matches exactly | Audit.Tests.ps1:425 should write an error and leave the descriptor without audit entries | PermissionScopes.Tests.ps1:159 Should add and remove using on , preserving the other account","0","The item being untouched after the removal and the result after Set-NTFSSecurityDescriptor are not asserted, the error test lacks category and target, and no test pipes or passes several descriptors, checks the -PassThru type, or asserts a removal without -RemoveSpecific. Exceptions of the change itself are open item 1 and are not to be pinned.","TestNeeded","Audit.Tests.ps1:349 and :355 read the in-memory SACL with .NET (non-matching entry kept, matching entry removed) and :427-432 assert one ReadSecurityError, no output and the SACL still empty; PermissionScopes.Tests.ps1:161-163 assert by Sid only. BoundBy 5 = scan 2 + PermissionScopes:159 (13 of 52 cases) + & $Command at Audit.Tests.ps1:425 and Access.Tests.ps1:881 (Should -Not -Throw only).","Partly","ParameterSets.Audit.Tests.ps1:102 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:375 Should remove the audit entry for the piped object that has an audit section, write a ReadSecurityError for the one that does not, and keep the other account's entry","the item on disk untouched after the removal and the result after Set-NTFSSecurityDescriptor; the -PassThru output type; exceptions from the change itself (open item 1)","budget; budget; MaintainerDecision (open item)" +"audit","Clear-NTFSAudit","Path","True","3","1","0","5","Yes","Yes","No","Yes","NA","Audit.Tests.ps1:629 should use a held privilege or report a missing one and continue to the next path | Audit.Tests.ps1:455 Should remove the audit entries and keep the owner | Audit.Tests.ps1:478 Should write no error and leave the access entries unchanged | Audit.Tests.ps1:495 Should write an error and leave the item unchanged","2 (NTFSSecurity.Live.Tests.ps1:652, plus :684 through & $Command that the scan cannot see): SMB share; explicit entry cleared with the inherited entry and the owner kept; the delegated account gets a ClearAclError that names the missing privilege and leaves the SDDL unchanged; the file server checks the SACL (:1453)","-DisableInheritance on a path is passed (Audit.Tests.ps1:629) but its end state (protected SACL, no copied inherited entries) is never asserted, and no test pipes paths or asserts the result of a succeeding path after a failing one. The owner retry after access denied cannot run on a local volume (Limit).","TestNeeded","Audit.Tests.ps1:457-459 asserts no error, owner kept (.NET) and no entry left (Get-NTFSAudit); :480-483 and :497-499 assert an unchanged DACL and, without the privilege, a ClearAclError with an unchanged SDDL; :631-669 and :672-679 add category and target. BoundBy 5 = scan 3 + & $Command at Audit.Tests.ps1:629 and PathErrors.Tests.ps1:124.","Partly","ParameterSets.Audit.Tests.ps1:519 Should clear the audit entries of each path taken from the pipeline and leave the DACL of each unchanged | ParameterSets.Audit.Tests.ps1:540 Should protect the SACL and not copy the parent's inherited entry when clearing a child path","the result of a succeeding path that follows a failing one; the owner retry after access denied","budget; Limit (needs a lab or a remote server)" +"audit","Clear-NTFSAudit","SD","False","2","0","0","3","Yes","Partly","No","No","NA","Audit.Tests.ps1:696 Should clear and protect the descriptor SACL without writing the | SecurityDescriptorSets.Tests.ps1:107 Clear-NTFSAudit should remove the explicit audit entries of the descriptor | Audit.Tests.ps1:425 should write an error and leave the descriptor without audit entries","0","No test pipes descriptors or passes several (one without audit entries), and the error test asserts the ErrorId but not category or target.","TestNeeded","Audit.Tests.ps1:698-705 asserts the in-memory SACL cleared and protected (.NET), the SACL of the item untouched until Set-NTFSSecurityDescriptor, then the state on disk and an unchanged DACL; SecurityDescriptorSets.Tests.ps1:109-112 asserts the same for the unprotected form. BoundBy 3 = scan 2 + & $Command at Audit.Tests.ps1:425 (error case only).","Closed","ParameterSets.Audit.Tests.ps1:102 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:561 Should clear each piped descriptor that has an audit section and continue past one that does not","","" +"audit","Get-NTFSAudit","Path","False","24","4","2","27","NA","Partly","No","Partly","Partly","Audit.Tests.ps1:529 Should name the folder that an inherited entry comes from, also with -ExcludeExplicit | Audit.Tests.ps1:48 Should write an error without the Security privilege instead of returning nothing | PathErrors.Tests.ps1:124 should write a ReadFileError for it and continue with the next path | Inheritance.Tests.ps1:387 Should set enabled= on a , remove requested audit entries=, and leave the DACL unchanged","4 (NTFSSecurity.Live.Tests.ps1:336, 373, 656, 657): SMB share with domain accounts; Sid, AuditFlags and rights of the entry; the delegated account gets a ReadSecurityError that names the missing privilege","No test pipes paths or FileInfo/DirectoryInfo into it, asserts the category of its errors or the target of ReadSecurityError, or (in unit tests) the type, AuditFlags and inheritance flags of the output. No unit test has a failing path followed by a path whose entries are asserted (Audit.Tests.ps1:70-73 documents that the second path of the test at :80 no longer fails), and the PermissionDenied branch cannot run on a local volume (Limit).","TestNeeded","Audit.Tests.ps1:50-52 asserts one ReadSecurityError by ErrorId only (basic user); :531-534 and :577-578 assert IsInherited and InheritedFrom; PathErrors.Tests.ps1:130-132 asserts ReadFileError and target for a missing path but discards the output (:124). BoundBy 27 = scan 24 + PermissionScopes:163 (26 of 52 cases) + & $Command at PathErrors.Tests.ps1:124 and Owner.Tests.ps1:98 (no -Path, Should -Not -Throw).","Partly","ParameterSets.Audit.Tests.ps1:590 Should return the entries of the existing path in either position and a ReadFileError, category OpenError, for the missing one | ParameterSets.Audit.Tests.ps1:619 Should return the entries of each path object taken from the pipeline by value | ParameterSets.Audit.Tests.ps1:634 Should write a ReadSecurityError with category OpenError and the path as target without the Security privilege","the PermissionDenied category branch of ReadSecurityError","Limit (needs a lab or a remote server)" +"audit","Get-NTFSAudit","SD","False","1","0","2","3","NA","Partly","Partly","No","Partly","Audit.Tests.ps1:61 Should write an error for a security descriptor that was read without the audit entries | SecurityDescriptorSets.Tests.ps1:160 Get-NTFSAudit should return the audit entries that it returns for the path | PermissionScopes.Tests.ps1:163 Should add and remove using on , preserving the other account","0","The output is compared only with the output of the Path set (no expected type, flags or values), at most one descriptor is piped, and no test passes several descriptors (one without audit entries). The error test lacks category and target.","TestNeeded","Audit.Tests.ps1:63-65 asserts no output and one ReadSecurityError; SecurityDescriptorSets.Tests.ps1:160-163 pipes one descriptor and asserts one entry equal to the Path result (Sid, AccessRights, AuditFlags); PermissionScopes.Tests.ps1:163 asserts only emptiness after a removal. BoundBy 3 = scan 1 + SecurityDescriptorSets:160 (piped by value, so SD) + PermissionScopes:163 (26 of 52 cases).","Partly","ParameterSets.Audit.Tests.ps1:102 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:648 Should return the entries of the piped descriptor that has an audit section and continue past one that does not","an expected type, flags, or values for the output, independent of comparing it to the Path set's output","budget" +"audit","Get-NTFSOrphanedAudit","Path","False","9","1","2","9","NA","Partly","No","Yes","Yes","Audit.Tests.ps1:228 Should return one object per entry whose account cannot be resolved | Audit.Tests.ps1:250 Should return an inherited entry, and nothing with -ExcludeInherited | Audit.Tests.ps1:279 Should write an error for a path that does not exist and continue with the next path without the Security privilege | Audit.Tests.ps1:304 Should write a ReadSecurityError without the Security privilege instead of returning nothing","1 (NTFSSecurity.Live.Tests.ps1:843): SMB share; the entry of a deleted domain account is returned with its SID, without error or warning","No test pipes paths into it, asserts the category of ReadError or ReadSecurityError, or runs -ExcludeExplicit, and the elevated continuation test passes on an empty result (Audit.Tests.ps1:273).","TestNeeded","Audit.Tests.ps1:230-232, :238-239 and :253-256 assert count, type, Sid and IsInherited; :282-286 (basic user) asserts ReadError for the missing path and a ReadSecurityError with its own target for the next path, which shows that the cmdlet continued, while :270-273 (elevated) asserts one error and then only a ForEach over the result. BoundBy 9 = scan 9.","Partly","ParameterSets.Audit.Tests.ps1:670 Should return the orphaned entries of each path taken from the pipeline and write a ReadError, category OpenError, for one that does not exist","the category of ReadSecurityError without the Security privilege; -ExcludeExplicit","budget; budget" +"audit","Get-NTFSOrphanedAudit","SD","False","0","0","2","2","NA","Partly","Partly","No","Partly","Audit.Tests.ps1:243 Should read the entries of a security descriptor | Audit.Tests.ps1:294 Should write an error for a security descriptor that was read without the audit entries","0","At most one descriptor is piped and none is passed in an array, so continuation is untested; -Account and -Exclude* with a descriptor, the entry type and Sid, and the category and target of the error are not asserted.","TestNeeded","Both calls pipe one descriptor, which PowerShell binds by value to -SecurityDescriptor (the elevated run of :296-298 proves it: a Path binding would return entries): :245-246 assert 2 entries with FullName and :296-298 assert no output and one ReadSecurityError. BoundBy 2 = the two ambiguous piped calls (Audit.Tests.ps1:243 and :294); the scan found 0.","Partly","ParameterSets.Audit.Tests.ps1:102 should write a ReadSecurityError with category InvalidData and the descriptor as target for the set, and change nothing | ParameterSets.Audit.Tests.ps1:691 Should return the orphaned entries of the piped descriptor that has an audit section and continue past one that does not | ParameterSets.Audit.Tests.ps1:713 Should return the orphaned entries when -SecurityDescriptor is named directly","-Account and -ExcludeInherited/-ExcludeExplicit filters with a descriptor","budget" "inheritance","Disable-NTFSAccessInheritance","Path","True","9","1","0","16","Partly","Partly","No","Partly","Yes","Inheritance.Tests.ps1:318 Should set enabled= on a , remove requested entries=, and report the written state | PathErrors.Tests.ps1:157 should keep the denied item unchanged, report , and process the next item | PathErrors.Tests.ps1:301 Disable-NTFSAccessInheritance should take ownership, protect the DACL, and set the owner back | Inheritance.Tests.ps1:133 <_> should write an error and return nothing when the security descriptor cannot be read","1 (SMB as the delegated account, NTFSSecurity.Live.Tests.ps1:281-289: no error, owner Administrators kept, DACL protected by Get-Acl)","Not asserted: the error category (OpenError, WriteError), piped input (documented: Get-ChildItem2 | Disable-NTFSAccessInheritance -PassThru), a .NET readback of the kept or removed inherited entries (only Get-NTFSAccess reads them), RestoreOwnerError, -PassThru with a failing item among several, and the documented no-op when no -Path is given.","TestNeeded","Inheritance.Tests.ps1:341-360 asserts the -PassThru object (type, FullName, flag) and reads flag, owner and entries back only with Get-NTFSInheritance, Get-NTFSOwner and Get-NTFSAccess; the .NET readbacks assert flag and owner only (PathErrors.Tests.ps1:307-309 and 183-191, DriveRoot.Tests.ps1:113). Errors: PathErrors.Tests.ps1:110-112 and 180-182 assert ErrorId and target, never the category; no test pipes into the cmdlet. BoundBy 16 = scan 9 (6 are fixtures) + 7 calls through & $Command or & $_ (PathErrors:108,178; Inheritance:139,152,339,456; Privileges:123).","Partly","ParameterSets.Inheritance.Tests.ps1:178 Should set the DACL protected flag to and the explicit/inherited rule counts for -Remove= on a , read with Get-Acl | ParameterSets.Inheritance.Tests.ps1:345 should report with category WriteError and target for the denied item, and still return the next item's new state with -PassThru | ParameterSets.Inheritance.Tests.ps1:368 should report RestoreOwnerError after a successful ownership retry and continue with the next path | ParameterSets.Inheritance.Tests.ps1:479 should take piped folders from Get-ChildItem2 and report the inheritance state of each with -PassThru","OpenError category for a path that does not exist; the documented no-op without -Path","budget; budget" "inheritance","Disable-NTFSAccessInheritance","SecurityDescriptor","False","1","0","0","2","Yes","NA","No","NA","Yes","SecurityDescriptorSets.Tests.ps1:71 Disable-NTFSAccessInheritance should protect the DACL of the descriptor and keep the inherited entries | Inheritance.Tests.ps1:543 should return the changed descriptor state without writing the ","0","Not asserted: -RemoveInheritedAccessRules with a descriptor, the owner after the write, and several descriptors (array or pipeline). The set has no per-item handler, like the sets of open item 1 (which does not name it), but it cannot fail on a descriptor from Get-NTFSSecurityDescriptor.","TestNeeded","SecurityDescriptorSets.Tests.ps1:79-84 asserts the in-memory flag, the item unchanged before the write (Get-Acl), and after Set-NTFSSecurityDescriptor the flag and an explicit count equal to the inherited count (.NET); Inheritance.Tests.ps1:557-562 asserts count, FullName and flag of the -PassThru object. BoundBy 2 = scan 1 + Inheritance:555 (& $Command -SecurityDescriptor).","Partly","ParameterSets.Inheritance.Tests.ps1:255 -SecurityDescriptor should change the in-memory access entries per -:, applied to the item only after Set-NTFSSecurityDescriptor writes it | ParameterSets.Inheritance.Tests.ps1:513,547 -SecurityDescriptor should take two piped descriptors and report both in order, written only by Set-NTFSSecurityDescriptor","the owner unchanged after the descriptor write","budget" "inheritance","Enable-NTFSAccessInheritance","Path","True","3","1","0","10","Partly","Partly","No","Partly","Yes","Inheritance.Tests.ps1:318 Should set enabled= on a , remove requested entries=, and report the written state | PathErrors.Tests.ps1:157 should keep the denied item unchanged, report , and process the next item | PathErrors.Tests.ps1:312 Enable-NTFSAccessInheritance should take ownership, let the DACL inherit, and set the owner back | DriveRoot.Tests.ps1:110 Should block and restore the access inheritance of the folder that the drive maps","1 (SMB as the delegated account, NTFSSecurity.Live.Tests.ps1:291-299: no error, owner kept, DACL inherits again by Get-Acl)","Not asserted: the error category, piped input (documented: Get-NTFSInheritance output piped into Enable-NTFSAccessInheritance -RemoveExplicitAccessRules), a .NET readback of explicit and inherited entries after the call (only Get-NTFSAccess reads them), RestoreOwnerError, -PassThru with a failing item among several, and the documented no-op when no -Path is given.","TestNeeded","Inheritance.Tests.ps1:341-360 (Enable cases) asserts the object and reads re-inherited and explicit entries back only with Get-NTFSAccess; the .NET readbacks assert flag and owner only (PathErrors.Tests.ps1:319-321 and 190-191, DriveRoot.Tests.ps1:117). Errors as for Disable: ErrorId and target (PathErrors.Tests.ps1:110-112, 180-182), no category; no piped input. BoundBy 10 = scan 3 + 7 calls through & $Command or & $_ (PathErrors:108,178; Inheritance:139,152,339,456; Privileges:123).","Partly","ParameterSets.Inheritance.Tests.ps1:178 Should set the DACL protected flag to and the explicit/inherited rule counts for -Remove= on a , read with Get-Acl | ParameterSets.Inheritance.Tests.ps1:345 should report with category WriteError and target for the denied item, and still return the next item's new state with -PassThru | ParameterSets.Inheritance.Tests.ps1:368 should report RestoreOwnerError after a successful ownership retry and continue with the next path | ParameterSets.Inheritance.Tests.ps1:479 should take piped folders from Get-ChildItem2 and report the inheritance state of each with -PassThru","OpenError category for a path that does not exist; the documented no-op without -Path","budget; budget" @@ -49,14 +49,14 @@ "inheritance","Set-NTFSOwner","SecurityDescriptor","False","2","0","1","2","Partly","NA","No","NA","Partly","Owner.Tests.ps1:284 Should change only the descriptor in memory until Set-NTFSSecurityDescriptor writes it | Owner.Tests.ps1:303 Should write nothing without -PassThru and leave the owner of the item unchanged","0","The persisted-owner test is skipped for basic users (Owner.Tests.ps1:287-290); not asserted: DACL unchanged after the write, FullName and type of the -PassThru object (only the -Path set asserts them), and several descriptors (array or pipeline).","TestNeeded","Owner.Tests.ps1:296-300 asserts count, Owner.Sid, the item's owner unchanged until Set-NTFSSecurityDescriptor and changed after (.NET), but the test is skipped when the user owns new items (:287-290); :312-314 asserts no output without -PassThru, the in-memory owner and the item's owner unchanged. BoundBy 2 = scan 2.","Partly","ParameterSets.Inheritance.Tests.ps1:698,713 Set-NTFSOwner -SecurityDescriptor should change both owners in memory without touching the items, piped and passed directly to the parameter","the DACL unchanged after the write; the type of the -PassThru object (BeOfType)","budget; budget" "inheritance","Get-NTFSSecurityDescriptor","__AllParameterSets","False","79","5","0","82","NA","Partly","No","Partly","Yes","SecurityDescriptor.Tests.ps1:52 Should report the inherited access entries as inherited | SecurityDescriptor.Tests.ps1:63 Should read the owner and the audit entries with the access entries | DriveRoot.Tests.ps1:39 Get-NTFSSecurityDescriptor should read the DACL of the root folder | PathErrors.Tests.ps1:140 should write a ReadSecurityError for it and continue with the next path","5 (SMB read-backs for the descriptor tests, NTFSSecurity.Live.Tests.ps1:315, 965, 1150, and InheritedFrom of a vanished item, :988, 1017)","Untested combinations: piped paths and file or folder objects (documented: Get-ChildItem2 | Get-NTFSSecurityDescriptor), no -Path (current location; Owner.Tests.ps1:92 asserts -Not -Throw only), the error category, and that the next item yields exactly one descriptor. [Limit] The documented ownership retry has no success path on a local volume.","TestNeeded","SecurityDescriptor.Tests.ps1:59-60 (inherited flags against the Get-Acl count) and :70-71 (owner against Get-Acl, audit rules) need the Security privilege; DriveRoot.Tests.ps1:42 compares the DACL SDDL with Get-Acl; PathErrors.Tests.ps1:110-115 and 147-152 assert ReadFileError and ReadSecurityError with target and non-empty output. BoundBy 82 = scan 79 + 3 calls through & $Command or & $_ (PathErrors:108,145; Owner:98).","Partly","ParameterSets.Inheritance.Tests.ps1:385 should write with category OpenError for a path that does not exist, and return exactly one object for the next path | ParameterSets.Inheritance.Tests.ps1:727,738,745 Get-NTFSSecurityDescriptor should take piped folder objects, a standard Get-Item object, and a piped custom object by its Path property","the result for no -Path (current location); a successful ownership-retry read","budget; Limit, no local volume reaches the success path" "inheritance","Set-NTFSSecurityDescriptor","__AllParameterSets","False","29","4","0","29","Yes","Yes","Yes","Yes","Yes","SecurityDescriptor.Tests.ps1:299 Should report a denied write, return no failed item, and write the next descriptor | SecurityDescriptor.Tests.ps1:249 Should report RestoreOwnerError for a previous owner that it cannot set back after the write | SecurityDescriptor.Tests.ps1:213 Should return the written descriptor with -PassThru also when it took ownership for the write | SecurityDescriptor.Tests.ps1:133 Should not write back the access entries of an unchanged descriptor","4 (SMB: writes the added entry and keeps the owner, NTFSSecurity.Live.Tests.ps1:317; writes the cleared DACL without RestoreOwnerError, :968; a later command that stops the pipeline leaves the second descriptor unwritten, :1154, 1165)","Untested combinations: positional binding (declared Position 2), the by-property-name pipeline form, and the category and target of the -PassThru ReadSecurityError (only its ErrorId is asserted, SecurityDescriptor.Tests.ps1:361). [Limit] A failing SACL write needs a lab.","None","SecurityDescriptor.Tests.ps1:308-317 pipes two descriptors with -PassThru and asserts WriteSdError, category WriteError, target, the denied item's SDDL unchanged (.NET), one object for the next item and its entry; :259-264 asserts RestoreOwnerError with category and target; :223-226 asserts the -PassThru object after an ownership retry. BoundBy 29 = scan 29 (no calls through variables).","None","","positional binding at Position 2; the by-property-name pipeline form; category and target of the -PassThru ReadSecurityError","would-pin, Position 2 vs siblings' Position 1 looks like an undecided inconsistency per the notes; budget, row judged GapKind None; budget, row judged GapKind None" -"items","Copy-Item2","__AllParameterSets","False","6","4","0","20","Yes","Yes","No","Yes","Partly","ItemCmdlets.Tests.ps1:786 should write a for a source that another process has locked and continue with the next path | ItemCmdlets.Tests.ps1:815 should write a for each source when the destination folder denies new files | ItemCmdlets.Tests.ps1:635 <_> should write DestinationFileAlreadyExists for a folder that exists at the destination and change nothing | ItemCmdlets.Tests.ps1:674 Copy-Item2 -Force should copy a folder into an existing folder of the same name and replace the files in both","4: -WhatIf onto an existing file on a share (#108, administrator); copy of a file and a folder as the delegated account; later-command stop on a share","No test pipes paths into it (documented: Get-ChildItem2 | Copy-Item2 -Destination), passes an empty or null -Path, a FileInfo object, a path with brackets, a path over 260 characters or a drive root, and -Force replacing an existing file is covered only through the folder merge. FileNotFound and the file case of DestinationFileAlreadyExists are asserted by error count only, and -PassThru asserts FullName but not the output type or that nothing is written without it.","TestNeeded","ItemCmdlets.Tests.ps1:786-801 and :815-827 assert ErrorId, category, target, exception type, only the second item's result and untouched sources; :605-613 and :644-649 read the folder conflict and the merge back; Owner.Tests.ps1:160-163 reads the copied content. 14 of the 20 call sites are '& $Command' calls in ItemCmdlets.Tests.ps1 (lines 514 to 814) that the scan does not resolve.","Partly","ParameterSets.Items.Tests.ps1:36 should accept piped by value and still process the surrounding items | ParameterSets.Items.Tests.ps1:229 should reject -Path instead of silently using the current location","a path with brackets; a path over 260 characters; a drive root; -Force replacing an existing file (still only covered through the folder merge); the file case of DestinationFileAlreadyExists with category/target (still error count only); -PassThru output type; that nothing is written without -PassThru","budget (all items; none needs a lab, none pins an open maintainer decision)" -"items","Get-ChildItem2","__AllParameterSets","False","34","8","0","36","NA","Yes","No","Yes","Yes","ItemCmdlets.Tests.ps1:98 Should apply without broadening the other attribute filters | ItemCmdlets.Tests.ps1:137 Should return the exact tree for | ItemCmdlets.Tests.ps1:312 Should report the denied folder and continue with the next path | ItemCmdlets.Tests.ps1:370 Should report a junction whose target was removed as a DirUnspecifiedError and continue with the next folder","8: over SMB: path over 260 characters (administrator), -Hidden and a listing (delegated account), -Filter cases, later-command stop with a denied nested folder","No test pipes folders or strings into -Path (documented by value and by FullName), asserts the result of omitting -Path or of a relative -Path (Owner.Tests.ps1:98 only asserts no throw), or lists a drive root or a path over 260 characters in a unit test. -Directory with -File, -Attributes with -Force/-Hidden/-System/-ReadOnly (documented: ignored), -Depth without -Recurse and the dir2 alias are unasserted, and FileNotFound and AttributesEmpty are asserted without category (and without target for AttributesEmpty); the -Filter dot rules are pinned already and are the maintainer's, so they are not counted here.","TestNeeded","ItemCmdlets.Tests.ps1:98-100 and :137-140 assert exact name sets for ten attribute-switch cases and for the Recurse/Depth/Directory/File/Filter cases; :282-289 and :340-348 assert ErrorId, category, target (and exception type) and that the next path or sibling is still listed; :44-49 and :402-406 assert the AlphaFS types; PathErrors.Tests.ps1:108-114 covers FileNotFound (ID and target only).","Partly","ParameterSets.Items.Tests.ps1:91 Should accept piped folders by value, write one error for a path that does not exist, and list the items of the other folders | ParameterSets.Items.Tests.ps1:111 Should accept folder objects piped from Get-ChildItem2 -Directory and list only the files directly below them","the result of an omitted -Path; the result of a relative -Path; a drive root in a unit test; a path over 260 characters in a unit test; -Directory with -File together; -Attributes with -Force/-Hidden/-System/-ReadOnly; -Depth without -Recurse; the dir2 alias; AttributesEmpty category and target","budget (all items; the -Filter dot rules are the maintainer's and were already excluded from this Gap)" -"items","Get-Item2","__AllParameterSets","False","17","1","0","19","NA","Partly","No","Partly","Partly","PathErrors.Tests.ps1:108 should write a for it and continue with the next path | ItemCmdlets.Tests.ps1:965 Get-Item2 should resolve against the current location | Owner.Tests.ps1:235 Should take the items from the pipeline | PipelineControl.Tests.ps1:124 should stop after the first object for Select-Object -First 1 and change nothing else","1: FullName and Length of a file on a share (delegated account)","No test pipes paths into it (documented: 'C:\Data','C:\Data\Reports' | Get-Item2) or omits -Path (documented: the current location), and the output type (FileInfo or DirectoryInfo) and the Mode property are never asserted; bracket paths, paths over 260 characters and a drive root are untested. The FileNotFound category is not asserted and the output for the next path is checked only as non-empty.","TestNeeded","PathErrors.Tests.ps1:108-114 asserts one FileNotFound error with the missing path as target and non-empty output for the next path; ItemCmdlets.Tests.ps1:965-973 asserts HaveCount 1 and FullName for six relative paths. 15 of the 17 scan calls are fixtures that feed descriptors or other cmdlets (Access, Audit, Inheritance, ObjectApis, Owner, SecurityDescriptor).","Partly","ParameterSets.Items.Tests.ps1:133 Should accept piped items by value, return each in order with its output type, and write one error for a path that does not exist","an omitted -Path defaulting to the current location; bracket paths; paths over 260 characters; a drive root","budget (all items)" -"items","Move-Item2","__AllParameterSets","False","7","3","0","21","Yes","Yes","No","Yes","Yes","ItemCmdlets.Tests.ps1:786 should write a for a source that another process has locked and continue with the next path | ItemCmdlets.Tests.ps1:815 should write a for each source when the destination folder denies new files | ItemCmdlets.Tests.ps1:651 Move-Item2 -Force should replace an existing file with PassThru=<_> | ItemCmdlets.Tests.ps1:871 Should refuse to move folder to another volume and leave it in place","3: -WhatIf onto an existing file on a share (administrator); move of a file as the delegated account; later-command stop on a share","No test pipes paths into it (documented), passes an empty or null -Path, moves a non-empty folder tree, or renames an item inside one folder on the same volume (the cross-volume cases need an elevated admin share), and -Force replacing a folder, bracket or wildcard paths, paths over 260 characters and a drive-root destination are untested. FileNotFound is asserted by error count only.","TestNeeded","ItemCmdlets.Tests.ps1:651-661 asserts the source is gone, the content at the destination and PassThru true and false; :576-592 asserts the moved file and folder (DirectoryInfo) and the removed source folder; :756-771 and :785-797 assert ErrorId, category, target, exception type and the other item's result. The cross-volume tests at :841-878 skip without an elevated admin share.","Partly","ParameterSets.Items.Tests.ps1:36 should accept piped by value and still process the surrounding items | ParameterSets.Items.Tests.ps1:229 should reject -Path instead of silently using the current location","moving a non-empty folder tree; renaming an item in place on the same volume; -Force replacing a folder; bracket or wildcard paths; paths over 260 characters; a drive-root destination","budget (all items)" -"items","Remove-Item2","__AllParameterSets","False","15","2","0","16","Yes","Yes","No","Yes","Partly","Remove-Item2.Tests.ps1:43 Should report DeleteError for a non-empty folder without -Recurse and continue with the next path | Remove-Item2.Tests.ps1:104 Should write DeleteError when a descendant is open without delete sharing, not a successful -PassThru result | Remove-Item2.Tests.ps1:126 Should delete a junction with -Recurse without deleting or changing its target | Remove-Item2.Tests.ps1:77 Should leave a folder tree unchanged with -Recurse -Force -WhatIf and write nothing with -PassThru","2: removal of a file on a share as the delegated account; later-command stop on a share","No test pipes items into it (documented: Get-ChildItem2 ... | Remove-Item2), omits -Path (documented: the cmdlet does nothing), passes an empty or null -Path (the ValidateNotNullOrEmpty guard that keeps it from meaning the current location), passes bracket or wildcard paths (documented: literal) or uses rm2/del2. FileNotFound is asserted by error count only (ItemCmdlets.Tests.ps1:537), the access-denied branch of DeleteError (category NotSpecified) is unasserted, and that a successful removal without -PassThru writes nothing is not asserted.","TestNeeded","Remove-Item2.Tests.ps1:43-52 asserts DeleteError, InvalidData, target, kept content, the removed next item and exactly one result; :104-114 and :152-158 assert DeleteError and no success-shaped result with the content kept; :126-130 asserts the junction is removed and its target content and SDDL are unchanged; :176-184 covers the -PassThur alias.","Partly","ParameterSets.Items.Tests.ps1:157 Should accept piped items by value, write one error for a non-empty folder, remove the files, and keep the folder | ParameterSets.Items.Tests.ps1:185 Remove-Item2 should reject -Path instead of removing the current location","-Path omitted entirely (documented: the cmdlet does nothing); bracket or wildcard paths; the rm2/del2 aliases; FileNotFound category/target (still error count only); the access-denied DeleteError branch (category NotSpecified); that a successful removal without -PassThru writes nothing","budget (all items)" -"items","Test-Path2","__AllParameterSets","False","14","3","0","14","NA","NA","Partly","Yes","Yes","ItemCmdlets.Tests.ps1:997 Should return for a with -PathType | ItemCmdlets.Tests.ps1:1039 Should return $false for a path with the character <_> and continue with the next path | ItemCmdlets.Tests.ps1:1030 Should find a folder whose path is longer than 260 characters | ItemCmdlets.Tests.ps1:1011 Should take the items from the pipeline","3: file, folder and missing item with -PathType on a share (delegated account)","The pipeline test pipes one file; no test pipes several items (documented: Get-ChildItem2 -Recurse | Test-Path2 -PathType Leaf) or objects with PathType by property name, or tests a drive root, a UNC path or a bracket path. Errors are NA because the cmdlet writes $false for a missing or invalid path; its PathNotFound handler looks unreachable (see the notes).","TestNeeded","ItemCmdlets.Tests.ps1:997-1002 asserts one [bool] with the expected value for file, folder and missing item under all three -PathType values; :1009-1013 asserts no error and 'False,True' for six invalid characters followed by a valid path; :981-983 pipes one FileInfo; :992-1001 covers a folder path over 260 characters.","Open","","piping several items into -Path; -PathType bound by property name; a drive root; a UNC path; a bracket path","budget (deprioritized: PipelineInput was already Partly, not No, so lower priority than the cmdlets with no pipeline test at all)" +"items","Copy-Item2","__AllParameterSets","False","6","4","0","20","Yes","Yes","No","Yes","Partly","ItemCmdlets.Tests.ps1:793 should write a for a source that another process has locked and continue with the next path | ItemCmdlets.Tests.ps1:822 should write a for each source when the destination folder denies new files | ItemCmdlets.Tests.ps1:642 <_> should write DestinationFileAlreadyExists for a folder that exists at the destination and change nothing | ItemCmdlets.Tests.ps1:681 Copy-Item2 -Force should copy a folder into an existing folder of the same name and replace the files in both","4: -WhatIf onto an existing file on a share (#108, administrator); copy of a file and a folder as the delegated account; later-command stop on a share","No test pipes paths into it (documented: Get-ChildItem2 | Copy-Item2 -Destination), passes an empty or null -Path, a FileInfo object, a path with brackets, a path over 260 characters or a drive root, and -Force replacing an existing file is covered only through the folder merge. FileNotFound and the file case of DestinationFileAlreadyExists are asserted by error count only, and -PassThru asserts FullName but not the output type or that nothing is written without it.","TestNeeded","ItemCmdlets.Tests.ps1:793-808 and :822-834 assert ErrorId, category, target, exception type, only the second item's result and untouched sources; :605-613 and :644-649 read the folder conflict and the merge back; Owner.Tests.ps1:160-163 reads the copied content. 14 of the 20 call sites are '& $Command' calls in ItemCmdlets.Tests.ps1 (lines 514 to 814) that the scan does not resolve.","Partly","ParameterSets.Items.Tests.ps1:36 should accept piped by value and still process the surrounding items | ParameterSets.Items.Tests.ps1:229 should reject -Path instead of silently using the current location","a path with brackets; a path over 260 characters; a drive root; -Force replacing an existing file (still only covered through the folder merge); the file case of DestinationFileAlreadyExists with category/target (still error count only); -PassThru output type; that nothing is written without -PassThru","budget (all items; none needs a lab, none pins an open maintainer decision)" +"items","Get-ChildItem2","__AllParameterSets","False","34","8","0","36","NA","Yes","No","Yes","Yes","ItemCmdlets.Tests.ps1:98 Should apply without broadening the other attribute filters | ItemCmdlets.Tests.ps1:137 Should return the exact tree for | ItemCmdlets.Tests.ps1:319 Should report the denied folder and continue with the next path | ItemCmdlets.Tests.ps1:377 Should report a junction whose target was removed as a DirUnspecifiedError and continue with the next folder","8: over SMB: path over 260 characters (administrator), -Hidden and a listing (delegated account), -Filter cases, later-command stop with a denied nested folder","No test pipes folders or strings into -Path (documented by value and by FullName), asserts the result of omitting -Path or of a relative -Path (Owner.Tests.ps1:98 only asserts no throw), or lists a drive root or a path over 260 characters in a unit test. -Directory with -File, -Attributes with -Force/-Hidden/-System/-ReadOnly (documented: ignored), -Depth without -Recurse and the dir2 alias are unasserted, and FileNotFound and AttributesEmpty are asserted without category (and without target for AttributesEmpty); the -Filter dot rules are pinned already and are the maintainer's, so they are not counted here.","TestNeeded","ItemCmdlets.Tests.ps1:98-100 and :137-140 assert exact name sets for ten attribute-switch cases and for the Recurse/Depth/Directory/File/Filter cases; :282-289 and :340-348 assert ErrorId, category, target (and exception type) and that the next path or sibling is still listed; :44-49 and :402-406 assert the AlphaFS types; PathErrors.Tests.ps1:108-114 covers FileNotFound (ID and target only).","Partly","ParameterSets.Items.Tests.ps1:91 Should accept piped folders by value, write one error for a path that does not exist, and list the items of the other folders | ParameterSets.Items.Tests.ps1:111 Should accept folder objects piped from Get-ChildItem2 -Directory and list only the files directly below them","the result of an omitted -Path; the result of a relative -Path; a drive root in a unit test; a path over 260 characters in a unit test; -Directory with -File together; -Attributes with -Force/-Hidden/-System/-ReadOnly; -Depth without -Recurse; the dir2 alias; AttributesEmpty category and target","budget (all items; the -Filter dot rules are the maintainer's and were already excluded from this Gap)" +"items","Get-Item2","__AllParameterSets","False","17","1","0","19","NA","Partly","No","Partly","Partly","PathErrors.Tests.ps1:108 should write a for it and continue with the next path | ItemCmdlets.Tests.ps1:972 Get-Item2 should resolve against the current location | Owner.Tests.ps1:235 Should take the items from the pipeline | PipelineControl.Tests.ps1:124 should stop after the first object for Select-Object -First 1 and change nothing else","1: FullName and Length of a file on a share (delegated account)","No test pipes paths into it (documented: 'C:\Data','C:\Data\Reports' | Get-Item2) or omits -Path (documented: the current location), and the output type (FileInfo or DirectoryInfo) and the Mode property are never asserted; bracket paths, paths over 260 characters and a drive root are untested. The FileNotFound category is not asserted and the output for the next path is checked only as non-empty.","TestNeeded","PathErrors.Tests.ps1:108-114 asserts one FileNotFound error with the missing path as target and non-empty output for the next path; ItemCmdlets.Tests.ps1:972-980 asserts HaveCount 1 and FullName for six relative paths. 15 of the 17 scan calls are fixtures that feed descriptors or other cmdlets (Access, Audit, Inheritance, ObjectApis, Owner, SecurityDescriptor).","Partly","ParameterSets.Items.Tests.ps1:133 Should accept piped items by value, return each in order with its output type, and write one error for a path that does not exist","an omitted -Path defaulting to the current location; bracket paths; paths over 260 characters; a drive root","budget (all items)" +"items","Move-Item2","__AllParameterSets","False","7","3","0","21","Yes","Yes","No","Yes","Yes","ItemCmdlets.Tests.ps1:793 should write a for a source that another process has locked and continue with the next path | ItemCmdlets.Tests.ps1:822 should write a for each source when the destination folder denies new files | ItemCmdlets.Tests.ps1:658 Move-Item2 -Force should replace an existing file with PassThru=<_> | ItemCmdlets.Tests.ps1:878 Should refuse to move folder to another volume and leave it in place","3: -WhatIf onto an existing file on a share (administrator); move of a file as the delegated account; later-command stop on a share","No test pipes paths into it (documented), passes an empty or null -Path, moves a non-empty folder tree, or renames an item inside one folder on the same volume (the cross-volume cases need an elevated admin share), and -Force replacing a folder, bracket or wildcard paths, paths over 260 characters and a drive-root destination are untested. FileNotFound is asserted by error count only.","TestNeeded","ItemCmdlets.Tests.ps1:658-668 asserts the source is gone, the content at the destination and PassThru true and false; :576-592 asserts the moved file and folder (DirectoryInfo) and the removed source folder; :756-771 and :785-797 assert ErrorId, category, target, exception type and the other item's result. The cross-volume tests at :841-878 skip without an elevated admin share.","Partly","ParameterSets.Items.Tests.ps1:36 should accept piped by value and still process the surrounding items | ParameterSets.Items.Tests.ps1:229 should reject -Path instead of silently using the current location","moving a non-empty folder tree; renaming an item in place on the same volume; -Force replacing a folder; bracket or wildcard paths; paths over 260 characters; a drive-root destination","budget (all items)" +"items","Remove-Item2","__AllParameterSets","False","15","2","0","16","Yes","Yes","No","Yes","Partly","Remove-Item2.Tests.ps1:43 Should report DeleteError for a non-empty folder without -Recurse and continue with the next path | Remove-Item2.Tests.ps1:104 Should write DeleteError when a descendant is open without delete sharing, not a successful -PassThru result | Remove-Item2.Tests.ps1:126 Should delete a junction with -Recurse without deleting or changing its target | Remove-Item2.Tests.ps1:77 Should leave a folder tree unchanged with -Recurse -Force -WhatIf and write nothing with -PassThru","2: removal of a file on a share as the delegated account; later-command stop on a share","No test pipes items into it (documented: Get-ChildItem2 ... | Remove-Item2), omits -Path (documented: the cmdlet does nothing), passes an empty or null -Path (the ValidateNotNullOrEmpty guard that keeps it from meaning the current location), passes bracket or wildcard paths (documented: literal) or uses rm2/del2. FileNotFound is asserted by error count only (ItemCmdlets.Tests.ps1:544), the access-denied branch of DeleteError (category NotSpecified) is unasserted, and that a successful removal without -PassThru writes nothing is not asserted.","TestNeeded","Remove-Item2.Tests.ps1:43-52 asserts DeleteError, InvalidData, target, kept content, the removed next item and exactly one result; :104-114 and :152-158 assert DeleteError and no success-shaped result with the content kept; :126-130 asserts the junction is removed and its target content and SDDL are unchanged; :176-184 covers the -PassThur alias.","Partly","ParameterSets.Items.Tests.ps1:157 Should accept piped items by value, write one error for a non-empty folder, remove the files, and keep the folder | ParameterSets.Items.Tests.ps1:185 Remove-Item2 should reject -Path instead of removing the current location","-Path omitted entirely (documented: the cmdlet does nothing); bracket or wildcard paths; the rm2/del2 aliases; FileNotFound category/target (still error count only); the access-denied DeleteError branch (category NotSpecified); that a successful removal without -PassThru writes nothing","budget (all items)" +"items","Test-Path2","__AllParameterSets","False","14","3","0","14","NA","NA","Partly","Yes","Yes","ItemCmdlets.Tests.ps1:1004 Should return for a with -PathType | ItemCmdlets.Tests.ps1:1046 Should return $false for a path with the character <_> and continue with the next path | ItemCmdlets.Tests.ps1:1037 Should find a folder whose path is longer than 260 characters | ItemCmdlets.Tests.ps1:1018 Should take the items from the pipeline","3: file, folder and missing item with -PathType on a share (delegated account)","The pipeline test pipes one file; no test pipes several items (documented: Get-ChildItem2 -Recurse | Test-Path2 -PathType Leaf) or objects with PathType by property name, or tests a drive root, a UNC path or a bracket path. Errors are NA because the cmdlet writes $false for a missing or invalid path; its PathNotFound handler looks unreachable (see the notes).","TestNeeded","ItemCmdlets.Tests.ps1:1004-1009 asserts one [bool] with the expected value for file, folder and missing item under all three -PathType values; :1009-1013 asserts no error and 'False,True' for six invalid characters followed by a valid path; :981-983 pipes one FileInfo; :992-1001 covers a folder path over 260 characters.","Open","","piping several items into -Path; -PathType bound by property name; a drive root; a UNC path; a bracket path","budget (deprioritized: PipelineInput was already Partly, not No, so lower priority than the cmdlets with no pipeline test at all)" "items","Get-FileHash2","__AllParameterSets","False","12","2","0","13","Partly","Partly","Partly","Partly","Yes","FileHash.Tests.ps1:41 Should return the hash of Get-FileHash for <_> | FileHash.Tests.ps1:94 Should skip the folder and hash the files that follow it | FileHash.Tests.ps1:108 Should write an error and no result for the file | FileHash.Tests.ps1:153 Should report both the failed read and the failed owner restoration without returning a hash","2: SHA256 equals Get-FileHash on a share (delegated account); later-command stop at the verbose message","No test pipes FileInfo/DirectoryInfo objects or folders (documented: Get-ChildItem2 -Recurse | Get-FileHash2) or Algorithm by property name, hashes a relative path or a path over 260 characters, or puts the failing path first and asserts the next hash; no error category is asserted. The owner-restore tests run only elevated and read the owner back with Get-NTFSOwner, and the retry that succeeds after taking ownership is untested.","TestNeeded","FileHash.Tests.ps1:41-44 compares Hash and Algorithm with Get-FileHash for five algorithms; :94-98 skips a folder and hashes the next file with the SHA256 default; :108-115 asserts one error and no result for a locked file; :153-160 (elevated only) asserts RestoreOwnerError and GetHashError with target, no result and the restored owner; OutputTypes.Tests.ps1:57 asserts the type name.","Partly","ParameterSets.Items.Tests.ps1:531 Should accept Get-ChildItem2 objects piped by value, skip a folder, and match Get-FileHash for each file | ParameterSets.Items.Tests.ps1:565 Should write GetHashError with its category for a locked file first, hash the file that follows it, and resolve a relative path","-Algorithm bound by property name from the pipeline; a path over 260 characters; the ownership-retry-after-taking-ownership success path","-Algorithm by property name and >260 chars: budget; ownership-retry success: Limit (elevated-only, needs a DACL/owner setup not shown buildable)" -"items","Get-DiskSpace","__AllParameterSets","False","6","0","0","6","NA","Partly","NA","No","Yes","ItemCmdlets.Tests.ps1:1068 Should return the size of the system drive | ItemCmdlets.Tests.ps1:1086 Should return the volumes with a size greater than zero without -DriveLetter | ItemCmdlets.Tests.ps1:1102 Should warn and return nothing for a drive letter without a volume | ItemCmdlets.Tests.ps1:1110 Should reject a drive letter without a colon","0","No test passes several drive letters, so the documented warn-and-continue for a letter without a volume is never combined with a valid letter; lower-case letters, positional binding and the free-space values against an independent source are unasserted. The validation error is asserted by ErrorId only (no category or target).","TestNeeded","ItemCmdlets.Tests.ps1:1068-1073 asserts type, DriveName and TotalNumberOfBytes against System.IO.DriveInfo; :1072-1077 asserts the exact warning text and no output or error for a letter without a volume; :1056-1061 asserts every volume has a size above zero and the system drive is included; :1080-1081 asserts the ErrorId of the validation error.","Partly","ParameterSets.Items.Tests.ps1:470 Should return only the system drive and warn for a drive letter without a volume, regardless of order () | ParameterSets.Items.Tests.ps1:491 Should accept a lower-case drive letter positionally and report the same total size as .NET","the free-space values (TotalNumberOfFreeBytes/FreeBytesAvailable) against an independent source (only TotalNumberOfBytes was compared); the validation error's category and target (still ErrorId only)","budget (both items)" +"items","Get-DiskSpace","__AllParameterSets","False","6","0","0","6","NA","Partly","NA","No","Yes","ItemCmdlets.Tests.ps1:1075 Should return the size of the system drive | ItemCmdlets.Tests.ps1:1093 Should return the volumes with a size greater than zero without -DriveLetter | ItemCmdlets.Tests.ps1:1109 Should warn and return nothing for a drive letter without a volume | ItemCmdlets.Tests.ps1:1117 Should reject a drive letter without a colon","0","No test passes several drive letters, so the documented warn-and-continue for a letter without a volume is never combined with a valid letter; lower-case letters, positional binding and the free-space values against an independent source are unasserted. The validation error is asserted by ErrorId only (no category or target).","TestNeeded","ItemCmdlets.Tests.ps1:1075-1080 asserts type, DriveName and TotalNumberOfBytes against System.IO.DriveInfo; :1072-1077 asserts the exact warning text and no output or error for a letter without a volume; :1056-1061 asserts every volume has a size above zero and the system drive is included; :1080-1081 asserts the ErrorId of the validation error.","Partly","ParameterSets.Items.Tests.ps1:470 Should return only the system drive and warn for a drive letter without a volume, regardless of order () | ParameterSets.Items.Tests.ps1:491 Should accept a lower-case drive letter positionally and report the same total size as .NET","the free-space values (TotalNumberOfFreeBytes/FreeBytesAvailable) against an independent source (only TotalNumberOfBytes was compared); the validation error's category and target (still ErrorId only)","budget (both items)" "items","New-NTFSHardLink","__AllParameterSets","False","14","2","0","17","Yes","Yes","Yes","Yes","Yes","Links.Tests.ps1:134 Should write a non-terminating error for each link that it cannot create and continue with the next one | Links.Tests.ps1:170 Should write a PermissionDenied error and create no link in a folder that denies new files | Links.Tests.ps1:67 Should return every name of the file with -PassThru | Links.Tests.ps1:79 Should give both names the same data","2: link creation on a share (administrator) and -PassThru, which writes GetHardLinkError there","Positional binding (documented example 2), a FileInfo object bound to -Path or -Target and the end of a pipeline by a later command are untested; the -PassThru GetHardLinkError on a share is asserted by ErrorId only (no category or target) and only with an elevated admin share. A hard link across volumes cannot be built on a one-volume host.","TestNeeded","Links.Tests.ps1:134-145 pipes four objects by property name and asserts three errors (ErrorId, categories, targets, message), the created link and unchanged files; :170-179 asserts PermissionDenied, exception type, no output and no link; :36-41, :67-73 and :79-84 read back existence, all names and the shared data. Three of the 17 call sites (Links.Tests.ps1:450, 468, 494) are '& $Command' calls that the scan does not resolve.","Partly","ParameterSets.Items.Tests.ps1:264 should reject instead of creating a link to the current folder | ParameterSets.Items.Tests.ps1:324 New-NTFSHardLink should stop after the first pass-through object for Select-Object -First 1 and leave the second request untouched","positional binding (documented example 2); a FileInfo object bound to -Path or -Target; the -PassThru GetHardLinkError category and target on an admin share (still ID only)","budget (all items; an elevated admin share is already available on this host, simply not used for this)" "items","Get-NTFSHardLink","__AllParameterSets","False","9","1","0","10","NA","Partly","Yes","Yes","Partly","Links.Tests.ps1:224 Should write an error for a path that does not exist and continue with the next path | Links.Tests.ps1:236 Should write an error for a folder and continue with the next path | Links.Tests.ps1:214 Should take the files with more than one name from Get-ChildItem2 | Links.Tests.ps1:200 Should return every name of a file with hard links","1: writes GetHardLinkError on a share (administrator)","The output type is never asserted (only FullName and Mode), the error categories (InvalidArgument for a folder, ObjectNotFound, ReadError on a share) are unasserted, and positional binding and strings from the pipeline are untested. The UnauthorizedAccessException handler cannot be reached by a test because Windows lists the names without opening the file (Links.Tests.ps1:262).","TestNeeded","Links.Tests.ps1:224-229 and :236-243 assert one error (FileNotFound; GetHardLinkError with target and message) and exactly the next file; :214-218 pipes AlphaFS file objects and asserts the names of both linked files and not the third; :200-203 asserts all names of a linked file; PathErrors.Tests.ps1:108-114 asserts ID and target for a missing path.","Partly","ParameterSets.Items.Tests.ps1:297 Should accept piped strings by value, write errors with their categories for a folder and a missing path, and return the files in order","the ReadError category on a network share (still ID/target only); the UnauthorizedAccessException handler","ReadError on a share: budget (admin share available elevated, not implemented here); UnauthorizedAccessException handler: Limit (structurally unreachable, Windows lists hard-link names without opening the file)" "items","New-NTFSSymbolicLink","__AllParameterSets","False","12","2","0","15","Yes","Yes","Yes","Partly","Yes","Links.Tests.ps1:297 Should create a link to a file that reads the data of the file | Links.Tests.ps1:387 Should write a non-terminating error for an existing -Path and continue with the next link | Links.Tests.ps1:420 Should write a PermissionDenied error and create no link in a folder that denies new files | Links.Tests.ps1:335 Should return a folder object for a link to a folder with -PassThru","2: link to a file and to a folder on a share (administrator); asserts no error only","No test creates a link after a failed one in a pipeline (every piped request fails so that the tests run without the privilege), and a link to a folder is checked only for the Directory attribute and reachability through Test-Path2, not for LinkType and target. The success paths run only with SeCreateSymbolicLinkPrivilege; positional binding and an empty -Target (the value that meant the current folder before rc7, while the tests check only the Mandatory metadata) are untested.","TestNeeded","Links.Tests.ps1:297-302 reads back LinkType, target and data of a file link; :387-393 pipes two objects by property name and asserts two errors (ErrorId, categories) and that no link exists; :420-429 asserts PermissionDenied, exception type and no output; :323-339 assert FileInfo and DirectoryInfo with -PassThru.","Partly","ParameterSets.Items.Tests.ps1:264 should reject instead of creating a link to the current folder | ParameterSets.Items.Tests.ps1:343 New-NTFSSymbolicLink should stop after the first pass-through object for Select-Object -First 1 and leave the second request untouched | ParameterSets.Items.Tests.ps1:367 Should write one ResourceExists error for an existing -Path and still create the links for the requests that follow it","positional binding; the folder link's LinkType and resolved target (only the file link's LinkType was asserted)","budget (both items)" diff --git a/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-Runs.csv b/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-Runs.csv index c9d2e97..a99134a 100644 --- a/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-Runs.csv +++ b/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10-Runs.csv @@ -23,6 +23,18 @@ "Live suite, matrix cell OSFile22 with OSWin11E (mx1, instrumented)","PowerShell 7, four roles","229","0","2","231","live-matrix\mx1-OSFile22\mx1-OSFile22-counts.csv" "Live suite, matrix cell OSFile25 with OSWin11E (mx1, instrumented)","Windows PowerShell 5.1, four roles","229","0","2","231","live-matrix\mx1-OSFile25\mx1-OSFile25-counts.csv" "Live suite, matrix cell OSFile25 with OSWin11E (mx1, instrumented)","PowerShell 7, four roles","229","0","2","231","live-matrix\mx1-OSFile25\mx1-OSFile25-counts.csv" +"Live suite, matrix cell OSFile19 with OSWin11E (mxf, final build of 8a625c8, not instrumented)","Windows PowerShell 5.1, four roles","229","0","2","231","live-matrix-final\mxf-OSFile19\mxf-OSFile19-counts.csv" +"Live suite, matrix cell OSFile19 with OSWin11E (mxf, final build of 8a625c8, not instrumented)","PowerShell 7, four roles","229","0","2","231","live-matrix-final\mxf-OSFile19\mxf-OSFile19-counts.csv" +"Live suite, matrix cell OSFile22 with OSWin11E (mxf, final build of 8a625c8, not instrumented)","Windows PowerShell 5.1, four roles","229","0","2","231","live-matrix-final\mxf-OSFile22\mxf-OSFile22-counts.csv" +"Live suite, matrix cell OSFile22 with OSWin11E (mxf, final build of 8a625c8, not instrumented)","PowerShell 7, four roles","229","0","2","231","live-matrix-final\mxf-OSFile22\mxf-OSFile22-counts.csv" +"Live suite, matrix cell OSFile25 with OSWin11E (mxf, final build of 8a625c8, not instrumented)","Windows PowerShell 5.1, four roles","229","0","2","231","live-matrix-final\mxf-OSFile25\mxf-OSFile25-counts.csv" +"Live suite, matrix cell OSFile25 with OSWin11E (mxf, final build of 8a625c8, not instrumented)","PowerShell 7, four roles","229","0","2","231","live-matrix-final\mxf-OSFile25\mxf-OSFile25-counts.csv" +"Live suite, matrix cell OSFile19 with OSWin11E (ap8, final package of 7bc7925 with the DLLs of 9783d2a, not instrumented)","Windows PowerShell 5.1, four roles","229","0","2","231","live-matrix-ap8\ap8-OSFile19\ap8-OSFile19-counts.csv" +"Live suite, matrix cell OSFile19 with OSWin11E (ap8, final package of 7bc7925 with the DLLs of 9783d2a, not instrumented)","PowerShell 7, four roles","229","0","2","231","live-matrix-ap8\ap8-OSFile19\ap8-OSFile19-counts.csv" +"Live suite, matrix cell OSFile22 with OSWin11E (ap8, final package of 7bc7925 with the DLLs of 9783d2a, not instrumented)","Windows PowerShell 5.1, four roles","229","0","2","231","live-matrix-ap8\ap8-OSFile22\ap8-OSFile22-counts.csv" +"Live suite, matrix cell OSFile22 with OSWin11E (ap8, final package of 7bc7925 with the DLLs of 9783d2a, not instrumented)","PowerShell 7, four roles","229","0","2","231","live-matrix-ap8\ap8-OSFile22\ap8-OSFile22-counts.csv" +"Live suite, matrix cell OSFile25 with OSWin11E (ap8, final package of 7bc7925 with the DLLs of 9783d2a, not instrumented)","Windows PowerShell 5.1, four roles","229","0","2","231","live-matrix-ap8\ap8-OSFile25\ap8-OSFile25-counts.csv" +"Live suite, matrix cell OSFile25 with OSWin11E (ap8, final package of 7bc7925 with the DLLs of 9783d2a, not instrumented)","PowerShell 7, four roles","229","0","2","231","live-matrix-ap8\ap8-OSFile25\ap8-OSFile25-counts.csv" "Final validate (b2cb47b, host)","Windows PowerShell 5.1, elevated","1429","0","26","1455","final\validate\elevated-Desktop.xml" "Final validate (b2cb47b, host)","Windows PowerShell 5.1, basic user","1179","0","276","1455","final\validate\basic-Desktop.xml" "Final validate (b2cb47b, host)","PowerShell 7, elevated","1398","0","57","1455","final\validate\elevated-Core.xml" @@ -47,12 +59,83 @@ "Final coverage (61e936e, host)","Windows PowerShell 5.1, basic user","1183","0","276","1459","final5\coverage\basic-Desktop.xml" "Final coverage (61e936e, host)","PowerShell 7, elevated","1402","0","57","1459","final5\coverage\elevated-Core.xml" "Final coverage (61e936e, host)","PowerShell 7, basic user","1152","0","307","1459","final5\coverage\basic-Core.xml" +"Final validate (93ed2c7, host)","Windows PowerShell 5.1, elevated","1452","0","26","1478","final6\validate\elevated-Desktop.xml" +"Final validate (93ed2c7, host)","Windows PowerShell 5.1, basic user","1194","0","284","1478","final6\validate\basic-Desktop.xml" +"Final validate (93ed2c7, host)","PowerShell 7, elevated","1421","0","57","1478","final6\validate\elevated-Core.xml" +"Final validate (93ed2c7, host)","PowerShell 7, basic user","1163","0","315","1478","final6\validate\basic-Core.xml" +"Final coverage (93ed2c7, host)","Windows PowerShell 5.1, elevated","1452","0","26","1478","final6\coverage\elevated-Desktop.xml" +"Final coverage (93ed2c7, host)","Windows PowerShell 5.1, basic user","1194","0","284","1478","final6\coverage\basic-Desktop.xml" +"Final coverage (93ed2c7, host)","PowerShell 7, elevated","1421","0","57","1478","final6\coverage\elevated-Core.xml" +"Final coverage (93ed2c7, host)","PowerShell 7, basic user","1163","0","315","1478","final6\coverage\basic-Core.xml" +"Final validate (9783d2a, host)","Windows PowerShell 5.1, elevated","1464","0","26","1490","final7\validate\elevated-Desktop.xml" +"Final validate (9783d2a, host)","Windows PowerShell 5.1, basic user","1200","0","290","1490","final7\validate\basic-Desktop.xml" +"Final validate (9783d2a, host)","PowerShell 7, elevated","1433","0","57","1490","final7\validate\elevated-Core.xml" +"Final validate (9783d2a, host)","PowerShell 7, basic user","1169","0","321","1490","final7\validate\basic-Core.xml" +"Final coverage (9783d2a, host)","Windows PowerShell 5.1, elevated","1464","0","26","1490","final7\coverage\elevated-Desktop.xml" +"Final coverage (9783d2a, host)","Windows PowerShell 5.1, basic user","1200","0","290","1490","final7\coverage\basic-Desktop.xml" +"Final coverage (9783d2a, host)","PowerShell 7, elevated","1433","0","57","1490","final7\coverage\elevated-Core.xml" +"Final coverage (9783d2a, host)","PowerShell 7, basic user","1169","0","321","1490","final7\coverage\basic-Core.xml" +"Final validate (7bc7925, host)","Windows PowerShell 5.1, elevated","1466","0","26","1492","final8\validate\elevated-Desktop.xml" +"Final validate (7bc7925, host)","Windows PowerShell 5.1, basic user","1201","0","291","1492","final8\validate\basic-Desktop.xml" +"Final validate (7bc7925, host)","PowerShell 7, elevated","1435","0","57","1492","final8\validate\elevated-Core.xml" +"Final validate (7bc7925, host)","PowerShell 7, basic user","1170","0","322","1492","final8\validate\basic-Core.xml" +"Final coverage (7bc7925, host)","Windows PowerShell 5.1, elevated","1466","0","26","1492","final8\coverage\elevated-Desktop.xml" +"Final coverage (7bc7925, host)","Windows PowerShell 5.1, basic user","1201","0","291","1492","final8\coverage\basic-Desktop.xml" +"Final coverage (7bc7925, host)","PowerShell 7, elevated","1435","0","57","1492","final8\coverage\elevated-Core.xml" +"Final coverage (7bc7925, host)","PowerShell 7, basic user","1170","0","322","1492","final8\coverage\basic-Core.xml" +"Final validate (2112ee3, host)","Windows PowerShell 5.1, elevated","1466","0","26","1492","final9\validate\elevated-Desktop.xml" +"Final validate (2112ee3, host)","Windows PowerShell 5.1, basic user","1201","0","291","1492","final9\validate\basic-Desktop.xml" +"Final validate (2112ee3, host)","PowerShell 7, elevated","1435","0","57","1492","final9\validate\elevated-Core.xml" +"Final validate (2112ee3, host)","PowerShell 7, basic user","1170","0","322","1492","final9\validate\basic-Core.xml" +"Final coverage (2112ee3, host)","Windows PowerShell 5.1, elevated","1466","0","26","1492","final9\coverage\elevated-Desktop.xml" +"Final coverage (2112ee3, host)","Windows PowerShell 5.1, basic user","1201","0","291","1492","final9\coverage\basic-Desktop.xml" +"Final coverage (2112ee3, host)","PowerShell 7, elevated","1435","0","57","1492","final9\coverage\elevated-Core.xml" +"Final coverage (2112ee3, host)","PowerShell 7, basic user","1170","0","322","1492","final9\coverage\basic-Core.xml" +"Focused: the two ParameterSets files on the build before the fix (tdd3red2, red)","PowerShell 7, basic user","38","8","29","75","tdd3\tdd3red2-basiccore.log" +"Focused: the two ParameterSets files on the build before the fix (tdd3red2, red)","Windows PowerShell 5.1, basic user","38","8","29","75","tdd3\tdd3red2-basicdesktop.log" +"Focused: the two ParameterSets files on the build before the fix (tdd3red2, red)","PowerShell 7, elevated","62","12","1","75","tdd3\tdd3red2-elevatedcore.log" +"Focused: the two ParameterSets files on the build before the fix (tdd3red2, red)","Windows PowerShell 5.1, elevated","62","12","1","75","tdd3\tdd3red2-elevateddesktop.log" +"Focused: the two files and the Items file on 93ed2c7 (tdd3green, green)","PowerShell 7, basic user","173","0","36","209","tdd3\tdd3green-basiccore.log" +"Focused: the two files and the Items file on 93ed2c7 (tdd3green, green)","Windows PowerShell 5.1, basic user","174","0","35","209","tdd3\tdd3green-basicdesktop.log" +"Focused: the two files and the Items file on 93ed2c7 (tdd3green, green)","PowerShell 7, elevated","207","0","2","209","tdd3\tdd3green-elevatedcore.log" +"Focused: the two files and the Items file on 93ed2c7 (tdd3green, green)","Windows PowerShell 5.1, elevated","208","0","1","209","tdd3\tdd3green-elevateddesktop.log" +"Focused: the two files with the mixed-pipeline rows on 93ed2c7 (tdd4red2, red)","PowerShell 7, basic user","48","4","35","87","tdd4\tdd4red2-basiccore.log" +"Focused: the two files with the mixed-pipeline rows on 93ed2c7 (tdd4red2, red)","Windows PowerShell 5.1, basic user","48","4","35","87","tdd4\tdd4red2-basicdesktop.log" +"Focused: the two files with the mixed-pipeline rows on 93ed2c7 (tdd4red2, red)","PowerShell 7, elevated","78","8","1","87","tdd4\tdd4red2-elevatedcore.log" +"Focused: the two files with the mixed-pipeline rows on 93ed2c7 (tdd4red2, red)","Windows PowerShell 5.1, elevated","78","8","1","87","tdd4\tdd4red2-elevateddesktop.log" +"Focused: the three files on 9783d2a (tdd4green, green)","PowerShell 7, basic user","179","0","42","221","tdd4\tdd4green-basiccore.log" +"Focused: the three files on 9783d2a (tdd4green, green)","Windows PowerShell 5.1, basic user","180","0","41","221","tdd4\tdd4green-basicdesktop.log" +"Focused: the three files on 9783d2a (tdd4green, green)","PowerShell 7, elevated","219","0","2","221","tdd4\tdd4green-elevatedcore.log" +"Focused: the three files on 9783d2a (tdd4green, green)","Windows PowerShell 5.1, elevated","220","0","1","221","tdd4\tdd4green-elevateddesktop.log" +"Focused: the two files with the Import-Csv and $null rows on the build before the fix, 8a625c8 (tdd5red, red)","PowerShell 7, basic user","38","15","36","89","tdd5red\logs\tdd5red-basiccore.log" +"Focused: the two files with the Import-Csv and $null rows on the build before the fix, 8a625c8 (tdd5red, red)","Windows PowerShell 5.1, basic user","38","15","36","89","tdd5red\logs\tdd5red-basicdesktop.log" +"Focused: the two files with the Import-Csv and $null rows on the build before the fix, 8a625c8 (tdd5red, red)","PowerShell 7, elevated","62","26","1","89","tdd5red\logs\tdd5red-elevatedcore.log" +"Focused: the two files with the Import-Csv and $null rows on the build before the fix, 8a625c8 (tdd5red, red)","Windows PowerShell 5.1, elevated","62","26","1","89","tdd5red\logs\tdd5red-elevateddesktop.log" +"Focused: the two files with the Import-Csv and $null rows on 93ed2c7 (tdd5red93, red)","PowerShell 7, basic user","48","5","36","89","tdd5red93\logs\tdd5red93-basiccore.log" +"Focused: the two files with the Import-Csv and $null rows on 93ed2c7 (tdd5red93, red)","Windows PowerShell 5.1, basic user","48","5","36","89","tdd5red93\logs\tdd5red93-basicdesktop.log" +"Focused: the two files with the Import-Csv and $null rows on 93ed2c7 (tdd5red93, red)","PowerShell 7, elevated","78","10","1","89","tdd5red93\logs\tdd5red93-elevatedcore.log" +"Focused: the two files with the Import-Csv and $null rows on 93ed2c7 (tdd5red93, red)","Windows PowerShell 5.1, elevated","78","10","1","89","tdd5red93\logs\tdd5red93-elevateddesktop.log" +"Focused: the two files with the Import-Csv and $null rows on 9783d2a (tdd5, green)","PowerShell 7, basic user","53","0","36","89","tdd5\tdd5-basiccore.log" +"Focused: the two files with the Import-Csv and $null rows on 9783d2a (tdd5, green)","Windows PowerShell 5.1, basic user","53","0","36","89","tdd5\tdd5-basicdesktop.log" +"Focused: the two files with the Import-Csv and $null rows on 9783d2a (tdd5, green)","PowerShell 7, elevated","88","0","1","89","tdd5\tdd5-elevatedcore.log" +"Focused: the two files with the Import-Csv and $null rows on 9783d2a (tdd5, green)","Windows PowerShell 5.1, elevated","88","0","1","89","tdd5\tdd5-elevateddesktop.log" +"Focused: the two files of 2112ee3, three audit titles changed, on the package of 9783d2a (tdd6, green)","PowerShell 7, basic user","53","0","36","89","tdd6\tdd6-basiccore.log" +"Focused: the two files of 2112ee3, three audit titles changed, on the package of 9783d2a (tdd6, green)","Windows PowerShell 5.1, basic user","53","0","36","89","tdd6\tdd6-basicdesktop.log" +"Focused: the two files of 2112ee3, three audit titles changed, on the package of 9783d2a (tdd6, green)","PowerShell 7, elevated","88","0","1","89","tdd6\tdd6-elevatedcore.log" +"Focused: the two files of 2112ee3, three audit titles changed, on the package of 9783d2a (tdd6, green)","Windows PowerShell 5.1, elevated","88","0","1","89","tdd6\tdd6-elevateddesktop.log" +"Focused: Items file, mutation B of GetChildItem2 (item written inside the scope)","Windows PowerShell 5.1, elevated","130","4","0","134","tdd3\mutB-elevateddesktop.log" +"Focused: Items file, mutation A of GetChildItem2 (culture not restored)","PowerShell 7, elevated","129","4","1","134","tdd3\mutA2-elevatedcore.log" +"Focused: Items file, mutation A of GetChildItem2 (culture not restored)","Windows PowerShell 5.1, elevated","130","4","0","134","tdd3\mutA2-elevateddesktop.log" +"Focused: Items file, mutation C of GetChildItem2 (culture restored only after an item)","PowerShell 7, elevated","129","4","1","134","tdd4\mutC-elevatedcore.log" +"Focused: Items file, mutation C of GetChildItem2 (culture restored only after an item)","Windows PowerShell 5.1, elevated","130","4","0","134","tdd4\mutC-elevateddesktop.log" "Live suite, first lab, build of b2cb47b (fix1, not instrumented)","Windows PowerShell 5.1, four roles","245","0","1","246","live-fix1\fix1-Desktop-counts.csv" "Live suite, first lab, build of b2cb47b (fix1, not instrumented)","PowerShell 7, four roles","245","0","1","246","live-fix1\fix1-Core-counts.csv" "Live suite, first lab, intermediate build of 0028ccd (fix3, not instrumented)","Windows PowerShell 5.1, four roles","245","0","1","246","live-fix3\fix3-Desktop-counts.csv" "Live suite, first lab, intermediate build of 0028ccd (fix3, not instrumented)","PowerShell 7, four roles","245","0","1","246","live-fix3\fix3-Core-counts.csv" "Live suite, first lab, final build of 8a625c8 (fix4, not instrumented)","Windows PowerShell 5.1, four roles","245","0","1","246","live-fix4\fix4-Desktop-counts.csv" "Live suite, first lab, final build of 8a625c8 (fix4, not instrumented)","PowerShell 7, four roles","245","0","1","246","live-fix4\fix4-Core-counts.csv" +"Live suite, first lab, final build of 9783d2a (acc-ap7, not instrumented)","Windows PowerShell 5.1, four roles","245","0","1","246","live-ap7\acc-ap7-Desktop-counts.csv" +"Live suite, first lab, final build of 9783d2a (acc-ap7, not instrumented)","PowerShell 7, four roles","245","0","1","246","live-ap7\acc-ap7-Core-counts.csv" "Unit suite on the file servers (fix1, 22 files, tests of b2cb47b)","OSFile25, PowerShell 7, basic user","881","0","271","1152","localsuite-final\fix1-localsuite-summary.csv" "Unit suite on the file servers (fix1, 22 files, tests of b2cb47b)","OSFile25, PowerShell 7, elevated","1130","1","21","1152","localsuite-final\fix1-localsuite-summary.csv" "Unit suite on the file servers (fix1, 22 files, tests of b2cb47b)","OSFile25, Windows PowerShell 5.1, basic user","883","0","269","1152","localsuite-final\fix1-localsuite-summary.csv" @@ -119,3 +202,31 @@ "Unit suite on the Windows 11 client (fix5c, 22 files, final build and tests of 61e936e)","OSWin11, PowerShell 7, elevated","1135","0","21","1156","localsuite-final5-client\fix5c-localsuite-summary.csv" "Unit suite on the Windows 11 client (fix5c, 22 files, final build and tests of 61e936e)","OSWin11, Windows PowerShell 5.1, basic user","887","0","269","1156","localsuite-final5-client\fix5c-localsuite-summary.csv" "Unit suite on the Windows 11 client (fix5c, 22 files, final build and tests of 61e936e)","OSWin11, Windows PowerShell 5.1, elevated","1137","0","19","1156","localsuite-final5-client\fix5c-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile25, PowerShell 7, basic user","896","0","279","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile25, PowerShell 7, elevated","1154","0","21","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile25, Windows PowerShell 5.1, basic user","898","0","277","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile25, Windows PowerShell 5.1, elevated","1156","0","19","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile19, PowerShell 7, basic user","896","0","279","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile19, PowerShell 7, elevated","1154","0","21","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile19, Windows PowerShell 5.1, basic user","898","0","277","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile19, Windows PowerShell 5.1, elevated","1156","0","19","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile22, PowerShell 7, basic user","896","0","279","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile22, PowerShell 7, elevated","1154","0","21","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile22, Windows PowerShell 5.1, basic user","898","0","277","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap6, 22 files, build and tests of 93ed2c7; the chain was stopped, the stage ran on)","OSFile22, Windows PowerShell 5.1, elevated","1156","0","19","1175","localsuite-ap6\s-ap6-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile25, PowerShell 7, basic user","903","0","286","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile25, PowerShell 7, elevated","1168","0","21","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile25, Windows PowerShell 5.1, basic user","905","0","284","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile25, Windows PowerShell 5.1, elevated","1170","0","19","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile19, PowerShell 7, basic user","903","0","286","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile19, PowerShell 7, elevated","1168","0","21","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile19, Windows PowerShell 5.1, basic user","905","0","284","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile19, Windows PowerShell 5.1, elevated","1170","0","19","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile22, PowerShell 7, basic user","903","0","286","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile22, PowerShell 7, elevated","1168","0","21","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile22, Windows PowerShell 5.1, basic user","905","0","284","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the file servers (s-ap8, 22 files, final package and tests of 7bc7925)","OSFile22, Windows PowerShell 5.1, elevated","1170","0","19","1189","localsuite-ap8\s-ap8-localsuite-summary.csv" +"Unit suite on the Windows 11 client (sc-ap8, 22 files, final package and tests of 7bc7925)","OSWin11, PowerShell 7, basic user","903","0","286","1189","localsuite-ap8-client\sc-ap8-localsuite-summary.csv" +"Unit suite on the Windows 11 client (sc-ap8, 22 files, final package and tests of 7bc7925)","OSWin11, PowerShell 7, elevated","1168","0","21","1189","localsuite-ap8-client\sc-ap8-localsuite-summary.csv" +"Unit suite on the Windows 11 client (sc-ap8, 22 files, final package and tests of 7bc7925)","OSWin11, Windows PowerShell 5.1, basic user","905","0","284","1189","localsuite-ap8-client\sc-ap8-localsuite-summary.csv" +"Unit suite on the Windows 11 client (sc-ap8, 22 files, final package and tests of 7bc7925)","OSWin11, Windows PowerShell 5.1, elevated","1170","0","19","1189","localsuite-ap8-client\sc-ap8-localsuite-summary.csv" diff --git a/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10.md b/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10.md index 93a8bf2..edb4a35 100644 --- a/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10.md +++ b/Tests/Coverage/Quality-Gate-Unknowns-2026-10-10.md @@ -6,8 +6,9 @@ paths from source; an explanation is not a test. This report measures what was still unmeasured and tests what the new numbers show. It does not close the gate: the stable 5.0.0 stays blocked, the open items of the [paths report](Quality-Gate-Paths-2026-10-09.md) stay with the maintainer, and -a coverage percentage never closes a gate. Nothing was pushed, merged, tagged, -or published. +a coverage percentage never closes a gate. The agent pushed, merged, tagged, +and published nothing; the maintainer pushed the branch himself (`2b97422` on +2026-10-11). The work is on `ai/coverage-unknowns`, from `origin/master` at `6696f68` (PR #123). Every stage is described below; the @@ -31,29 +32,63 @@ is open. the gaps of the judged matrix of the 64 parameter sets: 7 sets closed, 51 partly, 1 open, 4 left to the maintainer. The unit suite then visits 45 more sequence points, all getters of parameters with pipeline input, which - corrects an explanation of the paths report. At the final commit `61e936e` - (built once, at `8a625c8`) the suite has 1,459 cases per configuration - without a failure and covers 3,258 of 3,664 sequence points (88.92%); the - same 187 methods stay unvisited, all classified. On the file servers of the + corrects an explanation of the paths report. On the file servers of the matrix lab, one new test failed in every elevated configuration of the first run because of its oracle (`Get-Acl -Audit` reads the SACL of an item without audit entries as protected on a domain member; the module was - right); five assertions now read the SACL alone (`f1f3d8f`), and the final - build with the final tests passes the 22 files of the matrix suite on - Windows Server 2019, 2022, and 2025 and on Windows 11 in all 16 - configurations (1,156 cases each). -- **Two defects fixed, one open.** Two comparisons were wrong in `tr-TR`, and + right); five assertions now read the SACL alone (`f1f3d8f`). The fix of the + piped `AppliesTo` adds 22 `It` blocks (33 rows) to the two ParameterSets + files. At the final commit `2112ee3`, whose product code was built once (at + `9783d2a`), the suite has 1,492 cases per configuration without a failure and + covers 3,266 of 3,668 sequence points (89.04%); 183 methods stay unvisited, + all classified (at the earlier commit `61e936e`: 1,459 cases, 3,258 of 3,664 + points, 187 methods). +- **The acceptance of the final package in the labs.** The package is the + Release build of `9783d2a` with the help file of `7bc7925`; the four + assemblies are the ones that the first lab accepted. The first lab passed + 245, 0 failed, 1 skipped in each edition (`ap7`). The unit suite passed in + all 16 configurations on the three file servers and on the Windows 11 + client, 1,189 cases each (`ap8`). The three cells of the matrix lab passed + 229, 0 failed, 2 skipped in each edition (`ap8`; the first start of the + cells, with the command that I had given the maintainer, did nothing because + it did not set the module path, see the section on the acceptance). Every end + state was `CLEAN`. This is acceptance of the behavior on these bytes, not of a + release. +- **Three defects fixed, one open.** Two comparisons were wrong in `tr-TR`, and both are fixed test-first: an identity compared with a name by `Equals` (`419cfb3`), and `Get-ChildItem2 -Filter` (`0028ccd`, `fbe0289`, `8a625c8`), which the independent review found after the first scan had missed its class - of call. The first lab passes on the final build (245 passed, 1 skipped per - edition). The hard-link cmdlets (`New-NTFSHardLink -PassThru`, - `Get-NTFSHardLink`) fail for a path whose root is not the volume root; the - defect is reproduced and left to the maintainer. -- **The review.** One independent review found four Major findings and several - Minor ones; each was resolved, three of the Major ones after a probe (the - claim about `-eq` was wrong, the filter defect was real, the audit tests of a - piped `AppliesTo` did not bind the set that they named). + of call. The third is the piped `AppliesTo`: a path dropped the property + without a message, because the cmdlets declared a default parameter set. The + maintainer decided to fix it, and it is fixed test-first (`93ed2c7`). The + third independent review found that this fix let the scope of a piped + object reach the next one, a defect that rc7 has for piped + `-SecurityDescriptor` objects too; it is fixed in `9783d2a`. The check of + that fix found a false sentence in the documents: only a `$null` `AppliesTo` + fails to bind, while a value that PowerShell cannot convert to a scope (a + blank CSV cell, a misspelled name) is ignored, and the object is handled as + one without `AppliesTo`, silently (open item 3). `7bc7925` corrected the + words and the tests; a second check found the sentence still too narrow (the + object then uses its own flags before it gets the default scope, and a CSV + row with fewer fields than its header gives `$null`), and `2112ee3` corrects + it again. The hard-link + cmdlets (`New-NTFSHardLink -PassThru`, `Get-NTFSHardLink`) fail for a path + whose root is not the volume root; the defect is reproduced and left to the + maintainer. +- **The reviews.** Three independent reviews and two follow-up checks of the + third reviewer read the work, all by the built-in `code-review` agent. The + first review found four Major findings and several Minor ones; each was + resolved, three of the Major ones after a probe (the claim about `-eq` was + wrong, the filter defect was real, the audit tests of a piped `AppliesTo` + did not bind the set that they named). The second found five Minor findings + in tests and documents. The third, of the `AppliesTo` fix, found one Major + defect of the fix and two Minor findings. Its first check of the correction + found one more Major finding (the false sentence above) and one Minor + finding; its second check, of `7bc7925` and of this report, found seven + Minor findings and no Major. Each finding was resolved (the section on the + fix and the section Review). The last commits carry the words and the test + titles that the second check asked for; runs verified them, and no agent + read them again. - **Environments.** `de-DE` and `tr-TR` are tested. Server Core, ARM64, a localized operating system, and non-Windows file servers are out of scope: the maintainer decided on 2026-10-11 that the audience of the tool does not @@ -66,7 +101,7 @@ is open. | [Methods](Quality-Gate-Unknowns-2026-10-10-Methods.csv) | the 232 unvisited methods of `fa0701b` with the rule, the category, the disposition, and what the other sources and the build of `b2cb47b` visit | | [Cmdlets](Quality-Gate-Unknowns-2026-10-10-Cmdlets.csv) | per cmdlet, the visited sequence and explicit branch points of each source (the final column is the build of `b2cb47b`; see Final measurement) | | [Reconciliation](Quality-Gate-Unknowns-2026-10-10-Reconciliation.csv) | the 232 methods against the 231 of `5a5d58b` | -| [ParameterSets](Quality-Gate-Unknowns-2026-10-10-ParameterSets.csv) | the judged matrix of the 64 sets and its status after the new tests; the cited file:line references point at the tests of the final commit (mapped through the hunks of `git diff` from `fa0701b`, and for the new files from the commit that added each) | +| [ParameterSets](Quality-Gate-Unknowns-2026-10-10-ParameterSets.csv) | the judged matrix of the 64 sets and its status after the new tests; the cited file:line references point at the tests of the final commit (mapped through the hunks of `git diff` from `fa0701b`, and for the new files from the commit that added each; a line that the free text of `Gap` and `Evidence` names without a file name is not mapped); the column `Default` is the declaration of rc7 (the four `PathComplex` sets of the Add and Remove cmdlets for access and audit lost their default in `93ed2c7`) | | [Mutations](Quality-Gate-Unknowns-2026-10-10-Mutations.csv) | the 35 mutations of the new tests | | [LiveRoles](Quality-Gate-Unknowns-2026-10-10-LiveRoles.csv) | the points that each role of the live suite visits | | [Cultures](Quality-Gate-Unknowns-2026-10-10-Cultures.csv) | the unit suite in `de-DE` and `tr-TR` | @@ -715,26 +750,37 @@ finding below. implementer): ```powershell - $folder = Join-Path -Path $env:TEMP -ChildPath 'HardLinkRoot' + $folder = Join-Path -Path $env:TEMP -ChildPath ('HardLinkRoot-{0}' -f [guid]::NewGuid().ToString('N').Substring(0, 8)) $null = New-Item -ItemType Directory -Path $folder - subst.exe Z: $folder - Set-Content -LiteralPath Z:\Target.txt -Value 'Target' - # A terminating FileNotFoundException; the link exists on disk - New-NTFSHardLink -Path Z:\Link.txt -Target Z:\Target.txt -PassThru - # Writes FileNotFound for a file that exists - Get-NTFSHardLink -Path Z:\Target.txt - subst.exe Z: /d - Remove-Item -LiteralPath $folder -Recurse -Force + # The last drive letter that is free, so that no drive or SUBST mapping of yours is touched + $letter = 90..68 | ForEach-Object -Process { [char] $_ } | Where-Object -FilterScript { -not (Test-Path -LiteralPath ('{0}:\' -f $_)) } | Select-Object -First 1 + $root = '{0}:\' -f $letter + subst.exe ('{0}:' -f $letter) $folder + try { + Set-Content -LiteralPath "${root}Target.txt" -Value 'Target' + try { + # A terminating FileNotFoundException; the link exists on disk + New-NTFSHardLink -Path "${root}Link.txt" -Target "${root}Target.txt" -PassThru + } + catch { $_.Exception.Message } + # Writes FileNotFound for a file that exists + Get-NTFSHardLink -Path "${root}Target.txt" + } + finally { + subst.exe ('{0}:' -f $letter) /d + Remove-Item -LiteralPath $folder -Recurse -Force + } ``` -- **A piped property does not select the Simple set of a path.** An object - with the properties `FullName`, `Account`, `AccessRights`, and `AppliesTo`, - piped into `Add-NTFSAccess`, `Remove-NTFSAccess`, `Add-NTFSAudit`, or - `Remove-NTFSAudit`, does not bind `PathSimple`: the mandatory parameters of - the default set `PathComplex` are satisfiable from the same object, so - PowerShell resolves the set before it binds the property, and the property - is dropped without a message; an added entry gets the default scope - (`ContainerInherit, ObjectInherit`). The first probe ran in both editions on +- **A piped property did not select the Simple set of a path (fixed).** An + object with the properties `FullName`, `Account`, `AccessRights`, and + `AppliesTo`, piped into `Add-NTFSAccess`, `Remove-NTFSAccess`, + `Add-NTFSAudit`, or `Remove-NTFSAudit`, did not bind `PathSimple`: the + mandatory parameters of the default set `PathComplex` were satisfiable from + the same object, so PowerShell settled on the default set before it tried + the property, and the property was dropped without a message; an added entry + got the default scope (`ContainerInherit, ObjectInherit`). The first probe + ran in both editions on the package of `0028ccd` (`E\probes\review2-*.txt`; the binding code is not part of the later changes) and told the set for the first three cmdlets; for `Remove-NTFSAudit` the entries that remained were the same with and without @@ -747,16 +793,22 @@ finding below. `-AppliesTo ThisFolderOnly` left the `InheritOnly` entry (`E\probes\p-remove-audit-appliesto.ps1`, outputs `remove-audit-appliesto-Desktop.txt` and `-Core.txt`). For a descriptor, the - property does select `SDSimple`, because the default set does not compete (no - path is on the object): both Add cmdlets gave the scope `None`, and - `Remove-NTFSAudit` left the `InheritOnly` entry. The judged + property did select `SDSimple` in the real cmdlets of both editions: both + Add cmdlets gave the scope `None`, and `Remove-NTFSAudit` left the + `InheritOnly` entry. A stand-alone model of the binder (the section on the + fix) binds `PathComplex` for such an object, so the model does not explain + that case, which the real cmdlets show; its mechanism is not explained here. + The judged notes had assumed the opposite for paths, and the first audit tests named rows `PathSimple` that piped the property, so they bound `PathComplex` and could not tell the sets; the independent review caught the contradiction with - the access tests, and the rows now name `-AppliesTo` and assert the scope - (`61e936e`). Not pinned: whether the dropped property is intended is the - maintainer's decision, and it is why the getter of `AppliesTo` of the access - cmdlets stays unvisited. + the access tests, and the rows named `-AppliesTo` and asserted the scope + (`61e936e`). + + The maintainer decided on 2026-10-11 to fix it (decision 23): the section + [The fix of the piped `AppliesTo`](#the-fix-of-the-piped-appliesto) has the + change, the tests, the third independent review, which found a defect of the + first fix, the measurement, and the acceptance. - **The `-SecurityDescriptor` cmdlets and the pipeline.** See the mutation `Set-NTFSOwner` above: a test that only pipes descriptors cannot show that a cmdlet always acts on the first one. @@ -953,9 +1005,13 @@ had no module frames and was never reproduced on native x64. ## Final measurement -The code and the tests of the work are frozen at the commit -`61e936e80fd307cdc341a893c4afbbd155986756` of `ai/coverage-unknowns`; the -commits after it change documents only. Against `fa0701b` the production code +The code and the tests of the work were frozen at the commit +`61e936e80fd307cdc341a893c4afbbd155986756` of `ai/coverage-unknowns` for the +measurement below; the fix of the piped `AppliesTo` came after it (the section +on the fix, with its measurement of `9783d2a`, built once, and of `7bc7925` and +`2112ee3` on the same product bytes), and the commits after `2112ee3` change +documents only. Against +`fa0701b` the production code at `61e936e` differs in two classes (`IdentityReference2.Equals`, and the filter of `Get-ChildItem2`), and the tests grew by 145 rows. The measurement was made three times, in a new frozen worktree each time and with the same commands: @@ -1106,6 +1162,7 @@ start. | `fix1` | `b2cb47b` (`DB725D52…`) | the comparison of an identity with a name; no cmdlet uses it (the cmdlets compare identities by SID, and no line of the C# of the cmdlets compares an identity with a string) and no live test does | 21:30:18Z | | `fix3` | `0028ccd` (`C0D10ED6…`), the first and incomplete fix of the filter; evidence, not final | the matcher of `Get-ChildItem2 -Filter` | 23:40:04Z | | `fix4` | `8a625c8` (`6A3F4239…`), the final build, the bytes of the final measurement | the filter, complete: the culture scope around AlphaFS | 00:00:35Z | +| `ap7` | `9783d2a` (`DFA943D1…`; the package of `final7build`) | the four Add and Remove cmdlets of access and audit: no default parameter set, and the flags of a record in locals | 12:24:38Z | The first run is evidence that the identity fix changes nothing in the lab. The live tests do call `Get-ChildItem2` (a long path, `-Hidden`, the listing of a @@ -1113,10 +1170,19 @@ share folder, a folder that the account cannot read, and `-Filter` on a share folder), so `fix3` and `fix4` run the changed code in the three client roles, over SMB, in `en-US`. They cannot show the `tr-TR` defect, which the unit tests show; they show that the culture scope around the enumeration changes nothing -there. None of the runs is a release acceptance: a new candidate needs its own +there. The live tests also call the four cmdlets of the fix of the piped +`AppliesTo` (17 calls: `Add-NTFSAccess` and `Remove-NTFSAccess`, +`Add-NTFSAudit` and `Remove-NTFSAudit`, with `-Path` and with +`-SecurityDescriptor`, with and without `-InheritanceFlags` and +`-AppliesTo`), so `ap7` shows that the removal of the default set changes no +named call in the lab, in any of the four roles. No live test pipes an object +into them; the unit tests show that. The acceptance ran on the package of +`9783d2a`; the package of `7bc7925` has the same four assemblies (the section +on the measurement of `7bc7925`), and the matrix cells and the suites below ran +on it. None of the runs is a release acceptance: a new candidate needs its own (open item 6). -Per role (the same in all three runs and in both editions): +Per role (the same in all four runs and in both editions): | Role | Account | Passed | Failed | Skipped | Exit code | | --- | --- | ---: | ---: | ---: | ---: | @@ -1125,7 +1191,7 @@ Per role (the same in all three runs and in both editions): | Admin | `A\NtfsLiveAdmin` | 64 | 0 | 0 | 0 | | Server | `A\install` | 76 | 0 | 1 | 0 | -All three runs gave the same counts in both editions: 245 passed, 0 failed, 1 +All four runs gave the same counts in both editions: 245 passed, 0 failed, 1 skipped (`LIVE_RESULT_VERIFIED`), the counts of the rc7 acceptance and of the instrumented runs. The removal of the fixture and the independent check of the end state found no account, share, folder, profile, task, or group member left @@ -1140,8 +1206,52 @@ servers `OSFile19`, `OSFile22`, and `OSFile25`) and the first lab (the four domains, `F1AFile1`, and `F1AFile2`) are `CLEAN`. The Windows 11 client `OSWin11`, which the kit does not check, was read with `Verify-Client.ps1`: no scheduled task `NtfsMatrix*`, no stage item, no probe user or profile, no -share, and no folder or user of the fixture. `OSWin11E` was not started and -nothing in this work ran in it after the runs of Stage B. +share, and no folder or user of the fixture. `OSWin11E` had not been started, +and nothing in this work had run in it since the runs of Stage B. + +**The cells of the matrix lab on the fixed builds.** The handoff accepts a fix +in the first lab; the matrix cells ran on the final build as well, because the +maintainer asked for them. A cell is one call of `Run-MatrixSequence.ps1`: the +evaluation client `OSWin11E` against one file server, both editions, the four +roles, the unmodified controller and live tests, and the extracted package of +the build. The first start of the cells, with the command that I had given the +maintainer, did nothing: started from a PowerShell 7 session, +`Start-Process powershell.exe` gives Windows PowerShell 5.1 the module path of +PowerShell 7, so `Get-FileHash` could not load, and the hidden window ended +without a log. The cells were started again from a process with the module +path of Windows PowerShell (the README of the lab kit says so now). They ran +twice, each time in sequence: on the package of `8a625c8` (`mxf`), and again on +the final package, after the fix of the piped `AppliesTo` (`ap8`): + +| Run | Package | Cell | Start to end | Passed, failed, skipped per edition | Clean end state | +| --- | --- | --- | --- | --- | --- | +| `mxf` | `8a625c8` (`6A3F4239…`) | `OSFile19` | 07:33:10 to 07:40:10Z | 229, 0, 2 | 07:40:10Z | +| `mxf` | `8a625c8` (`6A3F4239…`) | `OSFile22` | 07:40:10 to 07:47:13Z | 229, 0, 2 | 07:47:13Z | +| `mxf` | `8a625c8` (`6A3F4239…`) | `OSFile25` | 07:47:13 to 07:56:57Z | 229, 0, 2 | 07:56:57Z | +| `ap8` | the final package (`DFA943D1…`) | `OSFile19` | 13:19:36 to 13:26:40Z | 229, 0, 2 | 13:26:40Z | +| `ap8` | the final package (`DFA943D1…`) | `OSFile22` | 13:26:40 to 13:33:22Z | 229, 0, 2 | 13:33:22Z | +| `ap8` | the final package (`DFA943D1…`) | `OSFile25` | 13:33:22 to 13:43:00Z | 229, 0, 2 | 13:43:00Z | + +The final package is the Release build of `9783d2a` with the help file of +`7bc7925` (the section on the measurement of `7bc7925`). Both runs used the +controller and the live tests of the repository (Git blobs `635bf162…` and +`efe36e50…`), and the log of `ap8` starts with the hash of `NTFSSecurity.dll`. + +Per role (the same in each cell, in both editions, and in both runs): Delegate +69, 0, 0; ServerAdmin 36, 0, 0; Admin 51, 0, 1; Server 73, 0, 1 (passed, +failed, skipped). The validation of each cell gave exit code 0, and the +clean-up verdict was `CLEAN`. A read-only check of both labs at 10:46 and +10:47Z (`E\verify-final2`) found no fixture, scheduled task, stage item, probe +account, or profile left in the matrix lab or in the first lab. + +**The end state after the last run** (`ap8`, 13:43 to 13:45Z, `E\verify-ap8`). +The same read-only checks, with the SIDs of the last fixtures: the matrix lab +(13:43:43Z) and the first lab (13:44:28Z) are `CLEAN`, with no fixture, +scheduled task, stage item, probe account, profile, or group member left, and +`Verify-Client.ps1` found on `OSWin11` (13:44:43Z) no scheduled task +`NtfsMatrix*`, no stage item, no probe user or profile, no share, and no folder +or user of the fixture. `OSWin11E` shuts itself down an hour after its start +(it was started at 13:15Z). ## The suite on the machines of the matrix lab @@ -1245,6 +1355,415 @@ removes its scheduled tasks and its stage folder on each machine at the end of a run; an independent check of the end state of the labs followed (the end of the section Lab acceptance of the fixed build). +**The suite on the final package.** The fix of the piped `AppliesTo` came after +`fix5`. The chain `ap6` ran the 22 files of `93ed2c7` on the three file servers +(`E\localsuite-ap6`; evidence of that commit only: 1,175 cases in each of the +12 configurations, no failure). The chain `ap8` ran the 22 files of `7bc7925` +on the package of the final build: on the three file servers from 12:24 to +13:05Z (`E\localsuite-ap8`) and on the Windows 11 client from 13:05 to 13:15Z +(`E\localsuite-ap8-client`). The log of each run starts with the hash of +`NTFSSecurity.dll` (`DFA943D1…`) and the hashes of the staged files, which +equal those of the commit. Each of the 16 configurations ran 1,189 cases (the +1,175 of `ap6` and the 14 rows that the later commits added) and passed, and +the four machines gave the same counts: + +| Configuration | Passed | Failed | Skipped | Total | +| --- | ---: | ---: | ---: | ---: | +| Windows PowerShell 5.1, elevated | 1,170 | 0 | 19 | 1,189 | +| Windows PowerShell 5.1, basic user | 905 | 0 | 284 | 1,189 | +| PowerShell 7, elevated | 1,168 | 0 | 21 | 1,189 | +| PowerShell 7, basic user | 903 | 0 | 286 | 1,189 | + +The skips of the elevated runs are those of `fix5` (19 and 21), and the 15 +more skips of the basic-user runs are the audit rows that need the Security +privilege (the host has the same 15 more in each of its two basic-user +configurations, 696 skipped rows against 666 at `61e936e`). The commit +`6143545` changed three titles of audit rows after these runs, and removed from +them a comparison of the DACL before and after a call that fails while the +parameters bind; it cannot make a test fail, and the host ran the files of +`2112ee3` (the measurement of `2112ee3`, in the section on the fix), but the +domain members ran the files of `7bc7925`. + +## The fix of the piped `AppliesTo` + +The maintainer asked on 2026-10-11 why a piped `AppliesTo` is dropped for a +path, was told the cause, and decided to fix it test-first and to accept the +fix in the labs (decision 23). The work is six commits on `21188b1`, in the +order that the evidence tells it: `88ed362` (a test for a Minor finding of the +second review), `93ed2c7` (the fix), `9783d2a` (a defect of that fix, found by +the third independent review), `7bc7925` (the words and tests that the first +check of the correction asked for), `6143545` (three test titles) and +`2112ee3` (the words that the second check asked for); the commits of this +report and of the Memory Bank follow them. + +### The change + +`Add-NTFSAccess`, `Remove-NTFSAccess`, `Add-NTFSAudit`, and `Remove-NTFSAudit` +declared `DefaultParameterSetName = "PathComplex"`. An object piped with +`Path`, `Account`, and `AccessRights` satisfied the mandatory parameters of +that set, so PowerShell settled on it and never tried `PathSimple`, and the +property `AppliesTo` was dropped. `4b1abc9` had made `-AppliesTo` mandatory in +the Simple sets, so that a `-SecurityDescriptor` call without a scope resolves; +since then the default set decides no named call. `93ed2c7` removes the +argument, one line in each cmdlet. What an object that is piped with a path +does: + +| The object has | Before | After | +| --- | --- | --- | +| `AppliesTo` | `PathComplex`; the property is dropped and the entry gets the default scope | `PathSimple`; the entry gets the scope | +| `InheritanceFlags` or `PropagationFlags` | `PathComplex` | `PathComplex` | +| none of them | `PathComplex`, the default scope | `PathComplex`, the default scope | +| `AppliesTo` and `InheritanceFlags` | `PathComplex`; `AppliesTo` is dropped | `AmbiguousParameterSet`, like the same two named parameters | +| `Path` and `SecurityDescriptor` (a hand-built object; no cmdlet of the module produces one) | `PathComplex`: the path wins, and the descriptor is ignored | `AmbiguousParameterSet` | +| an `AppliesTo` that is `$null` (also the missing column of a CSV row that has fewer fields than its header) | ignored | the binding fails for that object ("Cannot bind argument to parameter 'AppliesTo' because it is null"), and the cmdlet goes on with the next | +| an `AppliesTo` that PowerShell cannot convert to a scope (the blank cell that `Import-Csv` reads, a misspelled name) | ignored | ignored, as before: the object is handled as one without `AppliesTo`, so it uses its own `InheritanceFlags` and `PropagationFlags`, and gets the default scope when it has none | + +The probe `E\probes\p-proto-appliesto.ps1` (15 calls, run in both editions on +the package of the build before the fix, on a scratch build of the change, and +on the package of `93ed2c7`) shows the differences of the first and fourth rows +of the table, and the sets in the order of the declaration, and nothing else. +The scratch build and the package of `93ed2c7` agree line by +line, and so do the two editions. The last three rows of the table were probed +later, with the package of the fixed build and the build before the fix, both +editions: `E\probes\p-empty-appliesto.ps1` (`empty-appliesto-*.txt`) for the +empty and the invalid values, and `E\probes\p-unconvertible-appliesto.ps1` +(`unconvertible-appliesto-*.txt`) for the empty string and the misspelled name +alone and next to a flag, for `$null`, for a CSV row with fewer fields than its +header, and for an object with `Path` and `SecurityDescriptor`; the fixed build +is the package of `9783d2a` with the help file of `7bc7925`. +Unchanged are the named calls with and +without `-AppliesTo` (the conflict with `-InheritanceFlags` fails as before), +`-SecurityDescriptor` without a scope (the case of `4b1abc9`), a piped +descriptor object with `AppliesTo`, the round trip +`Get-NTFSAccess -Path $source | Add-NTFSAccess -Path $target`, and +`Get-ChildItem | Add-NTFSAccess -Account ... -AccessRights ...`. The rule +objects (`FileSystemAccessRule2`, `FileSystemAuditRule2`), the descriptors, and +the file objects carry no property `AppliesTo`, so the documented pipeline +input binds `PathComplex` as before. `Get-Command` lists the sets in the order +of the declaration, `PathSimple` first, and no default. + +A stand-alone model of the binder with no default set predicted this before +the real cmdlets were touched. The first (`E\probes\p-parameterset-binding.ps1`) +has the two Path sets, in four variants of the default set; the second +(`p-parameterset-binding2.ps1`) has the four sets, with and without the +default, and a class of the same shape as the descriptor. Both, in both +editions, give `PathSimple` for an object with `AppliesTo`, `PathComplex` for +one without, an error for one with `AppliesTo` and `InheritanceFlags`, and +named calls as before. The second model binds `PathComplex` for a piped +descriptor object, where the real cmdlets bind `SDSimple`: a model predicts, the +cmdlet decides, so the real cmdlets were probed before the change was kept. + +Two consequences are in the changelog entry, as the rows of the table: an +object with `Path` and a `SecurityDescriptor` fails with `AmbiguousParameterSet` +where the path won, and a call with neither `-Path` nor `-SecurityDescriptor` +fails with `AmbiguousParameterSet` instead of a missing-parameter error for +`-Path`. + +### The third independent review + +The review of `21188b1..93ed2c7` (the built-in `code-review` agent again, +read-only, one pass) found one Major and two Minor findings and no Blocker. It +checked the compatibility of removing the default set: no reader of +`DefaultParameterSet` in `Tests`, `.github`, `Docs`, the wiki export, or the +lab controller; identical results on both builds, in both editions, for the +rule objects of `Get-NTFSAccess` and `Get-NTFSAudit` piped back in (also through +`Export-Csv` and `Import-Csv`), for file objects with a named account, for +`Get-NTFSSecurityDescriptor` output, for positional and named calls, and for a +piped hashtable. + +**The Major finding, reproduced in both editions on the package of `93ed2c7`.** +`ProcessRecord` of the four cmdlets wrote the scope that it converts from +`AppliesTo` into the fields behind `-InheritanceFlags` and +`-PropagationFlags`. PowerShell resets only the parameters that the previous +piped object bound, so an object with no scope, or with one flag, took the +scope of the object before it: `AppliesTo ThisFolderOnly`, then none, gave +`None` twice, and the Remove cmdlets left the `InheritOnly` part of every +entry. The change of `93ed2c7` made that reachable for piped path objects. For +piped `-SecurityDescriptor` objects it is a defect of rc7: the probe +`E\probes\p-csv-blank-appliesto.ps1` on the package of the build before the fix +gives `None/None` twice for two descriptor objects with `AppliesTo +ThisFolderOnly` and none. My first tests piped one object per call, so they +could not see a value that stays for the next object; a pipeline test needs two +objects of different shape. + +**The fix (`9783d2a`).** The flags of a record are locals, and the fields keep +only what the parameters bound. The loops of `Remove-NTFSAccess` and +`Remove-NTFSAudit` converted the scope a second time into the same fields (the +trivial observation of the first version of this report); the locals make that +redundant, so it is gone. The tests pipe objects of different shape in one +call into each of the four cmdlets, for paths and for descriptors, and the +changelog names the new errors. + +The two Minor findings: the `PathSimple` row of the Remove-NTFSAudit pipe test +passes without the fix of `93ed2c7`, because its entry is on a file, where the +scope does not matter (its comment says so now, and the new Contexts on +folders tell the sets apart); and the changelog entry did not name the error +of a call without a path. + +**The verification of the fix.** The same reviewer, asked to verify `9783d2a` +(probes of a copy of the package in both editions, identical results), found the +production change correct: no value of one piped record +reaches the next in the four cmdlets (it probed `-AccessType`, records without +a mandatory parameter or without a path, two paths in one record, named calls, +descriptor calls, and `-RemoveSpecific`), the lambdas capture the right locals, +and the rc7 tag has the same carry-over for descriptor objects. It found one +Major and one Minor finding, both about the empty cell. The statement of the +changelog entry and of the four pages that an empty `AppliesTo` fails to bind +holds for `$null` only: an empty string, such as a blank cell that `Import-Csv` +reads from a file, is ignored and the row gets the default scope, and so is a +value that is not the name of a scope (`'NoSuchScope'`: the entry gets the +default scope, which is the broader one; a loud failure for it needs code, a +design change: open item 3). My probes and tests had used `ConvertFrom-Csv` of +strings, which makes a trailing blank cell `$null`, so they had shown the one +route where the statement holds. `7bc7925` corrected the changelog entry, the +four pages, and the help file, and the tests read a file with `Import-Csv`. + +**The second check, of `7bc7925` and of this report.** The same reviewer, +asked to verify `7bc7925` and the new sections of this report (probes of copies +of the packages of `93ed2c7` and of the final package, in both editions, with +identical results; the labs and the Memory Bank were outside its scope), found +no Blocker and no Major finding, and seven Minor findings. It confirmed that +the statements about `$null`, an empty string, a space, a misspelled name, +`AmbiguousParameterSet` for a scope together with a flag, and for a call with +neither `-Path` nor `-SecurityDescriptor` are true in both editions; that the +pages and the help file say the same; that the three tests of the CSV route in +each file fail on the build before the fix for the stated reasons and pass on +the fixed build; and the numbers of the measurement of `7bc7925` (1,492 cases, +3,266 of 3,668 points, 696 skipped rows of 174 tests, the inventory and the +classification byte-equal to those of `9783d2a`). The findings: + +| # | Finding | Resolution | +| --- | --- | --- | +| 1 | "An empty string or a value that is not the name of a scope is ignored, and the object gets the default scope" is too general. A number converts (`'0'` and `0` give `ThisFolderOnly`; 13, 14, 99, and -1 are ignored), `'ThisFolderOnly,SubfoldersOnly'` binds `SubfoldersOnly`, an array of names and a padded or lower-case name bind. An unusable `AppliesTo` next to a flag gives the flag, not the default scope. A CSV row with fewer fields than its header gives `$null` and fails | The changelog entry, the four pages, and the help file now say that a value that PowerShell cannot convert is ignored, that the object is then handled as one without `AppliesTo` (its own flags, else the default scope), and that a CSV row with fewer fields gives `$null` (`2112ee3`). My probe `p-unconvertible-appliesto.ps1` (both editions, the package of the fix and the package before it) shows the empty string, a misspelling, and 99 ignored; the flag next to an empty string; `$null` and the short CSV row failing; and a lower-case name, a padded name, `0`, `'0'`, and an array of one name binding. The rules for lists and other numbers are those of an enum parameter and are not repeated in the text | +| 2 | "Two consequences are in the changelog entry": the second one, an object with `Path` and a `SecurityDescriptor`, was not | The entry and the four pages name it (`2112ee3`), and the table of the change has a row for it | +| 3 | "The blank-cell test cannot go red through the product code alone" is false | Run on the package of `93ed2c7` (`E\tdd5red93`), the 89 cases fail in 10 places elevated and 5 as a basic user, the two blank-cell tests among them (the tests, red and green) | +| 4 | `7bc7925` is said to correct the decision and this report, but it changed the changelog, the pages, the help file, and two test files; "no agent read it again" is out of date | The text names the commit of each change, and the review of `7bc7925` is this check | +| 5 | Decision 24 says "the Major finding of the second review", which was the third review's; it does not name the second stop of the chain | Decision 24 names the third review and both stops | +| 6 | "The first version of the model was unfaithful (`SecurityDescriptor` was an `[object[]]`)": no saved file shows it | The text says what the two saved models contain | +| 7 | The three audit rows that reject a call with `AppliesTo` and `InheritanceFlags` say that they change nothing, but compare the DACL, which the audit cmdlets never write | The rows say and assert the error only (`6143545`); the access rows compare the DACL, which is what those cmdlets write | + +The reviewer could not check the durations of the reviews, which no file of +the evidence records (the report no longer states them), the first build of +`mutA` (the report says that it is not kept), the interactive prompt of a call +without `-Path` (open item 3 says so), and platyPS. + +### The tests, red and green + +Each run is the focused Pester run of the files in the four configurations +(`E\tdd3`, `E\tdd4`, `E\tdd5`, `E\tdd5red`, `E\tdd5red93`, `E\tdd6`; the logs +`tdd3red2-*`, `tdd3green-*`, `tdd4red2-*`, `tdd4green-*`, `tdd5-*`, `tdd5red-*`, +`tdd5red93-*`, and `tdd6-*`): + +| Run | Build | Files and cases | Elevated, Desktop and Core | Basic user, Desktop and Core | +| --- | --- | --- | --- | --- | +| red for `93ed2c7` | the build before the fix | the two ParameterSets files, 75 cases | 62 passed, 12 failed, 1 skipped | 38 passed, 8 failed, 29 skipped | +| green for `93ed2c7` | `93ed2c7` | the two files and the Items file, 209 cases | 208 and 207 passed, 0 failed | 174 and 173 passed, 0 failed | +| red for `9783d2a` | `93ed2c7` | the two files, 87 cases | 78 passed, 8 failed, 1 skipped | 48 passed, 4 failed, 35 skipped | +| green for `9783d2a` | `9783d2a` | the three files, 221 cases | 220 and 219 passed, 0 failed | 180 and 179 passed, 0 failed | +| red for `7bc7925` | the build before the fix (`8a625c8`) | the two files with the `Import-Csv` and `$null` rows, 89 cases | 62 passed, 26 failed, 1 skipped | 38 passed, 15 failed, 36 skipped | +| red for `7bc7925` | `93ed2c7` | the same 89 cases | 78 passed, 10 failed, 1 skipped | 48 passed, 5 failed, 36 skipped | +| green for `7bc7925` | `9783d2a` (the same source) | the same 89 cases | 88 passed, 0 failed, 1 skipped | 53 passed, 0 failed, 36 skipped | +| green for `2112ee3` | `9783d2a` (the package of the lab runs `ap8`) | the two files after `6143545` changed three titles, 89 cases | 88 passed, 0 failed, 1 skipped | 53 passed, 0 failed, 36 skipped | + +The 12 failures of the first red run are, for Add-NTFSAccess, the three rows +that pipe `AppliesTo` (the entry gets the default scope) and the row that pipes +`AppliesTo` and `InheritanceFlags` (no error); for Add-NTFSAudit the same four, +one of them the `PathSimple` row of the older test; and for each of the two +Remove cmdlets the row with `AppliesTo` (the entry is removed whole) and the +row with both properties. The 8 failures of the basic runs are the six access +rows and the two audit rows that need no privilege. The 8 failures of the +second red run are exactly the eight tests that pipe objects of different +shape; the CSV rows of that round passed on `93ed2c7`, because each of their +rows has an `AppliesTo` of its own, and no value stays from a row that has +none. Two defects of my own tests showed. Two rows of the first red run failed +for the wrong reason (the variable `$left` of the test body overwrote the row +variable `$Left`, because PowerShell variable names ignore case). The CSV rows +of the second round read strings with `ConvertFrom-Csv`, which makes a +trailing blank cell `$null`, and said that an empty cell fails to bind; the +follow-up review showed that this holds for `$null` only. A blank cell that +`Import-Csv` reads from a file is an empty string, which the binder cannot +convert, so `PathSimple` does not bind and the row gets the default scope. The +tests read a CSV file with `Import-Csv`, the route that the documentation +shows, and pin the blank cell as the default scope and the `$null` object as a +binding error for that object only (`7bc7925`). Run against the build before the +fix, the three tests of that route fail in each of the two files, for the +expected reasons (every row gets the default scope, and the `$null` object +gives no error; `E\tdd5red`). Run against `93ed2c7`, the 89 cases fail in 10 +places elevated and in 5 as a basic user (`E\tdd5red93`): the eight tests of +the mixed pipelines and the two blank-cell tests, because the scope of the row +before reaches the blank row. An earlier version of this paragraph said that the +blank-cell test cannot go red through the product code alone; that was a +conclusion without a run, and the run shows the opposite. On `9783d2a`, all +of them pass. The commit `6143545` then changed three titles of audit rows +(the second check, finding 7); the run `tdd6` is the proof that nothing else +changed. + +**Mutations of the culture test** (the Minor finding 1 of the first review, +`88ed362`): the test now reads the culture of the thread in the next pipeline +stage for each item, and once after the call. Three mutations of +`GetChildItem2.cs`, each in a scratch worktree (`E\proto-appliesto`) and +restored after the run, fail it: writing the item inside the scope of the +invariant culture (`mutB`: 4 rows fail, 130 passed of 134 in Windows PowerShell +5.1, elevated); leaving the scope without restoring the culture (`mutA2`: 4 +rows fail in both editions); and (`mutC`) restoring it only after a `MoveNext` +that returns an item, which only the assertion after the call catches. The +first build of `mutA` did not hold the mutation (a restore of the file ran at +the same time as the edit; a probe of that build, which shows the culture of +the thread empty after the call, was run on the second build), and its run is +not evidence. `mutC` fails the same four rows in both editions, and the +message is the one of the assertion after the call ("because the cmdlet +restores the culture of the caller": `'tr-TR'` expected, `''` found), so each +of the two assertions has a mutation that only it catches (`E\tdd3`, `E\tdd4`). + +### The measurement of `9783d2a` + +`93ed2c7` was measured first (`E\final6`: 1,478 cases per configuration, +3,262/3,664 sequence points) and was superseded by `9783d2a` before its lab run +was finished, so the numbers below are those of `9783d2a`. It was built once, +in a new frozen worktree (`E\final7build`: Release, 0 errors, 317 warnings, the +same as at `fa0701b`; the package that `New-ModulePackage.ps1` makes and its +extracted copy are hash-equal, `NTFSSecurity.dll` `DFA943D1…`), and measured +with the commands of the earlier measurements (`Chain-Remeasure.ps1`: +Validate, Coverage, and the skip eligibility on a second tree that holds the +same bytes). + +- Validate (no instrumentation): 1,490 cases in each of the four + configurations, no failure (1,459 at `61e936e`; the 31 rows of the + `AppliesTo` fix): + +| Configuration | Passed | Failed | Skipped | Total | +| --- | ---: | ---: | ---: | ---: | +| Windows PowerShell 5.1, elevated | 1,464 | 0 | 26 | 1,490 | +| Windows PowerShell 5.1, basic user | 1,200 | 0 | 290 | 1,490 | +| PowerShell 7, elevated | 1,433 | 0 | 57 | 1,490 | +| PowerShell 7, basic user | 1,169 | 0 | 321 | 1,490 | + +- Skip eligibility, by row: 694 skipped rows of 173 distinct tests (666 and 165 + at `61e936e`). Every skipped row executes in at least two other + configurations, and no skipped row lacks an executed counterpart. The 28 new + skipped rows are 14 audit rows in each of the two basic-user configurations, + which need the Security privilege. +- The instrumented runs gave the same counts. The measured assemblies: + +| Assembly | SHA-256 | +| --- | --- | +| `NTFSSecurity.dll` | `DFA943D15B9DA0580020625EB4741F635F70E1679D72046660E602470480842A` | +| `Security2.dll` | `9B8AA25ADA31337388E9C2EDAD3D93B42D2EAE6EE7CF0146D85FFDABFB29A33F` | +| `ProcessPrivileges.dll` | `615774328D04633DE27ED78A1971AD3C09C0D9FA922C4DE7CDA3EFB6CA6A4ECC` | +| `PrivilegeControl.dll` | `585F8FFD630A75FDC1041C0AC50AF3FCE0719048A3D7ACE055D6BD44B855D5BF` | + +| Assembly | Sequence points | Sequence coverage | Branch points | Branch coverage | +| --- | ---: | ---: | ---: | ---: | +| NTFSSecurity | 1,980/2,187 | 90.53% | 679/1,093 | 62.12% | +| Security2 | 1,061/1,240 | 85.56% | 509/753 | 67.60% | +| ProcessPrivileges | 205/219 | 93.61% | 72/125 | 57.60% | +| PrivilegeControl | 20/22 | 90.91% | 12/17 | 70.59% | +| Aggregate | 3,266/3,668 | 89.04% | 1,272/1,988 | 63.98% | + +The explicit branch points that a person wrote are 1,086/1,164 (93.30%; +1,090/1,168 at `61e936e`): the two conditions of the second conversion in the +loops of the Remove cmdlets, four points, are gone. The sequence points grew by +four: the two locals of each of the four methods add eight, and the second +conversion removes four. The build visits eight points more than the build of +`61e936e`: the eight of the locals, and the four getters that the new rows +supply (`AddAccess.AppliesTo`, `.InheritanceFlags`, `.PropagationFlags`, and +`RemoveAccess.AppliesTo`), less the four visited points that were removed. +The unvisited inventory has 183 methods, 402 sequence points, and 78 explicit +branch points: the 187 methods of `61e936e` less the four getters. Each is +classified (none unclassified), 167 as explained and 16 as open (the 8 methods +that the paths report left to the maintainer, and 8 getters of pipeline +parameters; `classification-final7.csv`). Two unvisited lambdas of the audit +cmdlets have new compiler-generated names (`<>c__DisplayClass35_1` and +`39_1`). + +Compared by position with `61e936e` (`merge\final5-vs-final7-points.csv`), +4,618 points (3,506 sequence points and 1,112 explicit branch points) exist in +both builds. None of them is visited by the run of one build and not by the +other, but the four getters, which only the new run visits. The other 214 +positions of each build are in the four changed `ProcessRecord` methods, their +lambdas, and the two `EndProcessing` methods that follow them (their lines +moved), and they cannot be aligned: 196 of them are visited in each build, and +18 are not. The merged tables of the sources (Methods and Cmdlets) are still +those of `b2cb47b`. + +### The measurement of `7bc7925` + +`7bc7925` changes two test files, the changelog, the four cmdlet pages, and the +help file; the product code is that of `9783d2a`. A Release build is not +byte-reproducible, and a new build would not be the one that the labs accepted, +so none was made: `E\final8build` is the pristine Release folder of +`E\final7build` with the help file of `7bc7925` (`en-US\NTFSSecurity.dll-Help.xml`; +the four assemblies, the manifest, and every other file are hash-equal to those +of `final7build`, and `bytes-note.txt` says so). The chain +`Chain-Remeasure.ps1` refused to run when a file outside the tests and the +documents differs from the commit of the pristine build (none does), copied the +20 files of the pristine folder into a new frozen worktree and a new +eligibility worktree (all hashes equal), and ran Validate, Coverage, and the +skip eligibility (`E\final8`, `E\eligibility-final8`; 12:22 to 12:39Z). + +- Validate (no instrumentation): 1,492 cases in each of the four + configurations, no failure (1,490 at `9783d2a`: each of the two files has one + more test of the CSV route): + +| Configuration | Passed | Failed | Skipped | Total | +| --- | ---: | ---: | ---: | ---: | +| Windows PowerShell 5.1, elevated | 1,466 | 0 | 26 | 1,492 | +| Windows PowerShell 5.1, basic user | 1,201 | 0 | 291 | 1,492 | +| PowerShell 7, elevated | 1,435 | 0 | 57 | 1,492 | +| PowerShell 7, basic user | 1,170 | 0 | 322 | 1,492 | + +- Skip eligibility, by row: 696 skipped rows of 174 distinct tests (694 and 173 + at `9783d2a`). Every skipped row executes in at least two other + configurations, and no skipped row lacks an executed counterpart. The two new + skipped rows are the new audit test in each of the two basic-user + configurations, which need the Security privilege. +- The instrumented runs gave the same counts and the same measurement as + `9783d2a`: 3,266/3,668 sequence points (89.04%), 1,272/1,988 branch points of + the summary (63.98%), and 1,086/1,164 explicit branch points (93.30%). The 19 + measured files of the two runs have the same names and hashes, so the four + assemblies are those of the table above. Merged by position with the run of + `9783d2a` (`merge\final7-vs-final8-points.csv`), both runs have the same 3,668 + sequence points and 1,164 explicit branch points and visit the same ones: the + second run adds none. The inventory of the unvisited methods (183 methods, + 402 sequence points, 78 explicit branch points) and the classification (167 + explained, 16 open) are byte-equal to those of `9783d2a`. + +The unit suite on the machines of the matrix lab and the cells of the matrix lab +ran on this package (the sections on the suite and on the acceptance), and the +first lab ran on the package of `9783d2a`; the two packages differ in the help +file only. + +### The measurement of `2112ee3` + +`6143545` changes one test file (three titles, and the comparison of the DACL +that they no longer claim), and `2112ee3` the changelog, the four cmdlet pages, +and the help file; the product code is still that of `9783d2a`. As for +`7bc7925`, no build was made: `E\final9build` is the pristine Release folder of +`E\final8build` with the help file of `2112ee3`, and `bytes-note.txt` says that +this file is the only one outside the tests and the documents that differs from +`9783d2a`, and the only one that differs from the package of the lab runs. The +chain ran Validate, Coverage, and the skip eligibility on those bytes +(`E\final9`, `E\eligibility-final9`; 13:24 to 13:41Z). The run also executes the +tests that check the texts of the final commit: the help tests, which compare +what `Get-Help` shows with the pages of `Docs\Cmdlets`, and the tests of the +release notes, which parse `CHANGELOG.md`. + +- Validate (no instrumentation): 1,492 cases in each of the four + configurations, no failure, and the same passed and skipped counts as at + `7bc7925` (1,466 and 26, 1,201 and 291, 1,435 and 57, 1,170 and 322). +- Skip eligibility, by row: the same 696 skipped rows of 174 tests as at + `7bc7925` (no row differs), each executed in at least two other + configurations. +- The instrumented runs: 3,266/3,668 sequence points, 1,272/1,988 branch + points of the summary, and 1,086/1,164 explicit branch points, as before. + The 19 measured files have the same names and hashes as those of `7bc7925`, + the merge by position with that run (`merge\final8-vs-final9-points.csv`) + adds 0 points, and the inventory (183 unvisited methods) and the + classification (167 explained, 16 open) are byte-equal. + +The commits after `2112ee3` change the report, its tables, the lab README, and +the Memory Bank only. + ## Decisions made The decisions below are the agent's, taken inside the limits of the handoff; @@ -1324,24 +1843,64 @@ the maintainer can reverse every one of them. as evidence. The merged tables of the sources (Methods and Cmdlets) are those of `b2cb47b`: the other sources must run the same code, and `GetChildItem2` changed since, so its final row is measured on its own. -20. **One independent review, not two.** The review (the built-in `code-review` - agent, 44 minutes, read-only) found four Major findings and several Minor - ones; each was resolved or answered with a probe, a test, or a text change - (section Review). The changes made to resolve them were not reviewed by a - second agent: runs verified them (red and green tests, probes, the lab - acceptance), and the handoff asks for one review. -21. **The cells of the matrix lab were not run again for the final build.** The - change after the acceptance that the matrix gave to rc7 is one class, - `GetChildItem2`, which the live suite of the first lab exercises and the - unit suite ran on the three file servers and the client. The cells are the - acceptance of a new candidate (open item 6), and they cost the matrix lab's - time (an evaluation client that shuts down every hour). +20. **Three independent reviews and two checks, on request.** The first review + (the built-in `code-review` agent, read-only) found four Major findings and + several Minor ones. The maintainer then asked for `review: on`, and each + finished delta was read again: the second review found five Minor + findings; the third (of the fix of the piped `AppliesTo`) one Major and two + Minor; its first check of the correction one more Major and one Minor; and + its second check, of `7bc7925` and of this report, seven Minor findings and + no Major (section Review). Runs verified every fix. The second review also + read the fixes of the first, and the checks read the fix of the third. The + commits `6143545` and `2112ee3`, the three test titles and the words that + the second check asked for, were not read again. +21. **The cells of the matrix lab ran on the final builds.** For the build of + `8a625c8` they were first not run, because the change after the acceptance + that the matrix gave to rc7 is one class, `GetChildItem2`, which the live + suite of the first lab exercises and the unit suite ran on the three file + servers and the client. The maintainer asked for them, and they ran on the + package of `8a625c8` (`mxf`, 2026-10-11 07:33 to 07:57Z; the section Lab + acceptance of the fixed build). They ran again on the final package, the + Release build of `9783d2a` with the help file of `7bc7925` (`ap8`, 13:19 to + 13:43Z), after the fix of the piped `AppliesTo`. + The evaluation client shuts down an hour after each start, so it starts + right before the cells. 22. **Server Core, ARM64, a localized operating system, and non-Windows file servers are out of scope** (the maintainer, 2026-10-11: the audience of the tool does not need them; Memory Bank Decision 25). They are not open items and no further plan, deployment, or test covers them. The decision is about the tests and the acceptance of this work; the question of #34 (Decision 23 of the Memory Bank) is not changed by it. +23. **The piped `AppliesTo` is fixed by removing the default parameter set** + (the maintainer, 2026-10-11, after the question why a piped property is + dropped; Memory Bank Decision 26). The options were to leave it as a + documented limit; to remove the default set (four attributes; new errors + for an object with `AppliesTo` and a flag, for an object with `Path` and + `SecurityDescriptor`, for a `$null` `AppliesTo`, and for a call with + neither `-Path` nor `-SecurityDescriptor`, see the section on the fix); or + to keep the default and make `AppliesTo` an optional parameter of the + Complex sets, which changes the public syntax. The dropped property was a + silent change of the scope (`ThisFolderOnly` became + `ThisFolderSubfoldersAndFiles`), and the second option changes the + declaration only and keeps every named call, so it was taken. +24. **Two lab chains were stopped when a finding arrived.** The chain of + `93ed2c7` (`ap6`) was stopped when the Major finding of the third review + arrived. The suite stage that was running on the file servers was left to + finish, because stopping it would have skipped the clean-up of its runner; + its results (`localsuite-ap6`: 12 configurations, 1,175 cases each, no + failure) are evidence of `93ed2c7`, not of the final build. The first + stage of that chain, the acceptance of the first lab, had failed at once + (11:21:53Z): `Run-AcceptStage.ps1` has `$PSScriptRoot` in a parameter + default, which is empty in Windows PowerShell 5.1 with `-File`, and the + chain judges nothing and went on. A second chain (`ap6b`), meant to repeat + the acceptance alone, never started a stage; its log has the start line + only. The chain of `9783d2a` (`ap7`), queued behind that suite stage, was + stopped at 12:15:58Z, when the first check of the correction found the + false sentence about empty values, while its first stage, the acceptance + of the first lab, was running; that stage ran on and ended with exit code + 0 at 12:24:39Z (`accept-ap7.log`). The stages after it ran in the chain + `ap8`, on the package of `7bc7925` (`final8build`), which names the script + explicitly. ## Open items for the maintainer @@ -1359,39 +1918,47 @@ of the effective-access check, Decisions 22 and 24, and #34) stay as they are. have no trigger on a Windows file server. Closing them needs an answer of a file server that is not a Windows server (#34), or a seam that injects the exception (a design change). -3. **A piped property `AppliesTo`** is dropped for a path, without a message: - the default set `PathComplex` binds, and the property does not select the - Simple set (probed for all four cmdlets: `Add-NTFSAccess`, - `Remove-NTFSAccess`, `Add-NTFSAudit`, and `Remove-NTFSAudit`). For a - descriptor it selects `SDSimple`. The cause is the declaration, not - PowerShell: when a piped object satisfies the mandatory parameters of the - default set, the binder settles on it and never tries a parameter that - belongs to another set. Without `DefaultParameterSetName`, a model with the - same four sets binds `PathSimple` for an object with `AppliesTo` and - `PathComplex` for one without, and every named call resolves as before - (`E\probes\p-parameterset-binding*.ps1` and their outputs; the real - cmdlets were not changed or tested). The default is a leftover: at 4.2.6 - `AppliesTo` was optional and the sets overlapped, and `4b1abc9` made it - mandatory so that the Complex sets win without it. Intended or not? Leaving - it is a documented limit; removing the default is a change of four cmdlet - attributes with a new error for an object that carries `AppliesTo` and - `InheritanceFlags` both. -4. **Twelve getters of pipeline parameters** that take pipeline input by - property name and that no test supplies on a piped object (Stage C lists - them): tests close them. +3. **A piped property `AppliesTo`** was dropped for a path, without a message. + It is fixed (decision 23, the section on the fix): the four cmdlets declare + no default parameter set, and the flags of a record are locals. What stays + for the maintainer is to read the consequences that the changelog entry + names. An object that has `AppliesTo` together with `InheritanceFlags` or + `PropagationFlags` fails with `AmbiguousParameterSet`, and so does an object + that has both `Path` and `SecurityDescriptor`. An `AppliesTo` that is + `$null` fails to bind for that object, and a CSV row with fewer fields than + its header has `$null` there. A call with neither `-Path` nor + `-SecurityDescriptor` fails with `AmbiguousParameterSet` instead of a + missing-parameter error for `-Path`, so an interactive host no longer + prompts for the path (the prompt was not exercised). One limit remains, and + it is silent: a value that PowerShell cannot convert to a scope, such as the + empty cell that `Import-Csv` reads or a misspelled name + (`ThisFolderOnlyy`), is ignored, and the object is handled as one without + `AppliesTo`: it uses its own flags, and gets the default scope, the broader + one, when it has none. The binder swallows a value that it cannot convert + to the enum, and a cmdlet does not see the object that is piped, so + failing loudly needs a design change: `AppliesTo` as an optional parameter + of the Complex sets too (a change of the syntax), or a string that the + cmdlet parses itself. +4. **Eight getters of pipeline parameters** that take pipeline input by + property name and that no test supplies on a piped object + (`AddAccess.AccessType`, `AddAudit.AuditFlags`, `CopyItem2.Destination`, + `GetEffectiveAccess.Account`, `GetFileHash2.Algorithm`, + `MoveItem2.Destination`, `RemoveAudit.AuditFlags`, `SetOwner.Account`): + tests close them. The rows of the `AppliesTo` fix visit four of the twelve + that Stage C counted (`AddAccess.AppliesTo`, `.InheritanceFlags`, + `.PropagationFlags`, and `RemoveAccess.AppliesTo`). 5. **The remaining gaps of 52 sets** in the ParameterSets table (62 `budget`, 16 `Limit`, 2 `would-pin`, and 3 `MaintainerDecision` mentions), and the four `MaintainerDecision` sets with the open item 1 of the paths report. The `-SecurityDescriptor` sets other than three were not tested with a direct call that passes several descriptors. -6. **A new candidate.** The fixes `419cfb3`, `0028ccd`, `fbe0289`, and - `8a625c8` and the tests are changes after the tag; a new candidate, if he - takes them, needs the acceptance (matrix cells and first lab) on its own - bytes. The acceptance of the fixed build below is evidence for the behavior, - not for a release. -7. **A trivial observation:** `RemoveAudit.cs` converts the scope of an - `-AppliesTo` twice for the set `PathSimple` (at the top of `ProcessRecord` - and again in the loop). It is idempotent and has no effect. +6. **A new candidate.** The fixes `419cfb3`, `0028ccd`, `fbe0289`, `8a625c8`, + `93ed2c7`, and `9783d2a` and the tests are changes after the tag; a new + candidate, if he takes them, needs the acceptance (matrix cells and first + lab) on its own bytes. The acceptance of the final package (the first lab on + the build of `9783d2a`; the suites and the cells on that build with the help + file of `7bc7925`; the sections on the acceptance and on the fix) is evidence + for the behavior, not for a release. ## Completion matrix @@ -1400,23 +1967,32 @@ of the effective-access check, Decisions 22 and 24, and #34) stay as they are. | Coverage of the shipped code (rc7, `fa0701b`) | Closed | Stage A: 3,198/3,649 sequence points (87.64%), 1,090/1,168 explicit branch points; 232 methods classified, none unclassified; the Methods, Cmdlets, and Reconciliation tables | | Coverage of the live tests | Closed | Stage B: first lab and three matrix cells, 245 and 229 passed per edition, the counts of the uninstrumented acceptance; 1,861 sequence points each, 9 sequence and 4 explicit branch points more than the host unit suite; the cells add nothing to the first lab | | The unit suite on a domain member | Closed | `OSFile25`, four configurations, the counts of the rc7 acceptance; 9 sequence and 3 explicit branch points more than the host | -| The unit suite of the final build on the other operating systems | Closed | the 22 behavior files on Windows Server 2019, 2022, 2025 and Windows 11 (build 28000), elevated and as a basic user, both editions: 1,156 cases in each of the 16 configurations, no failure (`fix5`, `fix5c`); the first run (`fix1`) found one failing test, caused by its oracle and fixed in the test (`f1f3d8f`); both labs verified clean afterwards | +| The unit suite of the final build on the other operating systems | Closed | the 22 behavior files on Windows Server 2019, 2022, 2025 and Windows 11 (build 28000), elevated and as a basic user, both editions: 1,156 cases in each of the 16 configurations at `61e936e`, no failure (`fix5`, `fix5c`), and 1,189 cases in each at `7bc7925` on the final package, no failure (`ap8`); the first run (`fix1`) found one failing test, caused by its oracle and fixed in the test (`f1f3d8f`); both labs verified clean afterwards | | The code of `fdd7a8b` | Closed, with one branch visited by nothing | the ServerAdmin tests (lines 478 and 486) and the basic-user runs on the domain member visit the fall back; the answer "RPC server unavailable" of the context initialization is visited by nothing (explained) | | `AUDIT-OWNER-RETRY`, `AUDIT-READ-DENIED` | Open, explained | no test visits them; no trigger on a Windows file server (probe of 48 calls); closing needs a non-Windows server (out of scope, decision 22) or a seam (a design change) | -| The reachable gaps, the judged matrix of the 64 parameter sets | Partly closed | 79 `It` blocks (140 rows), 33 of 35 mutations caught; 7 sets closed, 51 partly, 1 open, 4 `MaintainerDecision`, 1 `None`; 12 getters of pipeline parameters open; one defect (hard-link names) and one behavior (piped `AppliesTo` for a path) for the maintainer | +| The reachable gaps, the judged matrix of the 64 parameter sets | Partly closed | 79 `It` blocks (140 rows) and, for the piped `AppliesTo`, 22 more (33 rows); 33 of 35 mutations caught; 7 sets closed, 51 partly, 1 open, 4 `MaintainerDecision`, 1 `None` (the statuses are those of Stage C; the tests of the fix were not judged again); 8 getters of pipeline parameters open; one defect (hard-link names) for the maintainer | | Other cultures | Closed for `de-DE` and `tr-TR`, after two defects | two defects found and fixed test-first: the comparison of an identity with a name (`419cfb3`) and `Get-ChildItem2 -Filter` (`0028ccd`, `fbe0289`, `8a625c8`), the second found by the independent review after the scan had missed its class of call; six `de-DE` failures are assertions on English text; localized names and texts are out of scope (decision 22) | | Windows Server Core, ARM64, a localized system, non-Windows file servers | Out of scope | the maintainer's decision of 2026-10-11: the audience of the tool does not need them (decision 22) | -| The final commit | Closed | `61e936e`, built once at `8a625c8` and measured on those bytes: 1,459 cases per configuration, no failure; 3,258/3,664 sequence points (88.92%), 1,090/1,168 explicit branch points; skip eligibility by row (666 skipped rows, none without an executed counterpart); the same 187 unvisited methods as at `b2cb47b`, all classified; the merged tables of the sources are those of `b2cb47b` (Final measurement) | -| The lab acceptance of the fixed build | Closed for the first lab | three runs on three builds (`b2cb47b`, `0028ccd`, and the final build `8a625c8`), both editions, 245 passed, 0 failed, 1 skipped each, clean end state; the matrix cells were not run again (a new candidate needs them) | +| The final commit | Closed | `2112ee3`, with the product code of `9783d2a`, built once (`NTFSSecurity.dll` `DFA943D1…`) and measured on those bytes (the help file of the commit in the package): 1,492 cases per configuration, no failure; 3,266/3,668 sequence points (89.04%), 1,086/1,164 explicit branch points; skip eligibility by row (696 skipped rows, none without an executed counterpart); 183 unvisited methods, all classified; the merged tables of the sources are those of `b2cb47b` (Final measurement; the section on the fix). At the earlier `61e936e` (built at `8a625c8`): 1,459 cases, 3,258/3,664 points, 187 methods | +| The lab acceptance of the fixed build | Closed, on the final package | the first lab: four runs on four builds (`b2cb47b`, `0028ccd`, `8a625c8`, and `9783d2a`), both editions, 245 passed, 0 failed, 1 skipped each, clean end state; the three cells of the matrix lab on `8a625c8` (`mxf`) and on the final package (`ap8`), 229 passed, 0 failed, 2 skipped per edition each time, clean end states; the unit suite on the final package in 16 configurations (`ap8`). A new candidate needs its own acceptance (open item 6) | ## Review -One independent review, as the handoff asks: the built-in `code-review` agent -(the custom `security-reviewer` cannot start), read-only, one pass of 44 minutes -over `6696f68..bea855e`, which covered the production fix, the new tests, the -numbers of this report, the Memory Bank, and the change of the matrix runner. -It found four Major and several Minor findings, and no Blocker. Each was -resolved or answered with evidence: +The handoff asks for one independent review. The maintainer asked for +`review: on` after it, so each finished delta was read again: three reviews and +two checks of the third reviewer, all by the built-in `code-review` agent (the +custom `security-reviewer` cannot start), read-only, and none by the agent that +wrote the code. + +| Review | Read | Result | +| --- | --- | --- | +| first | `6696f68..bea855e`, one pass: the production fix, the new tests, the numbers of this report, the Memory Bank, and the change of the matrix runner | 4 Major, several Minor, no Blocker | +| second | `bea855e..21188b1`: the second culture defect, the test changes, the final measurement, the acceptance, and the decision on the environments | no Blocker, no Major, 5 Minor, all in tests and documents | +| third | `21188b1..93ed2c7`, one pass: the fix of the piped `AppliesTo` | 1 Major, 2 Minor, no Blocker | +| first check | the commit `9783d2a`, by the reviewer of the third review, asked to verify the correction of its finding | 1 Major, 1 Minor | +| second check | the commit `7bc7925`, the corrected sections of this report, and the probes of the packages, by the same reviewer | no Blocker, no Major, 7 Minor | + +**The findings of the first review**, each resolved or answered with evidence: | # | Severity | Finding | Resolution | | --- | --- | --- | --- | @@ -1430,7 +2006,7 @@ resolved or answered with evidence: | 8 | Minor | Numbers and wording: 67.59% (it is 67.60%); the counts of the 52 sets (they are of the 57 not closed); "each of them asserts the error ID" (only the filter test does); the Runs table (it lacked the final runs); a sentence that no cmdlet reaches an unexplained point (65 methods have no explanation) | All corrected here; the Runs table lists every run | | 9 | Minor | `b2cb47b` is still called the final commit, and the Memory Bank has the same wording and one overstatement | Updated with the final measurement | -The reviewer checked and found clean: the production fix of the identity +The first reviewer checked and found clean: the production fix of the identity comparison (null and empty arguments, `GetHashCode`, the operators, the red and green logs, the restoration of the thread culture, the changelog group); PSScriptAnalyzer on the new files; the Pester 5 pitfalls (the use of @@ -1441,10 +2017,64 @@ SACL with `Get-Acl -Audit` (they hold audit entries); about 40 numbers of this report against the tables; the change of `Run-MatrixLocalSuite.ps1`; and the agreement of the Memory Bank with the report. -The review saw `bea855e`. Everything after it, the second culture defect, the -test changes, the new measurement, and the acceptance, was verified by runs -(Stage D, and the sections on the final measurement and the acceptance) and not -by a second review. +**The findings of the second review**, all Minor, each resolved: + +| # | Finding | Resolution | +| --- | --- | --- | +| 1 | The `tr-TR` test of `Get-ChildItem2 -Filter` never asserts that the thread culture is restored after the call or in a later pipeline stage; its own `finally` resets the culture | The test reads the culture in the next stage for each item and once after the call (`88ed362`); three mutations of the restore fail it (the section on the fix) | +| 2 | The Memory Bank lists `string.Equals` without a comparer as culture-sensitive; it is ordinal, and the defect was `ToLower()` | The list names `ToLower`, `ToUpper`, `Compare`, and `StartsWith`, `EndsWith`, and `IndexOf` without a `StringComparison` | +| 3 | The hard-link repro of this report maps `Z:` without a check that the letter is free, and removes the mapping at the end, which would delete a mapping of the user | The repro takes a free drive letter and cleans up in a `finally` | +| 4 | "Nothing was pushed" was stale: the remote branch had been updated by a push 15 minutes before the last commit | The text says that the maintainer pushed the branch (`2b97422`, 2026-10-11), in this report and in the Memory Bank | +| 5 | The mechanism that the report gave for the audit test of a piped descriptor ("because the default set does not compete") contradicts the stand-alone model of the binder | The text says what was measured, that the model is not faithful for a piped descriptor (it binds `PathComplex` where the real cmdlets bind `SDSimple`), and that the real cmdlets are the reference | + +The second reviewer checked and found clean: that exactly two production files +differ from rc7 (`GetChildItem2.cs` and `IdentityReference2.cs`) and that +nothing but tests, documents, and the changelog differs between `8a625c8` and +the head of that review; that the culture of the thread is restored on every +path and that nothing writes to the pipeline inside the scope; the cost of the +scope (0.1 to 0.3 µs per item, measured on .NET 10; Windows PowerShell 5.1 not +measured); that no other call in the four projects is culture-sensitive; +PSScriptAnalyzer on the three test files; the Pester 5 phases; every number of +the final measurement recomputed from the OpenCover XML; the Runs CSV (all 120 +rows), the Evidence CSV (all 1,168 rows), and the references of the +ParameterSets CSV against their sources; and a scan of the added lines and of +the evidence for secrets and unsafe commands. + +**The findings of the third review and of the first check:** + +| # | Severity | Finding | Resolution | +| --- | --- | --- | --- | +| 1 | Major | `ProcessRecord` of the four cmdlets wrote the scope of a piped object into the fields behind `-InheritanceFlags` and `-PropagationFlags`, so the next object without a scope took it (rc7 has the same for piped descriptor objects) | The flags of a record are locals (`9783d2a`); eight pipeline tests with objects of different shape, red on `93ed2c7`, green after | +| 2 | Minor | The `PathSimple` row of the Remove-NTFSAudit pipe test passes without the fix, because its entry is on a file | The comment says so, and the new Contexts on folders tell the sets apart (`9783d2a`) | +| 3 | Minor | The changelog entry did not name the error of a call without a path | Named (`9783d2a`) | +| 4 | Major (check) | "An empty `AppliesTo` fails to bind" holds for `$null` only: an empty string, or a value that is not the name of a scope, is ignored and the object gets the default scope | The changelog entry, the four cmdlet pages, the help file, and the tests say so (`7bc7925`); the second check refined the statement (finding 1 below) | +| 5 | Minor (check) | The tests read the CSV rows with `ConvertFrom-Csv`, which makes a trailing blank cell `$null`: the one route where the statement holds | The tests read a file with `Import-Csv` and pin the blank cell (the default scope) and the `$null` object (a binding error for that object) (`7bc7925`) | + +The third reviewer checked and found clean: the compatibility of removing the +default set (no reader of `DefaultParameterSet` in the tests, the workflows, the +documents, the wiki export, or the lab controller; identical results on both +builds for the rule objects of `Get-NTFSAccess` and `Get-NTFSAudit` piped back +in, also through `Export-Csv` and `Import-Csv`, for file objects with a named +account, for descriptors, for positional and named calls, and for a piped +hashtable); and, in the first check, the correction itself (no value of one +piped record reaches the next in the four cmdlets, and the lambdas capture the +right locals). + +**The findings of the second check** (no Blocker, no Major; the table with the +resolutions is in the section on the fix, under the third review) were seven +Minor findings: the statement about an unconvertible value was too general; the +changelog entry lacked one of its two consequences; a sentence of this report +about the blank-cell test had no run behind it and was false; the text +credited `7bc7925` with edits of later commits; Decision 24 named the wrong +review and one stop too few; the text described a first model that no file +shows; and three audit rows claimed more than they assert. Each was resolved in +`6143545`, `2112ee3`, and the commits of this report. + +The last commits, `6143545` and `2112ee3`, carry the test titles and the words +that the second check asked for. No agent read them again: the runs verified +them (the probes, the focused tests in four configurations, and the +measurement of `2112ee3`). The first two reviews saw the code before the fix +of the piped `AppliesTo`; the third and the checks saw the fix. ## Checks not run, and limits @@ -1468,12 +2098,21 @@ by a second review. - The culture scan covers the C# of the four projects and the filter that `Get-ChildItem2` passes to AlphaFS; the rest of AlphaFS, a third-party library, was not scanned. -- Not run: the live suite of the matrix cells (`Run-MatrixSequence.ps1`) on - the final build (the first lab ran it, and the unit suite ran on every - machine of the matrix; open item 6); a hard link through a volume mounted - into a folder or through a junction to another volume (the defect is - reproduced with a substituted drive only); the 12 getters; the matrix suite - on `OSWin11E` with the new files (`OSWin11` ran it). +- Not run: a hard link through a volume mounted into a folder or through a + junction to another volume (the defect is reproduced with a substituted + drive only); the 8 getters of pipeline parameters that no test supplies on a + piped object; the interactive prompt of a call without `-Path` (the error of + the non-interactive call is tested); the matrix suite on `OSWin11E` with the + new files (`OSWin11` ran it); tests of the values of a piped `AppliesTo` + other than a valid name, a blank cell, and `$null` (probed in both editions, + `empty-appliesto-*` and `unconvertible-appliesto-*`); an acceptance of the + first lab on the package with the help file of `7bc7925` (it ran on the + package of `9783d2a`; the suites and the cells ran on the package with the + help file of `7bc7925`; the packages differ in the help file only); and any + lab run on the help file of `2112ee3` (the host ran the help tests on it). +- The domain members and the Windows 11 client ran the test files of `7bc7925`. + The later changes of the tests (`6143545`: three titles of audit rows, and + the comparison of the DACL that they no longer claim) ran on the host only. - Out of scope, and not run, by decision 22: Windows Server Core, ARM64, a localized operating system, and a file server that is not a Windows server. - The Release build is not byte-reproducible: a hash identifies the measured @@ -1483,22 +2122,26 @@ by a second review. - The custom `security-reviewer` cannot start (its model is unavailable), and no model setting was overridden; the independent review (section Review) is the read-only built-in `code-review` agent. -- Nothing was pushed, merged, tagged, or published. The stable 5.0.0 stays - gated by the other gates, and a percentage never closes a gate. +- The agent pushed, merged, tagged, and published nothing; the maintainer + pushed the branch himself (`2b97422` on 2026-10-11), and later commits stay + local until he pushes them. The stable 5.0.0 stays gated by the other gates, + and a percentage never closes a gate. ## Evidence outside git The raw evidence is in the session folder `C:\Users\install\.copilot\session-state\816cf47d-2f80-4eba-8ac9-41702c49560b\files\qg-unknowns` (`E` above). [The Evidence CSV](Quality-Gate-Unknowns-2026-10-10-Evidence.csv) -lists its files with size and SHA-256; the folders are: +lists the files that this report relies on, with size and SHA-256: the copies +of `.dll` and `.pdb` files outside the packages, the frozen worktrees, and the +folders of runs that fed no number are not in it. The folders are: | Folder | Content | | --- | --- | | `fa0701b`, `eligibility-fa0701b`, `inventory-fa0701b`, `classification-fa0701b.csv`, `reconciliation-fa0701b.csv` | Stage A: the frozen worktree, the reports and logs of the four configurations, the pristine and saved assemblies with hashes, the skip rows, and the inventory | | `live-inst2`, `live-fl1b`, `live-fl2`, `localsuite-osfile25`, `live-matrix`, `probe-auditdenied` | Stage B: the instrumented module and its zero-hit report, the rejected first design, the first lab, the unit suite on the domain member, the matrix cells, and the audit probe, each with the report, the snapshots per process, the validation, and the logs | | `paramsets`, `impl` | Stage C: the scan, the judged tables and notes, the status tables, and the run logs of the implementers | -| `cultures`, `probes`, `tdd`, `tdd2` | Stage D and the two culture defects: the four culture runs, the probes (`hardlink-root` has the reproduction, `alphafs-*` the enumeration of AlphaFS, `review-*`, `eq-mechanism-*`, and `remove-audit-appliesto-*` the findings of the review), and the red and green runs of the identity comparison (`tdd`) and of the filter (`tdd2`) | +| `cultures`, `probes`, `tdd`, `tdd2` | Stage D and the two culture defects: the four culture runs, the probes (`hardlink-root` has the reproduction, `alphafs-*` the enumeration of AlphaFS, `review-*`, `eq-mechanism-*`, and `remove-audit-appliesto-*` the findings of the first review; `p-parameterset-binding*`, `p-proto-appliesto*`, `proto-appliesto-*`, and `csv-blank-*` the model of the binder, the real cmdlets with and without the default set, and the mixed pipelines of the third review; `empty-appliesto-*` the empty and the invalid values of the first check, and `unconvertible-appliesto-*` the values, the CSV row with fewer fields, and the object with `Path` and `SecurityDescriptor` of the second check), and the red and green runs of the identity comparison (`tdd`) and of the filter (`tdd2`) | | `final`, `eligibility-final`, `inventory-final`, `classification-final.csv` | the measurement of `b2cb47b` and its package | | `final2`, `eligibility-final2`, `inventory-final2`, `chain-final2.log`, `merge\final-vs-final2-*` | the measurement of `f1f3d8f` on the same bytes, and its comparison with the first by position | | `final3`, `live-fix3` | the build of `0028ccd` (the first, incomplete fix of the filter) and its acceptance in the first lab | @@ -1507,5 +2150,13 @@ lists its files with size and SHA-256; the folders are: | `live-fix4`, `localsuite-final5`, `localsuite-final5-client`, `verify-pre`, `verify-final` | the lab acceptance of the final build, the unit suite of the final build on the file servers (`fix5`) and on the Windows 11 client (`fix5c`), and the read-only checks of both labs before the work and after the last run | | `repro`, `repro-fixed`, `repro-host`, `repro-root`, `localsuite-final2`, `localsuite-final2-client` | the diagnosis of the failing oracle (`rep1`), the runs after the fix on the file servers (`rep2`) and the host (`hostfix`), the test roots of the diagnosis, and the full unit suite at `f1f3d8f` on the file servers (`fix2`) and the client (`fix2c`) | | `merge`, `scripts` | the merged points by position, and every script of the method | +| `live-matrix-final`, `verify-final2` | the cells of the matrix lab on the package of `8a625c8` (`mxf`) and the read-only check of both labs after them | +| `final6build`, `final6`, `eligibility-final6`, `inventory-final6`, `classification-final6.csv`, `chain-final6.log`, `merge\final5-vs-final6-*`, `tdd3` | the intermediate commit `93ed2c7`, the fix with the defect: its package, its measurement, the red and green runs of its tests, and the mutations of the culture test | +| `chain-reaccept-ap6.log`, `chain-reaccept-ap6b.log`, `stage-accept-ap6`, `stage-suite-ap6`, `localsuite-ap6` | the stopped chain of the lab run of `93ed2c7` (`ap6b` has the start line only) and the suite stage that ran on | +| `final7build`, `final7`, `eligibility-final7`, `inventory-final7`, `classification-final7.csv`, `chain-final7.log`, `merge\final5-vs-final7-*`, `tdd4` | the build `9783d2a`: its package, its measurement, and the red and green runs of its tests | +| `chain-reaccept-ap7.log`, `accept-ap7.log`, `stage-accept-ap7`, `live-ap7` | the first lab on the package of `9783d2a` (the chain driver was stopped after that stage began) | +| `final8build`, `final8`, `eligibility-final8`, `inventory-final8`, `classification-final8.csv`, `chain-final8.log`, `merge\final7-vs-final8-*`, `tdd5`, `tdd5red`, `tdd5red93` | the final package (`9783d2a` with the help file of `7bc7925`, `bytes-note.txt`), the measurement of `7bc7925` on it, and the runs of the tests of the CSV route on the build before the fix, on `93ed2c7`, and on `9783d2a` | +| `chain-reaccept-ap8.log`, `stage-suite-ap8`, `stage-suitec-ap8`, `stage-matrix-ap8`, `stage-verify-labs-ap8`, `stage-verify-client-ap8`, `localsuite-ap8`, `localsuite-ap8-client`, `live-matrix-ap8`, `verify-ap8` | the lab acceptance of the final package after the first lab: the unit suite on the file servers and the client, the cells, and the read-only checks of both labs and of the client | +| `final9build`, `final9`, `eligibility-final9`, `inventory-final9`, `classification-final9.csv`, `chain-final9.log`, `merge\final8-vs-final9-*`, `tdd6` | the measurement of `2112ee3` on the final package with its help file (`bytes-note.txt`), and the focused run of the two ParameterSets files after the change of three titles | Nothing in the evidence holds a password; the controller keeps them in memory.