mustflow 2.115.13 → 2.115.15

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.
@@ -0,0 +1,335 @@
1
+ ---
2
+ mustflow_doc: skill.webview2-code-change
3
+ locale: en
4
+ canonical: true
5
+ revision: 2
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: webview2-code-change
9
+ description: Apply this skill when Microsoft Edge WebView2 code, SDK or Runtime selection, CoreWebView2Environment initialization, user data folders, profiles, web messages, host objects, document or frame trust, navigation, popups, downloads, permissions, process failures, memory or performance behavior, Evergreen or Fixed Version deployment, WPF, WinForms, WinUI, or Win32 WebView2 tests are created, changed, reviewed, debugged, or upgraded.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.webview2-code-change
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - lint
19
+ - build
20
+ - test_related
21
+ - test
22
+ - docs_validate_fast
23
+ - mustflow_check
24
+ ---
25
+
26
+ # WebView2 Code Change
27
+
28
+ <!-- mustflow-section: purpose -->
29
+ ## Purpose
30
+
31
+ Preserve WebView2's runtime, process, storage, initialization, native-bridge, navigation, threading,
32
+ lifecycle, security, performance, update, and deployment boundaries across WPF, WinForms, WinUI,
33
+ and Win32 hosts.
34
+
35
+ Treat WebView2 as a Chromium process group, a persistent browser profile, and a native RPC boundary,
36
+ not as a browser-shaped UI control whose lifetime ends when a window disappears.
37
+
38
+ <!-- mustflow-section: use-when -->
39
+ ## Use When
40
+
41
+ - `Microsoft.Web.WebView2`, `CoreWebView2*`, `ICoreWebView2*`, `EnsureCoreWebView2Async`,
42
+ `CreationProperties`, `WebMessageReceived`, `PostWebMessageAsJson`, host objects, virtual host
43
+ mappings, document or frame origins, navigation events, popups, downloads, permissions, process
44
+ events, profiles, or user data folders change.
45
+ - A WPF, WinForms, WinUI, or Win32 application creates, disposes, recycles, packages, diagnoses, or
46
+ tests WebView2 controls or environments.
47
+ - The task chooses or changes Evergreen versus Fixed Version Runtime distribution, feature
48
+ detection, prerelease SDK usage, runtime update adoption, or enterprise update policy.
49
+ - The task investigates initialization failures, incompatible environment options, UDF locks,
50
+ bridge authorization, stale document responses, Runtime update adoption, process-failure
51
+ classification, memory retention, process growth, shutdown delay, rendering stalls, GPU behavior,
52
+ popup or download bugs, or packaged Runtime availability.
53
+ - Durable guidance makes exact claims about current WebView2 SDKs, Runtimes, preview channels,
54
+ release cadence, API stability, platform support, or distribution requirements.
55
+
56
+ <!-- mustflow-section: do-not-use-when -->
57
+ ## Do Not Use When
58
+
59
+ - The task is ordinary frontend code with no WebView2 host, native bridge, profile, runtime, or
60
+ packaged behavior; use the matching frontend skill.
61
+ - The task changes a Tauri or Wails application without direct WebView2 APIs or Windows-specific
62
+ runtime behavior; use `tauri-code-change` or `wails-code-change`.
63
+ - The task is only generic desktop memory analysis with no WebView2-specific lifecycle or process
64
+ boundary; use `desktop-memory-footprint-review`.
65
+ - The task only refreshes an external version statement and does not change WebView2 procedure;
66
+ use `source-freshness-check` or `version-freshness-check`.
67
+
68
+ <!-- mustflow-section: required-inputs -->
69
+ ## Required Inputs
70
+
71
+ - Host stack and target: WPF, WinForms, WinUI, or Win32; packaged or unpackaged; architecture;
72
+ minimum Windows version; installed SDK package; Runtime distribution mode; and target channels.
73
+ - Environment ledger: Runtime executable folder, normalized user data folder, environment options,
74
+ profile name, InPrivate choice, owner, sharing boundary, initialization call sites, and first
75
+ navigation trigger.
76
+ - Trust ledger: top-level origins, frame origins, virtual host mappings, remote content, injected
77
+ scripts, web-message commands, host objects, native capabilities, navigation and redirect policy,
78
+ popups, downloads, permissions, external schemes, and document-generation rules.
79
+ - Ownership ledger: control, controller, environment, profile, process group, document generation,
80
+ frame, navigation, child window, download, deferral, event subscription, pending bridge request,
81
+ disposal, update, and restart owners.
82
+ - Failure evidence: exception or HRESULT, effective environment options, actual UDF path, Runtime
83
+ and SDK versions, process kind, source origin, crash reason, packaged or unpackaged state, and
84
+ reproduction sequence.
85
+ - Performance evidence: browser, renderer, GPU, or helper process identity; WebView and window
86
+ count; navigation id; page and host timestamps; bridge request ids; memory metric; DevTools or OS
87
+ trace; hidden or suspended state; and before-open, steady-state, after-close, and repeated-cycle
88
+ observations.
89
+ - Current official Microsoft documentation before preserving exact version, release-date,
90
+ stable-versus-prerelease, API phase, runtime cadence, or deployment claims.
91
+ - Configured verification intents for host builds, focused tests, packaged startup, runtime
92
+ detection, initialization, UDF/profile behavior, bridge security, navigation, lifecycle, memory,
93
+ performance, update adoption, and docs.
94
+
95
+ <!-- mustflow-section: preconditions -->
96
+ ## Preconditions
97
+
98
+ - Identify the host framework and actual WebView2 SDK and Runtime evidence before changing API
99
+ calls. Do not infer Runtime capability from the NuGet version alone.
100
+ - Distinguish stable APIs, prerelease or experimental APIs, Runtime-only fixes, and future plans.
101
+ Feature-detect recent APIs where deployed Evergreen clients may lag or enterprise policy may
102
+ block updates.
103
+ - Refresh official release notes and concept documentation before writing date-sensitive claims.
104
+ If freshness cannot be checked, keep the procedure version-agnostic and report the gap.
105
+ - Treat web content, messages, frames, paths, URLs, file objects, permission requests, and host
106
+ object arguments as untrusted even when the HTML is bundled with the app.
107
+ - Keep command execution within the selected repository's configured intents.
108
+
109
+ <!-- mustflow-section: allowed-edits -->
110
+ ## Allowed Edits
111
+
112
+ - Update WebView2 host initialization, environment registries, profile and UDF policy, bridge DTOs
113
+ and handlers, document trust and navigation policy, popup/download/permission handlers, lifecycle
114
+ owners, update adoption, process-failure diagnostics, performance instrumentation, packaging,
115
+ tests, and directly synchronized docs or templates.
116
+ - Add narrow state machines, registries, typed message envelopes, origin policies, resource
117
+ filters, cleanup paths, or feature-detection adapters when the existing ownership is implicit.
118
+ - Keep framework-specific UI integration in the established WPF, WinForms, WinUI, or Win32 layer.
119
+ - Do not delete or reset a UDF as a generic initialization retry, weaken origin or permission
120
+ checks to make navigation work, or adopt prerelease APIs as production requirements without an
121
+ explicit compatibility decision.
122
+
123
+ <!-- mustflow-section: procedure -->
124
+ ## Procedure
125
+
126
+ 1. Read package metadata, target framework files, app startup, control creation, environment
127
+ construction, first navigation, event registration, bridge code, window shutdown, packaging,
128
+ tests, and diagnostic hooks. Record the host framework and Runtime distribution mode.
129
+ 2. Build one ownership map for four distinct lifetimes:
130
+ - native control and controller;
131
+ - `CoreWebView2Environment`, UDF, profile, and Chromium process group;
132
+ - top-level document, frames, scripts, and bridge requests;
133
+ - host window, application session, restart, update, and uninstall policy.
134
+ Do not use window visibility or field nulling as proof that the other lifetimes ended.
135
+ 3. Centralize environment creation. Key a shared initialization task by the effective Runtime path,
136
+ normalized UDF path, environment options, language, browser arguments, and access policy. Reject
137
+ incompatible options for an already-active UDF instead of racing a second environment into it.
138
+ 4. Make initialization an explicit state machine such as `Created -> Initializing -> Ready ->
139
+ Closing -> Closed` with one shared task and a generation or cancellation token. Apply creation
140
+ properties or the explicit environment before `EnsureCoreWebView2Async`; register handlers and
141
+ document-created scripts after successful initialization; navigate last. Do not let XAML or
142
+ constructor `Source` start an implicit default initialization first.
143
+ 5. Treat UDF and profile design as storage architecture:
144
+ - use a writable, user-local UDF path and avoid network drives;
145
+ - use multiple profiles inside one UDF for account separation within one trust boundary;
146
+ - use different UDFs only for process, trust, regulatory, or independent-lifecycle isolation;
147
+ - use stable opaque profile identifiers rather than email addresses or display names;
148
+ - distinguish logout, browsing-data clearing, profile deletion, factory reset, and uninstall;
149
+ - wait for all owning WebViews and browser processes to exit before moving or deleting a UDF.
150
+ 6. Choose Runtime distribution deliberately. Prefer Evergreen unless exact binary reproducibility
151
+ or a constrained certification contract justifies Fixed Version. For Fixed Version, require an
152
+ owned patch SLA, retained signed artifacts and hashes, architecture-specific packaging, update
153
+ and rollback tests, disk-budget evidence, and required filesystem permissions. For Evergreen,
154
+ handle continuous-running apps by coordinating release of all environments or a state-saving
155
+ restart after `NewBrowserVersionAvailable`.
156
+ 7. Bind bridge availability to the current trusted document generation. Issue a new document id or
157
+ generation at navigation start, complete a native-to-web handshake only after an allowed origin
158
+ is ready, reject requests from older generations, and cancel pending work when the document,
159
+ renderer, or control is replaced.
160
+ 8. Treat every native bridge as a privileged RPC surface:
161
+ - parse and compare exact normalized scheme, host, and effective port; never use prefix matching;
162
+ - keep top-level and frame origin policies separate;
163
+ - use a finite command allowlist with typed request and response schemas, size and depth limits,
164
+ request ids, timeouts, cancellation, idempotency for side effects, and bounded concurrency;
165
+ - bind pending requests to the current document generation and cancel them on navigation,
166
+ renderer loss, or disposal;
167
+ - send data through JSON message APIs instead of interpolating values into script source;
168
+ - expose small capability objects only when messages cannot meet the requirement, and recheck
169
+ native authorization on every host-object call.
170
+ 9. Separate trusted app content from external content when native capabilities differ. Prefer a
171
+ dedicated WebView for external pages. Configure scripts, web messages, host objects, and virtual
172
+ host mappings before first navigation. Map only the resource directory, deny unnecessary
173
+ cross-origin access, and keep sensitive files physically outside mapped trees and reparse-point
174
+ escape paths.
175
+ 10. Build navigation state around WebView instance, top-level versus frame scope, and
176
+ `NavigationId`:
177
+ - re-evaluate every redirect rather than trusting the first URL;
178
+ - keep same-document source or history changes separate from a new document generation;
179
+ - reject stale completion events after a newer navigation has started;
180
+ - use `IsSuccess`, `WebErrorStatus`, and HTTP status only for transport evidence, not business
181
+ success;
182
+ - keep request-header inspection separate from mutation and restrict injected headers to the
183
+ exact resource context and origin.
184
+ 11. Route every escape from the current document through one native policy engine:
185
+ - top-level and frame navigation;
186
+ - `NewWindowRequested` and opener behavior;
187
+ - `LaunchingExternalUriScheme`;
188
+ - downloads and final save paths;
189
+ - script dialogs and permission requests.
190
+ Treat `IsUserInitiated` as a gesture signal, not authorization. Check the initiating frame and
191
+ destination, default-deny unknown schemes and origins, and keep permission decisions keyed by
192
+ origin and permission kind.
193
+ 12. Treat popups and downloads as owned asynchronous state:
194
+ - initialize a child WebView under a deferral before assigning `NewWindow`;
195
+ - dispose half-created children when initialization or the parent lifetime fails;
196
+ - distinguish `DownloadStarting.Handled` from `Cancel`;
197
+ - validate the final absolute save path against an allowed directory and safe filename policy;
198
+ - track `CoreWebView2DownloadOperation.State`, including unknown total length, until terminal
199
+ completion or interruption;
200
+ - unregister per-child and per-download handlers at their terminal state.
201
+ 13. Preserve the STA threading contract. Create, initialize, and access WebView2 on the UI STA
202
+ thread with a message pump. Keep one asynchronous initialization owner and do not block its
203
+ callbacks with `.Wait()` or `.Result`. When an event requires asynchronous policy work, acquire
204
+ its deferral, enter `try`, and complete exactly once in `finally`; track outstanding deferrals so
205
+ closing can cancel work and still terminate.
206
+ 14. Make shutdown idempotent and ordered: mark closing, reject new navigation, popup, bridge, and
207
+ download work, cancel pending operations, complete deferrals, close children, unregister events
208
+ from long-lived publishers, remove host objects, close or dispose the controller or control,
209
+ clear references, and wait for browser exit only when a Runtime or UDF operation requires it.
210
+ Hidden controls remain alive; choose hide, suspend, low-memory mode, and permanent disposal as
211
+ distinct policies.
212
+ 15. Coordinate Runtime update adoption and UDF maintenance at the environment-sharing boundary.
213
+ Stop bridge traffic, dispose every WebView using the UDF, release environment references, wait
214
+ for the owning browser process to exit when deletion or replacement requires it, and then create
215
+ the new environment. Recreating one window while another shares the UDF does not adopt a new
216
+ Runtime or release the profile lock.
217
+ 16. Classify `ProcessFailed` by process kind and reason before recovery. Distinguish normal exit,
218
+ abnormal exit, integrity failure, renderer unresponsiveness, launch failure, and whole browser
219
+ process exit when the deployed API exposes them. Use nullable crash details as diagnostics, not
220
+ as a required recovery input. Do not recreate for auto-recoverable GPU or utility exits. Coordinate
221
+ browser-process recovery with `BrowserProcessExited`, deduplicate events across controls, and
222
+ bound recovery by environment generation, retry count, backoff, and one concurrent recovery.
223
+ 17. Diagnose memory by ownership, not the total of every `msedgewebview2.exe` process. Separate
224
+ JavaScript heap and detached DOM, renderer memory, shared browser or helper processes, native
225
+ window/ViewModel retention, environment event cycles, host-object graphs, pending deferrals,
226
+ hidden controls, and expected caches. Pair process ids with UDF, kind, associated frames, active
227
+ controls, and repeated open-close evidence before calling growth a leak.
228
+ 18. Diagnose performance across page and host boundaries. Correlate page performance marks,
229
+ WebView2 event timestamps, navigation ids, process ids, bridge ids, DevTools/CDP traces, and host
230
+ or WPR/WPA traces. Check broad `WebResourceRequested` interception, synchronous UI-thread work,
231
+ bridge chatter, large payloads, slow or network UDF storage, security software, GPU fallback,
232
+ hidden controls, suspension, and low-memory targets before rewriting frontend code.
233
+ 19. Verify the smallest relevant matrix: supported Windows and host framework, installed Runtime
234
+ floor, Evergreen current and preview channel when compatibility matters, Fixed artifact when
235
+ used, packaged and unpackaged startup, first and repeated initialization, navigation and frame
236
+ denial, redirect denial, bridge negative cases, popup and download cancellation, deferral
237
+ completion, permission and external-scheme denial, process-failure recovery, repeated open-close
238
+ memory, planned restart, and UDF cleanup or retention policy.
239
+
240
+ <!-- mustflow-section: hard-bans -->
241
+ ## Hard Bans
242
+
243
+ - Do not treat the NuGet SDK version as proof of the installed Runtime version or API availability.
244
+ - Do not set `Source` before custom environment initialization and then attempt to replace the
245
+ environment.
246
+ - Do not delete a UDF because initialization threw an unclassified exception.
247
+ - Do not authorize native work from `Source.StartsWith`, `IsUserInitiated`, a frontend role flag,
248
+ an arbitrary reflected method name, or a path supplied by JavaScript.
249
+ - Do not expose a service container, application object, shell execution, unrestricted filesystem,
250
+ secrets, tokens, or broad host object to web content.
251
+ - Do not leave event subscriptions, host objects, pending bridge requests, document generations,
252
+ environment references, deferrals, child windows, downloads, or profile locks without an explicit
253
+ owner and cleanup path.
254
+ - Do not treat `IsUserInitiated`, `NavigationCompleted`, `DownloadStarting`, process count, or a
255
+ lower working set as proof of a safe destination, business success, completed download, memory
256
+ leak, or reduced live memory.
257
+ - Do not ship prerelease or experimental API assumptions as a stable production contract without
258
+ feature detection, compatibility bounds, and fallback behavior.
259
+
260
+ <!-- mustflow-section: postconditions -->
261
+ ## Postconditions
262
+
263
+ - Host, SDK, Runtime, channel, distribution mode, environment, UDF, profile, document, and process
264
+ ownership are explicit.
265
+ - Initialization, navigation, bridge, popup, download, permission, deferral, process failure,
266
+ update adoption, and UDF cleanup paths have bounded states and terminal cleanup.
267
+ - Origin, frame, message schema, native authorization, permission, filesystem, and external-launch
268
+ boundaries are enforced on the native side.
269
+ - Memory and performance claims name the process, metric, scenario, timestamps, and after-close or
270
+ recovery evidence.
271
+ - Missing packaged, Runtime-channel, initialization, security-negative, lifecycle, memory, or
272
+ process diagnostic coverage is reported rather than hidden behind a generic frontend test.
273
+
274
+ <!-- mustflow-section: verification -->
275
+ ## Verification
276
+
277
+ Use configured oneshot command intents when available:
278
+
279
+ - `changes_status`
280
+ - `changes_diff_summary`
281
+ - `lint`
282
+ - `build`
283
+ - `test_related`
284
+ - `test`
285
+ - `docs_validate_fast`
286
+ - `mustflow_check`
287
+
288
+ Report missing WebView2-specific intents when relevant: packaged startup smoke, installed Runtime
289
+ detection, SDK/Runtime compatibility, custom-environment initialization, UDF/profile isolation,
290
+ origin and frame denial, malformed or oversized bridge messages, host-object reachability,
291
+ document-generation invalidation, redirect denial, popup initialization, download cancellation and
292
+ path safety, deferral completion, permission and external-scheme denial, process-failure recovery,
293
+ repeated open-close memory, Evergreen restart adoption, Fixed Version packaging, GPU fallback, and
294
+ preview-channel regression.
295
+
296
+ <!-- mustflow-section: failure-handling -->
297
+ ## Failure Handling
298
+
299
+ - If initialization fails, classify environment option mismatch, UDF path or permission, Runtime
300
+ discovery, window handle, UI thread, disposed control, policy override, and browser-process exit
301
+ before retrying or touching stored data.
302
+ - If a blank view appears only after packaging, inspect built assets, virtual host mappings, CSP,
303
+ navigation denial, Runtime availability, architecture loaders, and packaged path permissions
304
+ before changing application state.
305
+ - If bridge responses are stale or duplicated, add document generations, request correlation,
306
+ cancellation, idempotency, and bounded queues before adding retries.
307
+ - If a UDF remains locked, inspect shared environments, other app instances, active WebViews,
308
+ environment references, and browser-process exit before deleting, moving, or recreating it.
309
+ - If a popup, download, dialog, permission, or external launch hangs, inspect deferral completion,
310
+ parent lifetime, initiating frame, terminal operation state, and event cleanup before adding a
311
+ retry or bypass.
312
+ - If memory or processes remain after close, inspect shared UDF ownership, environment event cycles,
313
+ host objects, child windows, downloads, deferrals, hidden controls, renderer heap, and expected
314
+ caches before forcing termination or trimming working sets.
315
+ - If a performance trace disagrees with page timing, preserve both observations and correlate the
316
+ page, WebView event, process, bridge, and OS timelines before assigning the bottleneck.
317
+ - If exact current release claims cannot be refreshed from official sources, remove the precise
318
+ claim from durable guidance and report the unverified boundary.
319
+ - If repository intents cannot exercise a Windows or packaged path, report the missing platform
320
+ evidence and keep the completion claim limited to the checks actually run.
321
+
322
+ <!-- mustflow-section: output-format -->
323
+ ## Output Format
324
+
325
+ - WebView2 boundary checked
326
+ - Host, SDK, Runtime, channel, and distribution mode
327
+ - Environment, UDF, profile, process, document, frame, and lifecycle ownership notes
328
+ - Initialization, UDF/profile, document/frame trust, bridge, and native authorization findings
329
+ - Navigation, redirect, popup, download, permission, external-launch, and deferral findings
330
+ - Runtime distribution, lifecycle, update adoption, process-failure, memory, performance, and
331
+ packaging findings
332
+ - Files changed
333
+ - Command intents run
334
+ - Skipped checks and reasons
335
+ - Remaining WebView2 risk
@@ -1,6 +1,6 @@
1
1
  id = "default"
2
2
  name = "default"
3
- version = "2.115.13"
3
+ version = "2.115.15"
4
4
  description = "Minimal workflow for LLM agents to read, edit, and verify their work in a repository."
5
5
  common_root = "common"
6
6
  locales_root = "locales"
@@ -25,6 +25,9 @@ creates = [
25
25
  ".mustflow/skills/behavior-preserving-refactor/SKILL.md",
26
26
  ".mustflow/skills/split-refactor-residual-path-review/SKILL.md",
27
27
  ".mustflow/skills/code-review/SKILL.md",
28
+ ".mustflow/skills/bug-claim-evidence-gate/SKILL.md",
29
+ ".mustflow/skills/bug-claim-evidence-gate/references/classification.md",
30
+ ".mustflow/skills/bug-claim-evidence-gate/references/domain-extensions.md",
28
31
  ".mustflow/skills/ai-generated-code-hardening/SKILL.md",
29
32
  ".mustflow/skills/quality-gaming-guard/SKILL.md",
30
33
  ".mustflow/skills/abstraction-boundary-review/SKILL.md",
@@ -132,6 +135,8 @@ creates = [
132
135
  ".mustflow/skills/tailwind-code-change/SKILL.md",
133
136
  ".mustflow/skills/tauri-code-change/SKILL.md",
134
137
  ".mustflow/skills/wails-code-change/SKILL.md",
138
+ ".mustflow/skills/webview2-code-change/SKILL.md",
139
+ ".mustflow/skills/hetzner-cloud-change/SKILL.md",
135
140
  ".mustflow/skills/typescript-code-change/SKILL.md",
136
141
  ".mustflow/skills/unocss-code-change/SKILL.md",
137
142
  ".mustflow/skills/cli-option-contract-review/SKILL.md",
@@ -269,6 +274,7 @@ minimal = [
269
274
  "behavior-preserving-refactor",
270
275
  "split-refactor-residual-path-review",
271
276
  "code-review",
277
+ "bug-claim-evidence-gate",
272
278
  "ai-generated-code-hardening",
273
279
  "quality-gaming-guard",
274
280
  "abstraction-boundary-review",
@@ -373,6 +379,8 @@ minimal = [
373
379
  "tailwind-code-change",
374
380
  "tauri-code-change",
375
381
  "wails-code-change",
382
+ "webview2-code-change",
383
+ "hetzner-cloud-change",
376
384
  "typescript-code-change",
377
385
  "unocss-code-change",
378
386
  "command-contract-authoring",
@@ -446,6 +454,7 @@ patterns = [
446
454
  "behavior-preserving-refactor",
447
455
  "split-refactor-residual-path-review",
448
456
  "code-review",
457
+ "bug-claim-evidence-gate",
449
458
  "ai-generated-code-hardening",
450
459
  "quality-gaming-guard",
451
460
  "abstraction-boundary-review",
@@ -550,6 +559,8 @@ patterns = [
550
559
  "tailwind-code-change",
551
560
  "tauri-code-change",
552
561
  "wails-code-change",
562
+ "webview2-code-change",
563
+ "hetzner-cloud-change",
553
564
  "typescript-code-change",
554
565
  "unocss-code-change",
555
566
  "command-contract-authoring",
@@ -634,6 +645,7 @@ oss = [
634
645
  "behavior-preserving-refactor",
635
646
  "split-refactor-residual-path-review",
636
647
  "code-review",
648
+ "bug-claim-evidence-gate",
637
649
  "ai-generated-code-hardening",
638
650
  "quality-gaming-guard",
639
651
  "abstraction-boundary-review",
@@ -738,6 +750,8 @@ oss = [
738
750
  "tailwind-code-change",
739
751
  "tauri-code-change",
740
752
  "wails-code-change",
753
+ "webview2-code-change",
754
+ "hetzner-cloud-change",
741
755
  "typescript-code-change",
742
756
  "unocss-code-change",
743
757
  "cli-option-contract-review",
@@ -841,6 +855,7 @@ team = [
841
855
  "behavior-preserving-refactor",
842
856
  "split-refactor-residual-path-review",
843
857
  "code-review",
858
+ "bug-claim-evidence-gate",
844
859
  "ai-generated-code-hardening",
845
860
  "quality-gaming-guard",
846
861
  "abstraction-boundary-review",
@@ -945,6 +960,8 @@ team = [
945
960
  "tailwind-code-change",
946
961
  "tauri-code-change",
947
962
  "wails-code-change",
963
+ "webview2-code-change",
964
+ "hetzner-cloud-change",
948
965
  "typescript-code-change",
949
966
  "unocss-code-change",
950
967
  "command-contract-authoring",
@@ -1032,6 +1049,7 @@ product = [
1032
1049
  "behavior-preserving-refactor",
1033
1050
  "split-refactor-residual-path-review",
1034
1051
  "code-review",
1052
+ "bug-claim-evidence-gate",
1035
1053
  "ai-generated-code-hardening",
1036
1054
  "quality-gaming-guard",
1037
1055
  "abstraction-boundary-review",
@@ -1136,6 +1154,8 @@ product = [
1136
1154
  "tailwind-code-change",
1137
1155
  "tauri-code-change",
1138
1156
  "wails-code-change",
1157
+ "webview2-code-change",
1158
+ "hetzner-cloud-change",
1139
1159
  "typescript-code-change",
1140
1160
  "unocss-code-change",
1141
1161
  "command-contract-authoring",
@@ -1229,6 +1249,7 @@ library = [
1229
1249
  "behavior-preserving-refactor",
1230
1250
  "split-refactor-residual-path-review",
1231
1251
  "code-review",
1252
+ "bug-claim-evidence-gate",
1232
1253
  "ai-generated-code-hardening",
1233
1254
  "quality-gaming-guard",
1234
1255
  "abstraction-boundary-review",
@@ -1333,6 +1354,8 @@ library = [
1333
1354
  "tailwind-code-change",
1334
1355
  "tauri-code-change",
1335
1356
  "wails-code-change",
1357
+ "webview2-code-change",
1358
+ "hetzner-cloud-change",
1336
1359
  "typescript-code-change",
1337
1360
  "unocss-code-change",
1338
1361
  "cli-option-contract-review",