@codemuster/win32-x64 0.2.0 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,74 @@
1
+ CodeMuster Personal and Internal Business Use License
2
+ Version 1.0 - September 14, 2026
3
+
4
+ Copyright (c) 2026 Tim Carter. All rights reserved.
5
+
6
+ 1. Scope
7
+
8
+ "Software" means CodeMuster's source code, binaries, launcher, skill files,
9
+ and associated documentation supplied under this license. "You" means the
10
+ individual or legal entity exercising the permissions below.
11
+
12
+ 2. Permitted use
13
+
14
+ Subject to these terms, you may download, install, run, and copy the Software
15
+ free of charge for your own personal use or your organization's internal
16
+ business use. You may inspect and modify the Software solely for those uses.
17
+ Employees and contractors may use it on your behalf subject to these terms.
18
+ Keep this license and the copyright notice with all copies and modifications.
19
+
20
+ You may use the Software to analyze and improve code that you or your
21
+ organization owns or is authorized to work on, including code for commercial
22
+ products and client projects. You may sell that code and those products and
23
+ use the resulting reports and fixes in your work. Merely using the Software
24
+ does not subject your code, products, reports, or fixes to this license.
25
+ These permissions do not authorize including the Software itself in a
26
+ product or providing its functionality to third parties.
27
+
28
+ 3. Restrictions
29
+
30
+ Without separate written permission from Tim Carter, you may not:
31
+
32
+ (a) Sell, resell, rent, lease, sublicense, or charge for the Software or any
33
+ modified version, in whole or in part.
34
+ (b) Modify, rebrand, bundle, or incorporate the Software into a product or
35
+ service for sale or other commercial distribution.
36
+ (c) Offer the Software or a modified version as a hosted service, API,
37
+ subscription, paid auditing service, or other offering that sells access
38
+ to or the functionality of the Software, including through bundled fees.
39
+ (d) Distribute the Software or modified versions outside your organization,
40
+ except to contractors solely for the permitted use on your behalf.
41
+ You may share links to the copyright holder's official distributions.
42
+ (e) Market or offer for sale any of the Software's code, skill files, or
43
+ documentation as your own product or implementation.
44
+
45
+ 4. Ownership and limits
46
+
47
+ The Software is licensed, not sold. All rights not expressly granted are
48
+ reserved. This license grants no right to use CodeMuster's name or branding
49
+ to imply ownership, endorsement, or affiliation.
50
+
51
+ This license restricts use of the Software and its modified versions. It
52
+ does not claim ownership of abstract ideas, concepts, or methods, or impose
53
+ restrictions on independently developed software that does not copy protected
54
+ material from the Software. Rights provided by applicable law that cannot
55
+ be restricted by a license remain unaffected.
56
+
57
+ Third-party components remain subject to their own licenses. This license
58
+ does not replace those licenses or revoke rights already granted for copies
59
+ previously distributed under another license.
60
+
61
+ 5. Termination
62
+
63
+ Your permissions under this license terminate automatically if you violate
64
+ its terms. Upon termination, stop using and distributing the Software and
65
+ delete your copies, except where retention is required by applicable law.
66
+
67
+ 6. Disclaimer
68
+
69
+ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE SOFTWARE IS PROVIDED
70
+ "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
71
+ LIMITED TO MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
72
+ NONINFRINGEMENT. THE AUTHORS AND COPYRIGHT HOLDERS SHALL NOT BE LIABLE FOR
73
+ ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM OR IN CONNECTION WITH
74
+ THE SOFTWARE OR ITS USE, WHETHER IN CONTRACT, TORT, OR OTHERWISE.
Binary file
@@ -4,6 +4,36 @@
4
4
  <name>CodeMuster.Application</name>
5
5
  </assembly>
6
6
  <members>
7
+ <member name="T:CodeMuster.Application.AgentSetup">
8
+ <summary>Installs selected project skills and merges CodeMuster's change hook into existing agent settings.</summary>
9
+ </member>
10
+ <member name="M:CodeMuster.Application.AgentSetup.#ctor(CodeMuster.Domain.IFileSystem)">
11
+ <summary>Installs selected project skills and merges CodeMuster's change hook into existing agent settings.</summary>
12
+ </member>
13
+ <member name="P:CodeMuster.Application.AgentSetup.Agents">
14
+ <summary>Agents supported by integrated setup.</summary>
15
+ </member>
16
+ <member name="M:CodeMuster.Application.AgentSetup.Select(System.String)">
17
+ <summary>Validates a comma-separated selection before setup writes any files.</summary>
18
+ </member>
19
+ <member name="M:CodeMuster.Application.AgentSetup.InstallAsync(System.String,System.Collections.Generic.IReadOnlyList{System.String},System.Boolean,System.String,System.Threading.CancellationToken)">
20
+ <summary>Installs skills and optional hooks, preserving unrelated settings and existing hooks.</summary>
21
+ </member>
22
+ <member name="T:CodeMuster.Application.AutomationMode">
23
+ <summary>The proactive work an agent may perform without a separate CodeMuster request.</summary>
24
+ </member>
25
+ <member name="F:CodeMuster.Application.AutomationMode.Off">
26
+ <summary>Use CodeMuster only when explicitly requested.</summary>
27
+ </member>
28
+ <member name="F:CodeMuster.Application.AutomationMode.Update">
29
+ <summary>Refresh repository coverage without reviewing or fixing code.</summary>
30
+ </member>
31
+ <member name="F:CodeMuster.Application.AutomationMode.Review">
32
+ <summary>Refresh coverage and review code related to the current task.</summary>
33
+ </member>
34
+ <member name="F:CodeMuster.Application.AutomationMode.ReviewAndFix">
35
+ <summary>Refresh coverage, review task-related code, and fix its confirmed findings.</summary>
36
+ </member>
7
37
  <member name="T:CodeMuster.Application.CompositeMap">
8
38
  <summary>What <see cref="T:CodeMuster.Application.CompositeMapper"/> produced: one map merged from every mapper that returned, and which languages were mapped and which failed.</summary>
9
39
  <param name="Map">Symbols, edges, entry points, and diagnostics of every mapper in run order, with resolution counts summed.</param>
@@ -74,6 +104,15 @@
74
104
  <member name="P:CodeMuster.Application.Config.TestCommand">
75
105
  <summary>The repository's own test command as a program and its arguments, such as <c>["dotnet", "test"]</c>. Fix mode runs it after every unit and throws away a fix that fails it (D37).</summary>
76
106
  </member>
107
+ <member name="P:CodeMuster.Application.Config.Automation">
108
+ <summary>The proactive work agents may perform; explicit CLI commands remain available in every mode.</summary>
109
+ </member>
110
+ <member name="P:CodeMuster.Application.Config.DeadCode">
111
+ <summary>Whether scan reports conservative unused-code candidates from supported call maps.</summary>
112
+ </member>
113
+ <member name="P:CodeMuster.Application.Config.UserExperience">
114
+ <summary>Optional browser-based reviews, scoped to UI files.</summary>
115
+ </member>
77
116
  <member name="M:CodeMuster.Application.Config.ExcludedHere(System.String)">
78
117
  <summary>True when this repository's own <see cref="P:CodeMuster.Application.Config.Exclude"/> globs cover the path, whatever the built-in rules say about it.</summary>
79
118
  </member>
@@ -96,7 +135,7 @@
96
135
  <summary>Reads and writes <see cref="T:CodeMuster.Application.Config"/> with the shared Domain JSON options.</summary>
97
136
  </member>
98
137
  <member name="M:CodeMuster.Application.ConfigJson.Parse(System.String)">
99
- <summary>Parses config JSON, throwing <see cref="T:System.Text.Json.JsonException"/> when a required field is missing.</summary>
138
+ <summary>Parses config JSON, throwing <see cref="T:System.Text.Json.JsonException"/> when a required field is missing or automation is invalid.</summary>
100
139
  </member>
101
140
  <member name="M:CodeMuster.Application.ConfigJson.Serialize(CodeMuster.Application.Config)">
102
141
  <summary>Writes config as indented JSON.</summary>
@@ -113,6 +152,171 @@
113
152
  <member name="M:CodeMuster.Application.ConfigLoader.LoadAsync(System.String,System.Threading.CancellationToken)">
114
153
  <summary>The repo's config; throws <see cref="T:CodeMuster.Application.NotInitializedException"/> until <c>init</c> has written one.</summary>
115
154
  </member>
155
+ <member name="T:CodeMuster.Application.DeadCodeState">
156
+ <summary>What the available map can establish about a symbol's usage.</summary>
157
+ </member>
158
+ <member name="F:CodeMuster.Application.DeadCodeState.ProtectedEntryPoint">
159
+ <summary>A supported external or framework entry protects this symbol.</summary>
160
+ </member>
161
+ <member name="F:CodeMuster.Application.DeadCodeState.Reachable">
162
+ <summary>A mapped call path reaches this symbol from a protected entry.</summary>
163
+ </member>
164
+ <member name="F:CodeMuster.Application.DeadCodeState.Candidate">
165
+ <summary>No mapped entry reaches an internal symbol; this remains a report-only candidate.</summary>
166
+ </member>
167
+ <member name="F:CodeMuster.Application.DeadCodeState.Unknown">
168
+ <summary>Missing or dynamic invocation evidence prevents a useful unused-code inference.</summary>
169
+ </member>
170
+ <member name="T:CodeMuster.Application.DeadCodeAssessment">
171
+ <summary>Conservative usage evidence for one mapped declaration, never authority to remove it.</summary>
172
+ </member>
173
+ <member name="M:CodeMuster.Application.DeadCodeAssessment.#ctor(System.String,System.String,CodeMuster.Domain.LineRange,CodeMuster.Application.DeadCodeState,System.String,System.Collections.Generic.IReadOnlyList{System.String})">
174
+ <summary>Conservative usage evidence for one mapped declaration, never authority to remove it.</summary>
175
+ </member>
176
+ <member name="T:CodeMuster.Application.DeadCodeReview">
177
+ <summary>Protects entry points and distinguishes unused candidates from incomplete usage evidence.</summary>
178
+ </member>
179
+ <member name="F:CodeMuster.Application.DeadCodeReview.Id">
180
+ <summary>The reserved finding category and lens for unused-code candidates.</summary>
181
+ </member>
182
+ <member name="F:CodeMuster.Application.DeadCodeReview.Instructions">
183
+ <summary>The required scope and evidence boundaries for unused-code review.</summary>
184
+ </member>
185
+ <member name="M:CodeMuster.Application.DeadCodeReview.IsFinding(CodeMuster.Domain.Finding)">
186
+ <summary>True when either identifying field places a finding under the unused-code safeguards.</summary>
187
+ </member>
188
+ <member name="M:CodeMuster.Application.DeadCodeReview.CanAutoFix(CodeMuster.Domain.Finding)">
189
+ <summary>False for every unused-code finding, including historical findings marked confirmed.</summary>
190
+ </member>
191
+ <member name="M:CodeMuster.Application.DeadCodeReview.Analyze(CodeMuster.Domain.CodeMap,System.Collections.Generic.IReadOnlyDictionary{System.String,System.String})">
192
+ <summary>Follows all mapped edges from known external entries; incomplete or dynamic maps cannot establish unused candidates.</summary>
193
+ </member>
194
+ <member name="M:CodeMuster.Application.DeadCodeReview.RenderEvidence(CodeMuster.Application.DeadCodeAssessment)">
195
+ <summary>Formats evidence for a finding or a review pack without implying runtime observation or safe deletion.</summary>
196
+ </member>
197
+ <member name="M:CodeMuster.Application.DeadCodeReview.LiteralRequest">
198
+ <remarks>
199
+ Pattern:<br/>
200
+ <code>(?:\\bfetch|\\b(?:[A-Za-z_$][\\w$]*\\.)+(?&lt;method&gt;get|post|put|patch|delete|head|options))\\s*\\(\\s*(?:"(?&lt;url&gt;[^"\\r\\n]*)"|'(?&lt;url&gt;[^'\\r\\n]*)')(?&lt;tail&gt;[^;\\r\\n]{0,500})</code><br/>
201
+ Options:<br/>
202
+ <code>RegexOptions.CultureInvariant | RegexOptions.NonBacktracking</code><br/>
203
+ Explanation:<br/>
204
+ <code>
205
+ ○ Match if at a word boundary.<br/>
206
+ ○ Match with 2 alternative expressions.<br/>
207
+ ○ Match the string "fetch".<br/>
208
+ ○ Match a sequence of expressions.<br/>
209
+ ○ Loop greedily at least once.<br/>
210
+ ○ Match a character in the set [$A-Z_a-z].<br/>
211
+ ○ Match a character in the set [$\w] greedily any number of times.<br/>
212
+ ○ Match '.'.<br/>
213
+ ○ "method" capture group.<br/>
214
+ ○ Match with 5 alternative expressions.<br/>
215
+ ○ Match the string "get".<br/>
216
+ ○ Match a sequence of expressions.<br/>
217
+ ○ Match 'p'.<br/>
218
+ ○ Match with 3 alternative expressions.<br/>
219
+ ○ Match the string "ost".<br/>
220
+ ○ Match the string "ut".<br/>
221
+ ○ Match the string "atch".<br/>
222
+ ○ Match the string "delete".<br/>
223
+ ○ Match the string "head".<br/>
224
+ ○ Match the string "options".<br/>
225
+ ○ Match a whitespace character greedily any number of times.<br/>
226
+ ○ Match '('.<br/>
227
+ ○ Match a whitespace character greedily any number of times.<br/>
228
+ ○ Match with 2 alternative expressions.<br/>
229
+ ○ Match a sequence of expressions.<br/>
230
+ ○ Match '"'.<br/>
231
+ ○ "url" capture group.<br/>
232
+ ○ Match a character in the set [^\n\r"] greedily any number of times.<br/>
233
+ ○ Match '"'.<br/>
234
+ ○ Match a sequence of expressions.<br/>
235
+ ○ Match '\''.<br/>
236
+ ○ "url" capture group.<br/>
237
+ ○ Match a character in the set [^\n\r'] greedily any number of times.<br/>
238
+ ○ Match '\''.<br/>
239
+ ○ "tail" capture group.<br/>
240
+ ○ Match a character in the set [^\n\r;] greedily at most 500 times.<br/>
241
+ </code>
242
+ </remarks>
243
+ </member>
244
+ <member name="M:CodeMuster.Application.DeadCodeReview.FetchMethod">
245
+ <remarks>
246
+ Pattern:<br/>
247
+ <code>\\bmethod\\s*:\\s*['"](?&lt;method&gt;GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)['"]</code><br/>
248
+ Options:<br/>
249
+ <code>RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.NonBacktracking</code><br/>
250
+ Explanation:<br/>
251
+ <code>
252
+ ○ Match if at a word boundary.<br/>
253
+ ○ Match a character in the set [Mm].<br/>
254
+ ○ Match a character in the set [Ee].<br/>
255
+ ○ Match a character in the set [Tt].<br/>
256
+ ○ Match a character in the set [Hh].<br/>
257
+ ○ Match a character in the set [Oo].<br/>
258
+ ○ Match a character in the set [Dd].<br/>
259
+ ○ Match a whitespace character greedily any number of times.<br/>
260
+ ○ Match ':'.<br/>
261
+ ○ Match a whitespace character greedily any number of times.<br/>
262
+ ○ Match a character in the set ["'].<br/>
263
+ ○ "method" capture group.<br/>
264
+ ○ Match with 5 alternative expressions.<br/>
265
+ ○ Match a sequence of expressions.<br/>
266
+ ○ Match a character in the set [Gg].<br/>
267
+ ○ Match a character in the set [Ee].<br/>
268
+ ○ Match a character in the set [Tt].<br/>
269
+ ○ Match a sequence of expressions.<br/>
270
+ ○ Match a character in the set [Pp].<br/>
271
+ ○ Match with 3 alternative expressions.<br/>
272
+ ○ Match a sequence of expressions.<br/>
273
+ ○ Match a character in the set [Oo].<br/>
274
+ ○ Match a character in the set [Ss].<br/>
275
+ ○ Match a character in the set [Tt].<br/>
276
+ ○ Match a sequence of expressions.<br/>
277
+ ○ Match a character in the set [Uu].<br/>
278
+ ○ Match a character in the set [Tt].<br/>
279
+ ○ Match a sequence of expressions.<br/>
280
+ ○ Match a character in the set [Aa].<br/>
281
+ ○ Match a character in the set [Tt].<br/>
282
+ ○ Match a character in the set [Cc].<br/>
283
+ ○ Match a character in the set [Hh].<br/>
284
+ ○ Match a sequence of expressions.<br/>
285
+ ○ Match a character in the set [Dd].<br/>
286
+ ○ Match a character in the set [Ee].<br/>
287
+ ○ Match a character in the set [Ll].<br/>
288
+ ○ Match a character in the set [Ee].<br/>
289
+ ○ Match a character in the set [Tt].<br/>
290
+ ○ Match a character in the set [Ee].<br/>
291
+ ○ Match a sequence of expressions.<br/>
292
+ ○ Match a character in the set [Hh].<br/>
293
+ ○ Match a character in the set [Ee].<br/>
294
+ ○ Match a character in the set [Aa].<br/>
295
+ ○ Match a character in the set [Dd].<br/>
296
+ ○ Match a sequence of expressions.<br/>
297
+ ○ Match a character in the set [Oo].<br/>
298
+ ○ Match a character in the set [Pp].<br/>
299
+ ○ Match a character in the set [Tt].<br/>
300
+ ○ Match a character in the set [Ii].<br/>
301
+ ○ Match a character in the set [Oo].<br/>
302
+ ○ Match a character in the set [Nn].<br/>
303
+ ○ Match a character in the set [Ss].<br/>
304
+ ○ Match a character in the set ["'].<br/>
305
+ </code>
306
+ </remarks>
307
+ </member>
308
+ <member name="T:CodeMuster.Application.DeadCodeScan">
309
+ <summary>Plans and records conservative static usage assessments during scan.</summary>
310
+ </member>
311
+ <member name="P:CodeMuster.Application.DeadCodeScan.Plans">
312
+ <summary>Source units to upsert before recording their static assessments.</summary>
313
+ </member>
314
+ <member name="M:CodeMuster.Application.DeadCodeScan.Build(CodeMuster.Application.CompositeMap,System.Collections.Generic.IReadOnlyList{CodeMuster.Domain.FileRecord},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String})">
315
+ <summary>Builds assessments using the complete included source context and mapper diagnostics.</summary>
316
+ </member>
317
+ <member name="M:CodeMuster.Application.DeadCodeScan.RecordAsync(CodeMuster.Domain.ILedger,CodeMuster.Application.Config,System.String,System.Threading.CancellationToken)">
318
+ <summary>Records changed assessments while retaining unchanged finding identities.</summary>
319
+ </member>
116
320
  <member name="T:CodeMuster.Application.DependencyResult">
117
321
  <summary>What the dependency audit found during a scan (D38).</summary>
118
322
  <param name="Manifests">Manifests whose audit ran.</param>
@@ -214,7 +418,7 @@
214
418
  <member name="T:CodeMuster.Application.Done">
215
419
  <summary>Records the model's response for one unit: validates it against the unit, then stores an analysis with its findings, or for a verify unit the verdict on its finding.</summary>
216
420
  </member>
217
- <member name="M:CodeMuster.Application.Done.#ctor(CodeMuster.Domain.ILedger,CodeMuster.Domain.IClock,CodeMuster.Application.Config,CodeMuster.Domain.AgentIdentity)">
421
+ <member name="M:CodeMuster.Application.Done.#ctor(CodeMuster.Domain.ILedger,CodeMuster.Domain.IClock,CodeMuster.Application.Config,CodeMuster.Domain.AgentIdentity,CodeMuster.Domain.IFileSystem,System.String,CodeMuster.Domain.ISourceTree,CodeMuster.Domain.IContentHasher)">
218
422
  <summary>Records the model's response for one unit: validates it against the unit, then stores an analysis with its findings, or for a verify unit the verdict on its finding.</summary>
219
423
  </member>
220
424
  <member name="M:CodeMuster.Application.Done.RunAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
@@ -304,30 +508,48 @@
304
508
  <summary>The plain-text block the CLI prints, lines joined with LF and no trailing newline.</summary>
305
509
  </member>
306
510
  <member name="T:CodeMuster.Application.Fix">
307
- <summary>Fixes what the audit confirmed (D37): one unit per file with confirmed findings, one fresh agent call each, serially, committing after every file it changes. The only use case that writes to the repository.</summary>
511
+ <summary>Fixes what the audit confirmed: one unit per file with confirmed findings, one fresh agent call each, and one commit per changed file. Parallel workers edit in isolation (D40).</summary>
308
512
  </member>
309
- <member name="M:CodeMuster.Application.Fix.#ctor(CodeMuster.Domain.ILedger,CodeMuster.Domain.ISourceTree,CodeMuster.Domain.IClock,CodeMuster.Application.Config,CodeMuster.Domain.IWorkspace,CodeMuster.Domain.ITestRunner)">
310
- <summary>Fixes what the audit confirmed (D37): one unit per file with confirmed findings, one fresh agent call each, serially, committing after every file it changes. The only use case that writes to the repository.</summary>
513
+ <member name="M:CodeMuster.Application.Fix.#ctor(CodeMuster.Domain.ILedger,CodeMuster.Domain.ISourceTree,CodeMuster.Domain.IClock,CodeMuster.Application.Config,CodeMuster.Domain.IWorkspace,CodeMuster.Domain.ITestRunner,CodeMuster.Domain.IFileFixer,CodeMuster.Domain.IContentHasher)">
514
+ <summary>Fixes what the audit confirmed: one unit per file with confirmed findings, one fresh agent call each, and one commit per changed file. Parallel workers edit in isolation (D40).</summary>
311
515
  </member>
312
516
  <member name="M:CodeMuster.Application.Fix.RunAsync(CodeMuster.Domain.IAgentAdapter,CodeMuster.Application.FixOptions,System.IProgress{System.String},System.Threading.CancellationToken)">
313
- <summary>Plans the units, then works them one at a time: pack, agent, record, commit. Refuses to start unless the working tree is clean, and throws away a failed attempt's edits before retrying.</summary>
517
+ <summary>Plans and fixes confirmed findings. With consent, saves tracked local changes and restores them afterward, including on failure or cancellation.</summary>
314
518
  </member>
315
519
  <member name="M:CodeMuster.Application.Fix.PlanAsync(System.Threading.CancellationToken)">
316
520
  <summary>Creates or refreshes a fix unit for every file with a confirmed finding, and retires fix units whose findings are gone. A unit already fixed against the file's current content keeps its Done status.</summary>
317
521
  </member>
318
522
  <member name="T:CodeMuster.Application.FixOptions">
319
- <summary>How a fix run should behave (D37). Fix mode is serial: two agents editing one repository would clobber each other.</summary>
523
+ <summary>How a fix run should behave (D37, D39, D40). Parallel agents edit isolated worktrees.</summary>
320
524
  <param name="MaxAttempts">Attempts per unit before the run gives up on it; at least 1.</param>
321
525
  <param name="Path">Fix only files under this repo-relative folder, or anywhere when null.</param>
526
+ <param name="Stash">Save tracked local changes before fixing and restore them afterward.</param>
527
+ <param name="Parallelism">Maximum simultaneous file workers; at least one.</param>
528
+ <param name="RetryDeclined">Reopens completed files containing declined confirmed findings.</param>
322
529
  </member>
323
- <member name="M:CodeMuster.Application.FixOptions.#ctor(System.Int32,System.String)">
324
- <summary>How a fix run should behave (D37). Fix mode is serial: two agents editing one repository would clobber each other.</summary>
530
+ <member name="M:CodeMuster.Application.FixOptions.#ctor(System.Int32,System.String,System.Boolean,System.Int32,System.Boolean)">
531
+ <summary>How a fix run should behave (D37, D39, D40). Parallel agents edit isolated worktrees.</summary>
325
532
  <param name="MaxAttempts">Attempts per unit before the run gives up on it; at least 1.</param>
326
533
  <param name="Path">Fix only files under this repo-relative folder, or anywhere when null.</param>
534
+ <param name="Stash">Save tracked local changes before fixing and restore them afterward.</param>
535
+ <param name="Parallelism">Maximum simultaneous file workers; at least one.</param>
536
+ <param name="RetryDeclined">Reopens completed files containing declined confirmed findings.</param>
327
537
  </member>
328
538
  <member name="P:CodeMuster.Application.FixOptions.Path">
329
539
  <summary>Fix only files under this repo-relative folder, or anywhere when null.</summary>
330
540
  </member>
541
+ <member name="P:CodeMuster.Application.FixOptions.Stash">
542
+ <summary>Save tracked local changes before fixing and restore them afterward.</summary>
543
+ </member>
544
+ <member name="P:CodeMuster.Application.FixOptions.RetryDeclined">
545
+ <summary>Reopens completed files containing declined confirmed findings.</summary>
546
+ </member>
547
+ <member name="P:CodeMuster.Application.FixOptions.RelatedFiles">
548
+ <summary>Additional existing tracked files explicitly allowed in a serial recovery worker.</summary>
549
+ </member>
550
+ <member name="P:CodeMuster.Application.FixOptions.Parallelism">
551
+ <summary>Maximum simultaneous file workers.</summary>
552
+ </member>
331
553
  <member name="P:CodeMuster.Application.FixOptions.MaxAttempts">
332
554
  <summary>Attempts per unit before the run gives up on it.</summary>
333
555
  </member>
@@ -470,6 +692,9 @@
470
692
  <member name="M:CodeMuster.Application.Next.RunAsync(System.Int32,System.Threading.CancellationToken)">
471
693
  <summary>Builds a pack for up to <paramref name="batch"/> units; empty when nothing needs work.</summary>
472
694
  </member>
695
+ <member name="M:CodeMuster.Application.Next.ForUnitAsync(System.String,System.Threading.CancellationToken)">
696
+ <summary>Builds one selected unit only when a worker slot is available.</summary>
697
+ </member>
473
698
  <member name="T:CodeMuster.Application.NotInitializedException">
474
699
  <summary>Thrown when a verb runs in a repo that has no <c>.codemuster/config.json</c> yet (D24).</summary>
475
700
  </member>
@@ -516,6 +741,15 @@
516
741
  <member name="M:CodeMuster.Application.PlannedUnit.Verify(CodeMuster.Domain.UnitFinding,System.Collections.Generic.IReadOnlyList{CodeMuster.Domain.UnitMember},CodeMuster.Domain.Fidelity)">
517
742
  <summary>The verify unit for <paramref name="finding"/>: the members of the unit that reported it, so it goes stale with that code, keyed by the lines the finding cites.</summary>
518
743
  </member>
744
+ <member name="T:CodeMuster.Application.RefreshVerification">
745
+ <summary>Rebuilds verification packs against current content without discarding the original findings.</summary>
746
+ </member>
747
+ <member name="M:CodeMuster.Application.RefreshVerification.#ctor(CodeMuster.Domain.ILedger,CodeMuster.Domain.ISourceTree,CodeMuster.Application.Config,CodeMuster.Domain.IContentHasher)">
748
+ <summary>Rebuilds verification packs against current content without discarding the original findings.</summary>
749
+ </member>
750
+ <member name="M:CodeMuster.Application.RefreshVerification.RunAsync(System.Threading.CancellationToken)">
751
+ <summary>Reopens checks whose code changed, including checks retired by scan. Completed unchanged checks remain done unless the caller forces them.</summary>
752
+ </member>
519
753
  <member name="T:CodeMuster.Application.Report">
520
754
  <summary>Renders the ledger as markdown: the coverage header, current findings grouped by severity with their verdicts, and the inventory of every unit except verify units, whose verdicts show under their findings (D11, D12). Refuted findings are left out unless <paramref name="includeRefuted"/> is set (D27).</summary>
521
755
  </member>
@@ -525,6 +759,21 @@
525
759
  <member name="M:CodeMuster.Application.Report.RunAsync(System.Threading.CancellationToken)">
526
760
  <summary>Builds the report; lines are joined with LF and the text ends with one newline.</summary>
527
761
  </member>
762
+ <member name="T:CodeMuster.Application.ReviewEligibility">
763
+ <summary>Enforces report-only categories and the freshness required for browser-based repairs.</summary>
764
+ </member>
765
+ <member name="M:CodeMuster.Application.ReviewEligibility.CanAutoFix(CodeMuster.Domain.Finding)">
766
+ <summary>False for unused-code candidates and subjective UX recommendations regardless of verification.</summary>
767
+ </member>
768
+ <member name="M:CodeMuster.Application.ReviewEligibility.CanAutoFix(CodeMuster.Domain.UnitFinding,CodeMuster.Domain.Unit)">
769
+ <summary>Also checks the original unit so mislabeled or stale browser observations cannot authorize repairs.</summary>
770
+ </member>
771
+ <member name="M:CodeMuster.Application.ReviewEligibility.CanAutoFix(CodeMuster.Domain.UnitFinding,CodeMuster.Domain.Unit,CodeMuster.Application.Config)">
772
+ <summary>Also requires browser scope and lens settings to match the source review that authorized a repair.</summary>
773
+ </member>
774
+ <member name="M:CodeMuster.Application.ReviewEligibility.RequiresBrowser(CodeMuster.Domain.Finding,CodeMuster.Domain.Unit)">
775
+ <summary>True for browser-derived findings even when one classification field was mislabeled.</summary>
776
+ </member>
528
777
  <member name="T:CodeMuster.Application.Run">
529
778
  <summary>Drives one headless agent over every unit that needs work (D10): hands out packs through <see cref="T:CodeMuster.Application.Next"/>, records each response through <see cref="T:CodeMuster.Application.Done"/>, retries failed attempts, and stops cleanly on cancellation. Adapter calls run concurrently; ledger calls are serialized because the ledger holds one connection. <paramref name="notes"/> hears about each attempt as it starts, since the first result of a long run can be minutes away.</summary>
530
779
  </member>
@@ -539,7 +788,7 @@
539
788
  <param name="Parallelism">Adapter calls to keep in flight at once; at least 1.</param>
540
789
  <param name="MaxAttempts">Attempts per unit before the run gives up on it; at least 1.</param>
541
790
  <param name="Force">Re-analyze Done units too, by marking them Stale first.</param>
542
- <param name="Kind">Work only units of this kind, or every kind when null.</param>
791
+ <param name="Kind">Work only units of this kind, or analysis and verification units when null.</param>
543
792
  <param name="Path">Work only units with a member under this repo-relative folder, or anywhere when null.</param>
544
793
  </member>
545
794
  <member name="M:CodeMuster.Application.RunOptions.#ctor(System.Int32,System.Int32,System.Boolean,System.Nullable{CodeMuster.Domain.UnitKind},System.String)">
@@ -547,14 +796,14 @@
547
796
  <param name="Parallelism">Adapter calls to keep in flight at once; at least 1.</param>
548
797
  <param name="MaxAttempts">Attempts per unit before the run gives up on it; at least 1.</param>
549
798
  <param name="Force">Re-analyze Done units too, by marking them Stale first.</param>
550
- <param name="Kind">Work only units of this kind, or every kind when null.</param>
799
+ <param name="Kind">Work only units of this kind, or analysis and verification units when null.</param>
551
800
  <param name="Path">Work only units with a member under this repo-relative folder, or anywhere when null.</param>
552
801
  </member>
553
802
  <member name="P:CodeMuster.Application.RunOptions.Force">
554
803
  <summary>Re-analyze Done units too, by marking them Stale first.</summary>
555
804
  </member>
556
805
  <member name="P:CodeMuster.Application.RunOptions.Kind">
557
- <summary>Work only units of this kind, or every kind when null.</summary>
806
+ <summary>Work only units of this kind, or analysis and verification units when null.</summary>
558
807
  </member>
559
808
  <member name="P:CodeMuster.Application.RunOptions.Path">
560
809
  <summary>Work only units with a member under this repo-relative folder, or anywhere when null.</summary>
@@ -855,9 +1104,24 @@
855
1104
  <member name="P:CodeMuster.Application.StatusReport.VulnerablePackages">
856
1105
  <summary>Outstanding vulnerable packages by severity, from the last dependency audit (D38).</summary>
857
1106
  </member>
1107
+ <member name="P:CodeMuster.Application.StatusReport.UxStatus">
1108
+ <summary>Browser review applicability and recorded evidence, separate from code coverage.</summary>
1109
+ </member>
1110
+ <member name="P:CodeMuster.Application.StatusReport.UxIncomplete">
1111
+ <summary>Whether required browser work lacks a current recorded receipt.</summary>
1112
+ </member>
858
1113
  <member name="M:CodeMuster.Application.StatusReport.Render">
859
1114
  <summary>The plain-text block the CLI prints, lines joined with LF and no trailing newline.</summary>
860
1115
  </member>
1116
+ <member name="T:CodeMuster.Application.UiScope">
1117
+ <summary>Identifies supported UI source conventions without treating backend folders named UI as browser code.</summary>
1118
+ </member>
1119
+ <member name="M:CodeMuster.Application.UiScope.Applies(System.String,System.Collections.Generic.IReadOnlyList{System.String},System.Collections.Generic.IReadOnlyList{System.String})">
1120
+ <summary>True for a supported UI path or an explicit include; explicit excludes take precedence.</summary>
1121
+ </member>
1122
+ <member name="M:CodeMuster.Application.UiScope.Paths(System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IReadOnlyList{System.String},System.Collections.Generic.IReadOnlyList{System.String})">
1123
+ <summary>Returns unique normalized UI paths in ordinal order.</summary>
1124
+ </member>
861
1125
  <member name="T:CodeMuster.Application.UnitPack">
862
1126
  <summary>One unit's work ready for the model: the id and fingerprint <c>done</c> must echo back, how to name the unit for a person, and the pack itself.</summary>
863
1127
  <param name="UnitId">The unit the pack is for.</param>
@@ -889,5 +1153,94 @@
889
1153
  <member name="P:CodeMuster.Application.UnitPack.Markdown">
890
1154
  <summary>The whole pack as one markdown document.</summary>
891
1155
  </member>
1156
+ <member name="P:CodeMuster.Application.UnitPack.RequiresBrowser">
1157
+ <summary>Whether the active agent must collect browser evidence; read-only headless adapters cannot complete it.</summary>
1158
+ </member>
1159
+ <member name="T:CodeMuster.Application.UserExperienceSettings">
1160
+ <summary>Opt-in browser review settings. Include extends recognized UI conventions; exclude wins.</summary>
1161
+ </member>
1162
+ <member name="P:CodeMuster.Application.UserExperienceSettings.Enabled">
1163
+ <summary>Whether scan plans separate browser review units for UI files.</summary>
1164
+ </member>
1165
+ <member name="P:CodeMuster.Application.UserExperienceSettings.Include">
1166
+ <summary>Additional repo-relative UI path globs for project-specific conventions.</summary>
1167
+ </member>
1168
+ <member name="P:CodeMuster.Application.UserExperienceSettings.Exclude">
1169
+ <summary>UI path globs outside browser review.</summary>
1170
+ </member>
1171
+ <member name="P:CodeMuster.Application.UserExperienceSettings.BaseUrl">
1172
+ <summary>The running application address, when configured; authentication stays with the active agent.</summary>
1173
+ </member>
1174
+ <member name="M:CodeMuster.Application.UserExperienceSettings.Applies(System.String)">
1175
+ <summary>True for a UI source path in the enabled review scope.</summary>
1176
+ </member>
1177
+ <member name="T:CodeMuster.Application.UxArtifacts">
1178
+ <summary>Checks the browser artifacts cited by a validated receipt without trusting references alone.</summary>
1179
+ </member>
1180
+ <member name="M:CodeMuster.Application.UxArtifacts.ValidateAsync(System.String,System.String,CodeMuster.Domain.IFileSystem,System.Threading.CancellationToken)">
1181
+ <summary>Requires existing PNG, JPEG or WebP content and matching hashes under the repository root.</summary>
1182
+ </member>
1183
+ <member name="T:CodeMuster.Application.UxEvidence">
1184
+ <summary>Validates recorded browser observations before a UI unit can count as reviewed.</summary>
1185
+ </member>
1186
+ <member name="F:CodeMuster.Application.UxEvidence.Sample">
1187
+ <summary>Additional response property required for a completed UI review; replace every example with observed evidence.</summary>
1188
+ </member>
1189
+ <member name="M:CodeMuster.Application.UxEvidence.ValidateAndSerialize(System.String,System.String,System.Collections.Generic.IReadOnlyList{System.String})">
1190
+ <summary>Returns canonical evidence JSON, or rejects absent, stale, blocked or incomplete browser evidence.</summary>
1191
+ </member>
1192
+ <member name="M:CodeMuster.Application.UxEvidence.MeasuredFindings(System.String,System.String)">
1193
+ <summary>Produces defects for every recorded contrast failure so an empty model findings list cannot hide them.</summary>
1194
+ </member>
1195
+ <member name="M:CodeMuster.Application.UxEvidence.WorkflowFindings(System.String,System.String)">
1196
+ <summary>Produces observed workflow defects or explicitly classified recommendations from recorded placement checks.</summary>
1197
+ </member>
1198
+ <member name="M:CodeMuster.Application.UxEvidence.ExperienceFindings(System.String,System.String)">
1199
+ <summary>Produces findings for recorded flow, validation, rendering, interaction and text issues independently of submitted findings.</summary>
1200
+ </member>
1201
+ <member name="T:CodeMuster.Application.UxReview">
1202
+ <summary>Plans browser work separately from source coverage and provides its review contract.</summary>
1203
+ </member>
1204
+ <member name="F:CodeMuster.Application.UxReview.Id">
1205
+ <summary>The reserved lens for UI browser reviews.</summary>
1206
+ </member>
1207
+ <member name="F:CodeMuster.Application.UxReview.Instructions">
1208
+ <summary>The browser review obligations that source inspection alone cannot satisfy.</summary>
1209
+ </member>
1210
+ <member name="M:CodeMuster.Application.UxReview.Plan(System.Collections.Generic.IReadOnlyList{CodeMuster.Domain.FileRecord},CodeMuster.Application.UserExperienceSettings)">
1211
+ <summary>One file per UI review. Repository source hashes contribute so shared styles, sibling workflows and backend behavior invalidate prior evidence.</summary>
1212
+ </member>
1213
+ <member name="M:CodeMuster.Application.UxReview.Lens(CodeMuster.Application.UserExperienceSettings)">
1214
+ <summary>Settings are part of the lens hash so changing the URL or UI boundaries reopens browser review.</summary>
1215
+ </member>
1216
+ <member name="T:CodeMuster.Application.UxSourceSnapshot">
1217
+ <summary>Rejects browser receipts and repairs after tracked source or review settings change without a scan.</summary>
1218
+ </member>
1219
+ <member name="M:CodeMuster.Application.UxSourceSnapshot.CheckAsync(CodeMuster.Domain.ILedger,CodeMuster.Domain.ISourceTree,CodeMuster.Domain.IContentHasher,CodeMuster.Application.Config,System.String,System.Threading.CancellationToken)">
1220
+ <summary>Checks current tracked source against the UX unit's repository-wide context fingerprint.</summary>
1221
+ </member>
1222
+ <member name="T:CodeMuster.Application.Validate">
1223
+ <summary>Runs the configured repository validation independently of the fix queue.</summary>
1224
+ </member>
1225
+ <member name="M:CodeMuster.Application.Validate.#ctor(CodeMuster.Domain.ITestRunner)">
1226
+ <summary>Runs the configured repository validation independently of the fix queue.</summary>
1227
+ </member>
1228
+ <member name="M:CodeMuster.Application.Validate.RunAsync(System.Threading.CancellationToken)">
1229
+ <summary>Returns failure when no command is configured; an empty queue is not validation evidence.</summary>
1230
+ </member>
1231
+ <member name="T:System.Text.RegularExpressions.Generated.LiteralRequest_0">
1232
+ <summary>Caches a <see cref="T:System.Text.RegularExpressions.Regex"/> instance for the LiteralRequest method.</summary>
1233
+ <remarks>A custom Regex-derived type could not be generated because RegexOptions.NonBacktracking isn't supported.</remarks>
1234
+ </member>
1235
+ <member name="F:System.Text.RegularExpressions.Generated.LiteralRequest_0.Instance">
1236
+ <summary>Cached, thread-safe singleton instance.</summary>
1237
+ </member>
1238
+ <member name="T:System.Text.RegularExpressions.Generated.FetchMethod_1">
1239
+ <summary>Caches a <see cref="T:System.Text.RegularExpressions.Regex"/> instance for the FetchMethod method.</summary>
1240
+ <remarks>A custom Regex-derived type could not be generated because RegexOptions.NonBacktracking isn't supported.</remarks>
1241
+ </member>
1242
+ <member name="F:System.Text.RegularExpressions.Generated.FetchMethod_1.Instance">
1243
+ <summary>Cached, thread-safe singleton instance.</summary>
1244
+ </member>
892
1245
  </members>
893
1246
  </doc>
Binary file
@@ -71,6 +71,9 @@
71
71
  <member name="P:CodeMuster.Domain.Analysis.By">
72
72
  <summary>What produced it (D35), or null when nothing recorded it, as when an agent drives the loop by hand.</summary>
73
73
  </member>
74
+ <member name="P:CodeMuster.Domain.Analysis.EvidenceJson">
75
+ <summary>Structured evidence retained with this attempt, or null when none was supplied.</summary>
76
+ </member>
74
77
  <member name="T:CodeMuster.Domain.AnalysisResponse">
75
78
  <summary>The whole JSON document the model returns for one unit: a one-line summary plus its findings.</summary>
76
79
  </member>
@@ -485,12 +488,14 @@
485
488
  <param name="Id">The finding's ledger id.</param>
486
489
  <param name="Finding">The finding itself (D11).</param>
487
490
  <param name="ConfirmedBecause">The verifier's reason, when it recorded one.</param>
491
+ <param name="PreviousFix">The previous fix outcome, including a decline reason on retries.</param>
488
492
  </member>
489
- <member name="M:CodeMuster.Domain.FixTarget.#ctor(System.Int64,CodeMuster.Domain.Finding,System.String)">
493
+ <member name="M:CodeMuster.Domain.FixTarget.#ctor(System.Int64,CodeMuster.Domain.Finding,System.String,CodeMuster.Domain.FixOutcome)">
490
494
  <summary>A confirmed finding as a fix pack presents it: the id to answer with, the finding, and why verification kept it.</summary>
491
495
  <param name="Id">The finding's ledger id.</param>
492
496
  <param name="Finding">The finding itself (D11).</param>
493
497
  <param name="ConfirmedBecause">The verifier's reason, when it recorded one.</param>
498
+ <param name="PreviousFix">The previous fix outcome, including a decline reason on retries.</param>
494
499
  </member>
495
500
  <member name="P:CodeMuster.Domain.FixTarget.Id">
496
501
  <summary>The finding's ledger id.</summary>
@@ -501,6 +506,9 @@
501
506
  <member name="P:CodeMuster.Domain.FixTarget.ConfirmedBecause">
502
507
  <summary>The verifier's reason, when it recorded one.</summary>
503
508
  </member>
509
+ <member name="P:CodeMuster.Domain.FixTarget.PreviousFix">
510
+ <summary>The previous fix outcome, including a decline reason on retries.</summary>
511
+ </member>
504
512
  <member name="T:CodeMuster.Domain.FixJson">
505
513
  <summary>Serializes what a fix pack shows.</summary>
506
514
  </member>
@@ -528,6 +536,21 @@
528
536
  <member name="M:CodeMuster.Domain.IAgentAdapter.RunAsync(System.String,System.Threading.CancellationToken)">
529
537
  <summary>Sends the pack and returns the raw text the agent printed.</summary>
530
538
  </member>
539
+ <member name="T:CodeMuster.Domain.IChangeTracker">
540
+ <summary>Lightweight edit notifications stored separately from the ledger and working tree.</summary>
541
+ </member>
542
+ <member name="M:CodeMuster.Domain.IChangeTracker.SnapshotAsync(System.Threading.CancellationToken)">
543
+ <summary>The latest notification token, or an empty string before any notification.</summary>
544
+ </member>
545
+ <member name="M:CodeMuster.Domain.IChangeTracker.NotifyAsync(System.Threading.CancellationToken)">
546
+ <summary>Records that an agent tool may have changed repository content.</summary>
547
+ </member>
548
+ <member name="M:CodeMuster.Domain.IChangeTracker.AcknowledgeAsync(System.String,System.Threading.CancellationToken)">
549
+ <summary>Acknowledges only the snapshot taken before a completed scan.</summary>
550
+ </member>
551
+ <member name="M:CodeMuster.Domain.IChangeTracker.HasChangesAsync(System.Threading.CancellationToken)">
552
+ <summary>Whether notifications have arrived since the acknowledged snapshot.</summary>
553
+ </member>
531
554
  <member name="T:CodeMuster.Domain.IClock">
532
555
  <summary>The current time, so use cases stay deterministic under test.</summary>
533
556
  </member>
@@ -549,6 +572,18 @@
549
572
  <member name="M:CodeMuster.Domain.IContentHasher.HashFileAsync(System.String,System.Threading.CancellationToken)">
550
573
  <summary>Git blob SHA of the current bytes of a repo-relative path.</summary>
551
574
  </member>
575
+ <member name="T:CodeMuster.Domain.FileFixEdit">
576
+ <summary>An isolated agent's response and the Git patch for its assigned file only.</summary>
577
+ </member>
578
+ <member name="M:CodeMuster.Domain.FileFixEdit.#ctor(System.String,System.String)">
579
+ <summary>An isolated agent's response and the Git patch for its assigned file only.</summary>
580
+ </member>
581
+ <member name="T:CodeMuster.Domain.IFileFixer">
582
+ <summary>Runs one file's fix in isolation, without changing the coordinator's checkout or ledger.</summary>
583
+ </member>
584
+ <member name="M:CodeMuster.Domain.IFileFixer.RunAsync(System.String,System.String,System.Threading.CancellationToken)">
585
+ <summary>Returns only the assigned file's changes; rejects edits to any other file.</summary>
586
+ </member>
552
587
  <member name="T:CodeMuster.Domain.IFileSystem">
553
588
  <summary>The few file operations use cases need outside the tracked tree, such as reading and writing config.</summary>
554
589
  </member>
@@ -558,6 +593,9 @@
558
593
  <member name="M:CodeMuster.Domain.IFileSystem.ReadAllTextAsync(System.String,System.Threading.CancellationToken)">
559
594
  <summary>Reads a whole file as UTF-8 text.</summary>
560
595
  </member>
596
+ <member name="M:CodeMuster.Domain.IFileSystem.ReadBytesAsync(System.String,System.Int32,System.Threading.CancellationToken)">
597
+ <summary>Reads a bounded artifact as bytes; rejects files larger than the caller's limit.</summary>
598
+ </member>
561
599
  <member name="M:CodeMuster.Domain.IFileSystem.WriteAllTextAsync(System.String,System.String,System.Threading.CancellationToken)">
562
600
  <summary>Writes a whole file as UTF-8 text without a byte-order mark, creating missing parent directories.</summary>
563
601
  </member>
@@ -583,7 +621,7 @@
583
621
  <summary>Inserts or replaces unit rows by id and replaces the members of every unit in the list.</summary>
584
622
  </member>
585
623
  <member name="M:CodeMuster.Domain.ILedger.NextAsync(System.Int32,System.Nullable{CodeMuster.Domain.UnitKind},System.String,System.Threading.CancellationToken)">
586
- <summary>Up to <paramref name="batch"/> units that need work (pending, stale, or failed), only of <paramref name="kind"/> when it is given, oldest first by insertion order.</summary>
624
+ <summary>Up to <paramref name="batch"/> units that need work (pending, stale, or failed), only of <paramref name="kind"/> when it is given, oldest first by insertion order. Dependencies are excluded; fixes require explicit kind selection.</summary>
587
625
  </member>
588
626
  <member name="M:CodeMuster.Domain.ILedger.RecordAnalysisAsync(CodeMuster.Domain.Analysis,System.Collections.Generic.IReadOnlyList{CodeMuster.Domain.Finding},System.Threading.CancellationToken,CodeMuster.Domain.VerifyResponse)">
589
627
  <summary>Stores an analysis and its findings atomically and moves the unit to Done (with summary, summary hash, and lens hash) or Failed.</summary>
@@ -600,6 +638,12 @@
600
638
  <member name="M:CodeMuster.Domain.ILedger.GetProvenanceAsync(System.Threading.CancellationToken)">
601
639
  <summary>What produced the latest successful analysis of each unit, for units whose analysis recorded it (D35).</summary>
602
640
  </member>
641
+ <member name="M:CodeMuster.Domain.ILedger.GetLatestEvidenceAsync(System.Threading.CancellationToken)">
642
+ <summary>The latest successful analysis of each non-retired unit whose latest success supplied evidence, retaining the reviewed fingerprint and lens hash for freshness checks.</summary>
643
+ </member>
644
+ <member name="M:CodeMuster.Domain.ILedger.GetFailedAnalysesAsync(System.Threading.CancellationToken)">
645
+ <summary>Failed attempts for non-retired units, in insertion order, including attempts followed by success.</summary>
646
+ </member>
603
647
  <member name="M:CodeMuster.Domain.ILedger.RecordRunAsync(CodeMuster.Domain.ScanRun,System.Threading.CancellationToken)">
604
648
  <summary>Appends a run.</summary>
605
649
  </member>
@@ -649,12 +693,36 @@
649
693
  <member name="M:CodeMuster.Domain.IWorkspace.IsCleanAsync(System.Threading.CancellationToken)">
650
694
  <summary>True when the working tree has no uncommitted changes to tracked files.</summary>
651
695
  </member>
696
+ <member name="M:CodeMuster.Domain.IWorkspace.ChangedPathsAsync(System.Threading.CancellationToken)">
697
+ <summary>Lists tracked files changed in the index or working tree.</summary>
698
+ </member>
652
699
  <member name="M:CodeMuster.Domain.IWorkspace.CommitAsync(System.String,System.Threading.CancellationToken)">
653
- <summary>Commits everything currently changed, with <paramref name="message"/>. Never pushes.</summary>
700
+ <summary>Commits changes to tracked files with <paramref name="message"/>, leaving untracked files alone. Never pushes.</summary>
654
701
  </member>
655
702
  <member name="M:CodeMuster.Domain.IWorkspace.RestoreAsync(System.Threading.CancellationToken)">
656
703
  <summary>Throws away uncommitted changes to tracked files, so a failed attempt does not leave half a fix behind.</summary>
657
704
  </member>
705
+ <member name="M:CodeMuster.Domain.IWorkspace.StashAsync(System.Threading.CancellationToken)">
706
+ <summary>Saves tracked changes and their index state, returning the exact stash commit. Leaves untracked files alone.</summary>
707
+ </member>
708
+ <member name="M:CodeMuster.Domain.IWorkspace.RestoreStashAsync(System.String,System.Threading.CancellationToken)">
709
+ <summary>Restores the saved tracked changes and index, retaining the stash as a recovery copy. Saves unfinished fix edits separately first.</summary>
710
+ </member>
711
+ <member name="M:CodeMuster.Domain.IWorkspace.ApplyPatchAsync(System.String,System.Threading.CancellationToken)">
712
+ <summary>Applies a validated isolated worker patch to the working tree.</summary>
713
+ </member>
714
+ <member name="M:CodeMuster.Domain.IWorkspace.HasFileChangesAsync(System.String,System.Threading.CancellationToken)">
715
+ <summary>Checks for tracked edits to one repo-relative file.</summary>
716
+ </member>
717
+ <member name="M:CodeMuster.Domain.IWorkspace.CommitFileAsync(System.String,System.String,System.Threading.CancellationToken)">
718
+ <summary>Commits only the assigned file, leaving other paths and their staging state alone.</summary>
719
+ </member>
720
+ <member name="M:CodeMuster.Domain.IWorkspace.CommitFilesAsync(System.Collections.Generic.IReadOnlyList{System.String},System.String,System.Threading.CancellationToken)">
721
+ <summary>Commits only the explicitly allowed tracked files as one coherent repair.</summary>
722
+ </member>
723
+ <member name="M:CodeMuster.Domain.IWorkspace.RestoreFileAsync(System.String,System.Threading.CancellationToken)">
724
+ <summary>Restores only the assigned file and its index entry to HEAD.</summary>
725
+ </member>
658
726
  <member name="T:CodeMuster.Domain.Languages">
659
727
  <summary>Language identifiers stored in the ledger and the extension map that assigns them.</summary>
660
728
  </member>
@@ -935,6 +1003,12 @@
935
1003
  <member name="M:CodeMuster.Domain.UnitIds.Dependency(System.String)">
936
1004
  <summary>Id of the dependency unit for a manifest (D38).</summary>
937
1005
  </member>
1006
+ <member name="M:CodeMuster.Domain.UnitIds.Ux(System.String)">
1007
+ <summary>Id of the browser review for a UI source path.</summary>
1008
+ </member>
1009
+ <member name="M:CodeMuster.Domain.UnitIds.DeadCode(System.String)">
1010
+ <summary>Id of static reachability analysis for a source path.</summary>
1011
+ </member>
938
1012
  <member name="M:CodeMuster.Domain.UnitIds.Slice(System.String)">
939
1013
  <summary>Id of the slice unit that starts at an entry point's symbol.</summary>
940
1014
  </member>
@@ -959,6 +1033,12 @@
959
1033
  <member name="F:CodeMuster.Domain.UnitKind.Dependency">
960
1034
  <summary>One manifest's vulnerable packages, as its ecosystem's audit tool reported them (D38).</summary>
961
1035
  </member>
1036
+ <member name="F:CodeMuster.Domain.UnitKind.Ux">
1037
+ <summary>A UI target requiring rendered readability and business-workflow evidence.</summary>
1038
+ </member>
1039
+ <member name="F:CodeMuster.Domain.UnitKind.DeadCode">
1040
+ <summary>Static reachability assessments for one source file; candidates do not authorize deletion.</summary>
1041
+ </member>
962
1042
  <member name="T:CodeMuster.Domain.UnitMember">
963
1043
  <summary>One file or symbol that belongs to a unit, with the hash it had when the unit was built.</summary>
964
1044
  <param name="UnitId">Owning unit.</param>
@@ -1030,6 +1110,9 @@
1030
1110
  <member name="F:CodeMuster.Domain.Verdict.Unsure">
1031
1111
  <summary>The code shown cannot settle the claim.</summary>
1032
1112
  </member>
1113
+ <member name="F:CodeMuster.Domain.Verdict.Resolved">
1114
+ <summary>The previously reported defect is no longer present in current code, with resolution evidence.</summary>
1115
+ </member>
1033
1116
  <member name="T:CodeMuster.Domain.VerifyResponse">
1034
1117
  <summary>The whole JSON document the model returns for a verify unit: a verdict on the finding and the reason for it.</summary>
1035
1118
  </member>
Binary file
Binary file
@@ -7,12 +7,12 @@
7
7
  "targets": {
8
8
  ".NETCoreApp,Version=v10.0": {},
9
9
  ".NETCoreApp,Version=v10.0/win-x64": {
10
- "codemuster/0.2.0": {
10
+ "codemuster/0.2.8": {
11
11
  "dependencies": {
12
- "CodeMuster.Application": "0.2.0",
13
- "CodeMuster.Infrastructure": "0.2.0",
14
- "CodeMuster.Mapping.CSharp": "0.2.0",
15
- "CodeMuster.Mapping.TypeScript": "0.2.0",
12
+ "CodeMuster.Application": "0.2.8",
13
+ "CodeMuster.Infrastructure": "0.2.8",
14
+ "CodeMuster.Mapping.CSharp": "0.2.8",
15
+ "CodeMuster.Mapping.TypeScript": "0.2.8",
16
16
  "runtimepack.Microsoft.NETCore.App.Runtime.win-x64": "10.0.12"
17
17
  },
18
18
  "runtime": {
@@ -1036,65 +1036,65 @@
1036
1036
  }
1037
1037
  }
1038
1038
  },
1039
- "CodeMuster.Application/0.2.0": {
1039
+ "CodeMuster.Application/0.2.8": {
1040
1040
  "dependencies": {
1041
- "CodeMuster.Domain": "0.2.0"
1041
+ "CodeMuster.Domain": "0.2.8"
1042
1042
  },
1043
1043
  "runtime": {
1044
1044
  "CodeMuster.Application.dll": {
1045
- "assemblyVersion": "0.2.0.0",
1046
- "fileVersion": "0.2.0.0"
1045
+ "assemblyVersion": "0.2.8.0",
1046
+ "fileVersion": "0.2.8.0"
1047
1047
  }
1048
1048
  }
1049
1049
  },
1050
- "CodeMuster.Domain/0.2.0": {
1050
+ "CodeMuster.Domain/0.2.8": {
1051
1051
  "runtime": {
1052
1052
  "CodeMuster.Domain.dll": {
1053
- "assemblyVersion": "0.2.0.0",
1054
- "fileVersion": "0.2.0.0"
1053
+ "assemblyVersion": "0.2.8.0",
1054
+ "fileVersion": "0.2.8.0"
1055
1055
  }
1056
1056
  }
1057
1057
  },
1058
- "CodeMuster.Infrastructure/0.2.0": {
1058
+ "CodeMuster.Infrastructure/0.2.8": {
1059
1059
  "dependencies": {
1060
- "CodeMuster.Domain": "0.2.0",
1060
+ "CodeMuster.Domain": "0.2.8",
1061
1061
  "Microsoft.Data.Sqlite": "10.0.12"
1062
1062
  },
1063
1063
  "runtime": {
1064
1064
  "CodeMuster.Infrastructure.dll": {
1065
- "assemblyVersion": "0.2.0.0",
1066
- "fileVersion": "0.2.0.0"
1065
+ "assemblyVersion": "0.2.8.0",
1066
+ "fileVersion": "0.2.8.0"
1067
1067
  }
1068
1068
  }
1069
1069
  },
1070
- "CodeMuster.Mapping.CSharp/0.2.0": {
1070
+ "CodeMuster.Mapping.CSharp/0.2.8": {
1071
1071
  "dependencies": {
1072
- "CodeMuster.Domain": "0.2.0",
1072
+ "CodeMuster.Domain": "0.2.8",
1073
1073
  "Microsoft.CodeAnalysis.CSharp.Workspaces": "5.9.0",
1074
1074
  "Microsoft.CodeAnalysis.Workspaces.MSBuild": "5.9.0"
1075
1075
  },
1076
1076
  "runtime": {
1077
1077
  "CodeMuster.Mapping.CSharp.dll": {
1078
- "assemblyVersion": "0.2.0.0",
1079
- "fileVersion": "0.2.0.0"
1078
+ "assemblyVersion": "0.2.8.0",
1079
+ "fileVersion": "0.2.8.0"
1080
1080
  }
1081
1081
  }
1082
1082
  },
1083
- "CodeMuster.Mapping.TypeScript/0.2.0": {
1083
+ "CodeMuster.Mapping.TypeScript/0.2.8": {
1084
1084
  "dependencies": {
1085
- "CodeMuster.Domain": "0.2.0"
1085
+ "CodeMuster.Domain": "0.2.8"
1086
1086
  },
1087
1087
  "runtime": {
1088
1088
  "CodeMuster.Mapping.TypeScript.dll": {
1089
- "assemblyVersion": "0.2.0.0",
1090
- "fileVersion": "0.2.0.0"
1089
+ "assemblyVersion": "0.2.8.0",
1090
+ "fileVersion": "0.2.8.0"
1091
1091
  }
1092
1092
  }
1093
1093
  }
1094
1094
  }
1095
1095
  },
1096
1096
  "libraries": {
1097
- "codemuster/0.2.0": {
1097
+ "codemuster/0.2.8": {
1098
1098
  "type": "project",
1099
1099
  "serviceable": false,
1100
1100
  "sha512": ""
@@ -1286,27 +1286,27 @@
1286
1286
  "path": "system.composition.typedparts/10.0.1",
1287
1287
  "hashPath": "system.composition.typedparts.10.0.1.nupkg.sha512"
1288
1288
  },
1289
- "CodeMuster.Application/0.2.0": {
1289
+ "CodeMuster.Application/0.2.8": {
1290
1290
  "type": "project",
1291
1291
  "serviceable": false,
1292
1292
  "sha512": ""
1293
1293
  },
1294
- "CodeMuster.Domain/0.2.0": {
1294
+ "CodeMuster.Domain/0.2.8": {
1295
1295
  "type": "project",
1296
1296
  "serviceable": false,
1297
1297
  "sha512": ""
1298
1298
  },
1299
- "CodeMuster.Infrastructure/0.2.0": {
1299
+ "CodeMuster.Infrastructure/0.2.8": {
1300
1300
  "type": "project",
1301
1301
  "serviceable": false,
1302
1302
  "sha512": ""
1303
1303
  },
1304
- "CodeMuster.Mapping.CSharp/0.2.0": {
1304
+ "CodeMuster.Mapping.CSharp/0.2.8": {
1305
1305
  "type": "project",
1306
1306
  "serviceable": false,
1307
1307
  "sha512": ""
1308
1308
  },
1309
- "CodeMuster.Mapping.TypeScript/0.2.0": {
1309
+ "CodeMuster.Mapping.TypeScript/0.2.8": {
1310
1310
  "type": "project",
1311
1311
  "serviceable": false,
1312
1312
  "sha512": ""
Binary file
Binary file
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@codemuster/win32-x64",
3
- "version": "0.2.0",
3
+ "version": "0.2.8",
4
4
  "description": "The win32-x64 build of CodeMuster, installed by the codemuster package.",
5
- "license": "MIT",
5
+ "license": "SEE LICENSE IN LICENSE",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/TSCarterJr/CodeMuster.git"