mustflow 2.116.1 → 2.116.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/package.json +1 -1
  2. package/templates/default/i18n.toml +72 -6
  3. package/templates/default/locales/en/.mustflow/skills/INDEX.md +37 -11
  4. package/templates/default/locales/en/.mustflow/skills/compiler-engineering-review/SKILL.md +477 -0
  5. package/templates/default/locales/en/.mustflow/skills/compiler-engineering-review/references/compiler-diagnostics-abi-linker-checklist.md +778 -0
  6. package/templates/default/locales/en/.mustflow/skills/compiler-engineering-review/references/compiler-generators-properties-checklist.md +501 -0
  7. package/templates/default/locales/en/.mustflow/skills/compiler-engineering-review/references/compiler-test-strategy-differential-checklist.md +498 -0
  8. package/templates/default/locales/en/.mustflow/skills/compiler-engineering-review/references/debug-symbol-symbolication-checklist.md +412 -0
  9. package/templates/default/locales/en/.mustflow/skills/compiler-engineering-review/references/ir-design-ssa-pass-pipeline-checklist.md +759 -0
  10. package/templates/default/locales/en/.mustflow/skills/compiler-engineering-review/references/miscompile-reduction-ir-checklist.md +434 -0
  11. package/templates/default/locales/en/.mustflow/skills/cross-platform-filesystem-safety/SKILL.md +55 -36
  12. package/templates/default/locales/en/.mustflow/skills/cross-platform-filesystem-safety/references/path-containment-handle-checklist.md +251 -0
  13. package/templates/default/locales/en/.mustflow/skills/file-upload-security-review/SKILL.md +133 -32
  14. package/templates/default/locales/en/.mustflow/skills/file-upload-security-review/references/file-upload-parser-ssrf-resource-checklist.md +306 -0
  15. package/templates/default/locales/en/.mustflow/skills/formal-verification-review/SKILL.md +310 -0
  16. package/templates/default/locales/en/.mustflow/skills/formal-verification-review/references/formal-concurrency-model-checking-smt-checklist.md +457 -0
  17. package/templates/default/locales/en/.mustflow/skills/formal-verification-review/references/formal-contracts-modeling-checklist.md +434 -0
  18. package/templates/default/locales/en/.mustflow/skills/formal-verification-review/references/formal-memory-bounds-ci-checklist.md +509 -0
  19. package/templates/default/locales/en/.mustflow/skills/fuzz-harness-review/SKILL.md +439 -0
  20. package/templates/default/locales/en/.mustflow/skills/fuzz-harness-review/references/fuzz-harness-campaign-checklist.md +379 -0
  21. package/templates/default/locales/en/.mustflow/skills/fuzz-harness-review/references/fuzz-oracle-triage-ci-checklist.md +307 -0
  22. package/templates/default/locales/en/.mustflow/skills/idempotency-integrity-review/SKILL.md +48 -28
  23. package/templates/default/locales/en/.mustflow/skills/idempotency-integrity-review/references/operation-ordering-stale-write-checklist.md +259 -0
  24. package/templates/default/locales/en/.mustflow/skills/input-boundary-validation-review/SKILL.md +329 -0
  25. package/templates/default/locales/en/.mustflow/skills/input-boundary-validation-review/references/input-boundary-security-checklist.md +319 -0
  26. package/templates/default/locales/en/.mustflow/skills/input-event-synchronization-review/SKILL.md +306 -0
  27. package/templates/default/locales/en/.mustflow/skills/input-event-synchronization-review/references/input-session-state-checklist.md +298 -0
  28. package/templates/default/locales/en/.mustflow/skills/input-event-synchronization-review/references/remote-input-transport-interaction-checklist.md +328 -0
  29. package/templates/default/locales/en/.mustflow/skills/interpreter-engineering-review/SKILL.md +353 -0
  30. package/templates/default/locales/en/.mustflow/skills/interpreter-engineering-review/references/interpreter-diagnostics-recovery-checklist.md +267 -0
  31. package/templates/default/locales/en/.mustflow/skills/interpreter-engineering-review/references/interpreter-execution-closure-performance-checklist.md +428 -0
  32. package/templates/default/locales/en/.mustflow/skills/interpreter-engineering-review/references/interpreter-gc-verification-checklist.md +457 -0
  33. package/templates/default/locales/en/.mustflow/skills/interpreter-engineering-review/references/interpreter-semantics-runtime-checklist.md +391 -0
  34. package/templates/default/locales/en/.mustflow/skills/modal-loop-reentrancy-review/SKILL.md +294 -0
  35. package/templates/default/locales/en/.mustflow/skills/modal-loop-reentrancy-review/references/modal-loop-reentrancy-checklist.md +290 -0
  36. package/templates/default/locales/en/.mustflow/skills/modal-loop-reentrancy-review/references/nested-modal-state-lifetime-checklist.md +297 -0
  37. package/templates/default/locales/en/.mustflow/skills/name-resolution-integrity-review/SKILL.md +252 -0
  38. package/templates/default/locales/en/.mustflow/skills/name-resolution-integrity-review/references/dns-network-resolution-checklist.md +394 -0
  39. package/templates/default/locales/en/.mustflow/skills/name-resolution-integrity-review/references/language-symbol-resolution-checklist.md +282 -0
  40. package/templates/default/locales/en/.mustflow/skills/name-resolution-integrity-review/references/module-package-loader-resolution-checklist.md +352 -0
  41. package/templates/default/locales/en/.mustflow/skills/parser-engineering-review/SKILL.md +103 -17
  42. package/templates/default/locales/en/.mustflow/skills/parser-engineering-review/references/cst-ast-lowering-checklist.md +260 -0
  43. package/templates/default/locales/en/.mustflow/skills/parser-engineering-review/references/lexer-tokenization-checklist.md +397 -0
  44. package/templates/default/locales/en/.mustflow/skills/parser-engineering-review/references/tree-serialization-compatibility-checklist.md +164 -0
  45. package/templates/default/locales/en/.mustflow/skills/parser-engineering-review/references/tree-traversal-rewrite-checklist.md +209 -0
  46. package/templates/default/locales/en/.mustflow/skills/race-condition-review/SKILL.md +68 -11
  47. package/templates/default/locales/en/.mustflow/skills/race-condition-review/references/race-reproduction-memory-model-checklist.md +268 -0
  48. package/templates/default/locales/en/.mustflow/skills/routes.toml +151 -0
  49. package/templates/default/locales/en/.mustflow/skills/session-handoff-integrity-review/SKILL.md +343 -0
  50. package/templates/default/locales/en/.mustflow/skills/session-handoff-integrity-review/references/session-auth-stream-resume-checklist.md +413 -0
  51. package/templates/default/locales/en/.mustflow/skills/session-handoff-integrity-review/references/session-handoff-protocol-checklist.md +485 -0
  52. package/templates/default/locales/en/.mustflow/skills/two-phase-transition-integrity-review/SKILL.md +267 -0
  53. package/templates/default/locales/en/.mustflow/skills/two-phase-transition-integrity-review/references/admission-decision-recovery-checklist.md +308 -0
  54. package/templates/default/locales/en/.mustflow/skills/two-phase-transition-integrity-review/references/two-phase-transition-checklist.md +229 -0
  55. package/templates/default/locales/en/.mustflow/skills/ui-dispatch-lifecycle-review/SKILL.md +300 -0
  56. package/templates/default/locales/en/.mustflow/skills/ui-dispatch-lifecycle-review/references/ui-affinity-event-loop-checklist.md +277 -0
  57. package/templates/default/locales/en/.mustflow/skills/ui-dispatch-lifecycle-review/references/ui-dispatch-lifecycle-checklist.md +292 -0
  58. package/templates/default/manifest.toml +115 -1
@@ -0,0 +1,379 @@
1
+ # Fuzz Harness and Campaign Checklist
2
+
3
+ Use this reference when `fuzz-harness-review` reaches target partitioning, input modeling,
4
+ instrumentation, feedback features, corpus maintenance, campaign diversity, stateful sequences,
5
+ failure injection, or artifact triage. Treat tool flags as examples to verify against the pinned
6
+ tool version, not as command authority.
7
+
8
+ ## Contents
9
+
10
+ 1. Target matrix and reachability
11
+ 2. Iteration determinism and reset
12
+ 3. Oracle matrix
13
+ 4. Input models and mutation lanes
14
+ 5. Instrumentation and feedback
15
+ 6. Corpus, dictionary, and regression seeds
16
+ 7. Streaming, stateful, and failure-injection inputs
17
+ 8. Campaign diversity and plateau diagnosis
18
+ 9. Artifact reproduction and bounded regression
19
+ 10. Primary anchors
20
+
21
+ ## 1. Target matrix and reachability
22
+
23
+ Build targets around the narrowest semantic boundary that can fail independently. Record for every
24
+ target:
25
+
26
+ - target name, owning module, entrypoint, and build identity;
27
+ - input representation and maximum bytes, nodes, depth, operations, or messages;
28
+ - expensive initialization outside the loop and mutable state reset inside it;
29
+ - stage reached: decode, parse, validate, normalize, serialize, execute, persist, or transmit;
30
+ - side effects and the fake, in-memory, transactional, or rollback boundary that contains them;
31
+ - oracle classes and resource counters;
32
+ - instrumented modules and excluded modules;
33
+ - seed, dictionary, mutator, and artifact-decoder versions; and
34
+ - configured smoke, corpus replay, sanitizer, coverage, or manual campaign owner.
35
+
36
+ For a parser or protocol family, consider this matrix:
37
+
38
+ | Target | Input model | Main purpose | Common starvation risk |
39
+ | --- | --- | --- | --- |
40
+ | Raw decoder or parser | arbitrary bytes | malformed framing, progress, recovery, memory safety | none; may remain shallow |
41
+ | Streaming parser | bytes plus chunk schedule | partial input, EOF, retry, state carry | chunk schedule not preserved |
42
+ | Parse and validate | raw bytes | syntax-to-semantic boundary | parser rejection dominates |
43
+ | Normalize or canonicalize | valid or near-valid object | idempotence and invariant preservation | raw malformed paths absent |
44
+ | Serializer | bounded structured object | size, writer, invalid object combinations | byte decoder rejects objects |
45
+ | Parse-serialize-parse | raw and structured lanes | semantic round trip and canonical stability | byte equality false positives |
46
+ | Inner payload | decoded structure | deep semantic or execution behavior | outer validation bypassed |
47
+ | Outer envelope | real wire framing | signature, checksum, compression, auth, integration | expensive and rejection-heavy |
48
+ | Stateful sequence | operation list plus payloads | transition, replay, transaction, session bugs | single-message mutation |
49
+ | Initialization | configuration or first input | setup and teardown failures | optimized hot-loop target skips it |
50
+
51
+ Do not hide one target behind a mode byte when the modes have unrelated corpora, state, speed, or
52
+ oracles. Split them unless sharing materially improves crossover without causing one path to starve
53
+ the others.
54
+
55
+ Measure stage reach rather than only executions per second. A fast target that exits at the first
56
+ magic check may have lower useful execution rate than a slower target that reaches semantic code.
57
+
58
+ ## 2. Iteration determinism and reset
59
+
60
+ Write an iteration-state ledger:
61
+
62
+ - arenas, heaps, pools, caches, interners, registries, singletons, and lazy initialization;
63
+ - cursors, parser state, protocol session, authentication state, transaction state, and file offsets;
64
+ - clock, timezone, locale, randomness, hash seed, process environment, hostname, and DNS;
65
+ - temporary directories, files, sockets, pipes, shared memory, and database fixtures;
66
+ - threads, tasks, callbacks, timers, signals, child processes, and outstanding I/O;
67
+ - fault-injection counters and allocation, read, write, retry, or disconnect schedules; and
68
+ - logs, metrics, trace exporters, crash handlers, and global error status.
69
+
70
+ For each mutable item, name reset, recreation, snapshot restore, or process-isolation ownership.
71
+ Immutable initialization may stay outside the loop. Input-derived state may not.
72
+
73
+ Make environment branches deterministic without erasing them. Prefer an input-controlled adapter:
74
+ the artifact selects clock, locale, RNG seed, fixture, short-read point, or allocation failure.
75
+ A hard-coded environment is stable but cannot explore environment-dependent behavior.
76
+
77
+ Test replay from:
78
+
79
+ 1. the same process after unrelated prior inputs;
80
+ 2. a clean process;
81
+ 3. a different worker with the same build identity; and
82
+ 4. the minimized artifact.
83
+
84
+ Normalized outcome, oracle class, and meaningful coverage should agree. If only a prior input makes
85
+ the artifact fail, save the prefix sequence temporarily and classify the state leak before shrinking.
86
+
87
+ Persistent mode is a performance technique, not evidence that reset is correct. Watch stability or
88
+ equivalent repeated-input features and treat material instability as wasted search and unreliable
89
+ artifacts.
90
+
91
+ ## 3. Oracle matrix
92
+
93
+ Coverage tells the fuzzer which input is interesting. The oracle decides whether behavior is wrong.
94
+ Keep the two ledgers separate.
95
+
96
+ ### Memory and runtime oracles
97
+
98
+ - address, bounds, use-after-free, double-free, leak, undefined-behavior, race, uninitialized-read,
99
+ assertion, panic, and language-runtime checks;
100
+ - debug-with-assertions and release-like optimized configurations when semantics can diverge;
101
+ - distinct sanitizer or detector campaigns when tools are incompatible or impose different costs;
102
+ - deterministic failure classification independent of renderer wording.
103
+
104
+ ### Contract oracles
105
+
106
+ - success never consumes beyond input and repeated success does not consume zero indefinitely;
107
+ - failure leaves cursor, output, transaction, session, and side-effect state within contract;
108
+ - `encoded_size` equals actual bytes written for exact capacity;
109
+ - one-byte-short, exact, and one-byte-large buffers obey writer policy;
110
+ - parse and serialize preserve declared semantics, not incidental byte ordering or whitespace;
111
+ - canonical output stabilizes after one normalization or parse-serialize cycle;
112
+ - strict and compatibility modes respect their separate contracts;
113
+ - unknown field, duplicate field, invalid enum, NaN, negative zero, ordering, and normalization
114
+ policies remain explicit;
115
+ - same initial state and input produce the same normalized result.
116
+
117
+ ### Differential oracles
118
+
119
+ Normalize accepted status, semantic tree or object, field multiplicity, consumed length, trailing
120
+ bytes, numeric overflow, Unicode form, error location, and externally visible side effects. Compare
121
+ only fields the shared contract defines.
122
+
123
+ A disagreement is a triage candidate, not majority proof. Separate:
124
+
125
+ - specified disagreement that proves a defect;
126
+ - unspecified or implementation-defined behavior;
127
+ - compatibility-mode difference;
128
+ - diagnostic-rendering noise;
129
+ - versioned intentional change; and
130
+ - harness normalization bug.
131
+
132
+ ### Resource oracles
133
+
134
+ Instrument work units, transitions, byte revisits, comparisons, backtracking, allocations, retained
135
+ bytes, output bytes, nodes, depth, operations, messages, retries, and elapsed CPU where available.
136
+ Use both absolute ceilings and input-relative growth limits.
137
+
138
+ Wall-clock timeout, RSS limit, and single-allocation limit remain useful final guards, but machine
139
+ load makes them weak primary regression oracles. Preserve timeout and OOM artifacts with their
140
+ counter evidence.
141
+
142
+ ## 4. Input models and mutation lanes
143
+
144
+ Map every barrier to an input lane.
145
+
146
+ ### Raw lane
147
+
148
+ Mutate bytes without repairing syntax. This owns malformed encoding, length, delimiter, checksum,
149
+ partial token, parser progress, error recovery, and boundary memory safety.
150
+
151
+ ### Structured lane
152
+
153
+ Decode to a bounded object, AST, message, operation list, or purpose-built intermediate form. Mutate
154
+ fields, enum values, optional presence, repeated elements, subtrees, nesting, and sequence structure,
155
+ then serialize deterministically.
156
+
157
+ The structured decoder and serializer must be total for bounded input, reject impossible sizes
158
+ before allocation, and make progress. Shared production recognition logic can reproduce the same bug
159
+ in generator and target; keep critical test decoding simple or independently checked.
160
+
161
+ ### Repair, mismatch, and overflow lanes
162
+
163
+ - Repair: update all dependent lengths, offsets, checksums, compression frames, or test signatures
164
+ so inner code remains reachable.
165
+ - Mismatch: corrupt exactly one dependency while preserving the rest to exercise validation,
166
+ rollback, and error mapping.
167
+ - Overflow: bias declared and actual sizes around zero, one, signed and unsigned boundaries,
168
+ maximum minus one, maximum, maximum plus one, alignment, varint length, chunk size, and depth.
169
+
170
+ Do not always repair and do not always corrupt. Either extreme starves a distinct class of behavior.
171
+
172
+ ### Wrapped payload lane
173
+
174
+ For compression, encryption, or signatures, retain:
175
+
176
+ - an outer raw lane that exercises envelope parsing and validation;
177
+ - a wrapper mutator that decodes, mutates, and regenerates with test-owned keys or configuration; and
178
+ - an inner payload target that starts after the expensive gate.
179
+
180
+ Never store production keys or claim the inner target covers the outer validation.
181
+
182
+ ### Metamorphic and generated relations
183
+
184
+ Use relations with explicit preconditions: reorder an unordered map, alter chunk partitions without
185
+ altering bytes, add grammar-neutral trivia, normalize twice, or serialize a semantically equal
186
+ object. Reject transformations whose precondition the generator cannot prove.
187
+
188
+ ## 5. Instrumentation and feedback
189
+
190
+ Confirm instrumentation by module and frontier, not by a rising global number.
191
+
192
+ - List target-owned static libraries, shared libraries, generated code, plugins, subprocesses, and
193
+ child runtimes.
194
+ - Confirm new features or program counters originate in the intended module.
195
+ - Use allowlists or blocklists to reduce dependency, logging, allocator, or runtime noise without
196
+ excluding owned parsing or execution paths.
197
+ - When context or n-gram coverage expands the feature space, size the map or feature storage and
198
+ measure collision or corpus growth.
199
+ - Do not instrument only the parent when work happens in an unobserved subprocess.
200
+
201
+ Match feedback to a named barrier:
202
+
203
+ | Barrier | Candidate feedback or change |
204
+ | --- | --- |
205
+ | Fixed magic, string, integer, or switch | dictionary, compare tracing, value profile |
206
+ | Input transformed before compare | transformation-aware comparison or structured lane |
207
+ | Coupled length, offset, checksum | repair and mismatch lanes |
208
+ | Same edges, different semantic state | stable domain feature or state identifier |
209
+ | Correct multi-message prefix required | sequence seeds and state feedback |
210
+ | Rare frontier seed is starved | rare-path or directed campaign lane |
211
+ | Feature explosion or instability | normalize, reduce, or remove noisy feature |
212
+ | No target features | repair instrumentation boundary |
213
+
214
+ Edge coverage is a cheap proxy. Value, compare, data-flow, context, AST-shape, state, or semantic
215
+ features may improve guidance but can slow execution and inflate the corpus. Measure feature growth,
216
+ collision or cardinality risk, corpus cost, and net frontier progress before assigning them broadly.
217
+
218
+ ## 6. Corpus, dictionary, and regression seeds
219
+
220
+ Maintain a minimal seed basis, not an archive.
221
+
222
+ Each seed should open a distinct grammar construct, semantic state, protocol transition, error path,
223
+ or feedback feature. Prefer the shortest and fastest seed that retains that role. Record roles when
224
+ plain edge coverage would merge semantically distinct seeds.
225
+
226
+ Include small valid and invalid seeds. Starting empty can work for simple byte formats, but complex
227
+ grammars and state machines usually waste time relearning reachable prefixes.
228
+
229
+ Build dictionaries from:
230
+
231
+ - grammar terminals and delimiters;
232
+ - magic bytes, versions, extension ids, and enum spellings;
233
+ - field and command names;
234
+ - escape forms and special literals;
235
+ - comparison constants observed in target-owned code; and
236
+ - tokens that intentionally open error families.
237
+
238
+ Every entry must use the selected engine's current dictionary syntax. Huge arbitrary word lists add
239
+ mutation choices without opening structure.
240
+
241
+ Production-derived inputs require sanitization, minimization, and provenance. Remove credentials,
242
+ personal data, customer content, internal hosts, and secrets before version control. Prefer synthetic
243
+ equivalents when they preserve the same feature.
244
+
245
+ Retain every fixed crash, timeout, OOM, discrepancy, and invariant artifact that adds a distinct
246
+ regression. Corpus minimization may remove coverage duplicates, but it must not delete a seed whose
247
+ semantic or state feature is outside the minimizer's observation model.
248
+
249
+ ## 7. Streaming, stateful, and failure-injection inputs
250
+
251
+ Encode the full reproduction schedule into the artifact.
252
+
253
+ For streaming, store or derive:
254
+
255
+ - payload bytes;
256
+ - read or chunk sizes, including zero or short chunks;
257
+ - retryable-error insertion points;
258
+ - EOF position and finalization calls;
259
+ - partial-write capacities and flush points; and
260
+ - decoder or parser mode options.
261
+
262
+ Compare one-shot, every short split, biased boundary splits, and randomized chunk schedules. The
263
+ same bytes must have equivalent meaning unless the API contract intentionally exposes delivery
264
+ boundaries.
265
+
266
+ For stateful targets, represent each artifact as an operation or message sequence. Mutate payloads
267
+ and sequence shape separately:
268
+
269
+ - insert, delete, duplicate, reorder, and replay;
270
+ - reconnect, reset, retry, and stale-token reuse;
271
+ - begin, commit, rollback, abort, and partial failure;
272
+ - authentication success and failure using test-owned identities;
273
+ - transport fault, timeout, short write, and disconnect.
274
+
275
+ A response code alone may not identify protocol state. Prefer an explicit stable state enum and
276
+ important flags. If using response or memory-derived state, normalize addresses, timestamps,
277
+ uninitialized padding, transient buffers, random ids, and other high-cardinality noise before
278
+ feature generation.
279
+
280
+ For fault injection, let artifact bytes select the N-th allocation, read, write, flush, commit,
281
+ network, or callback failure. Assert cleanup, rollback, cursor, retry, idempotency, and resource
282
+ release. Do not use random failure timing that cannot be replayed.
283
+
284
+ ## 8. Campaign diversity and plateau diagnosis
285
+
286
+ Assign worker or campaign roles by hypothesis:
287
+
288
+ - baseline raw mutation;
289
+ - structured or grammar-aware mutation;
290
+ - repaired-envelope mutation;
291
+ - compare or value barriers;
292
+ - rare-path or directed frontier;
293
+ - stateful sequence exploration;
294
+ - sanitizer or detector axis;
295
+ - release-like optimized replay; and
296
+ - differential implementation or version comparison.
297
+
298
+ Do not assume more identical workers equal more search diversity. Record which lane contributes new
299
+ features and unique defects. Merge useful artifacts through an owned bounded process; avoid turning
300
+ one shared directory into an I/O bottleneck or nondeterministic triage source.
301
+
302
+ When coverage plateaus, inspect the last meaningful frontier and classify the next condition:
303
+
304
+ 1. early validation rejects almost everything;
305
+ 2. multi-byte comparison blocks progress;
306
+ 3. dependent fields are broken by mutation;
307
+ 4. payload is hidden by compression, encryption, or signature;
308
+ 5. operation or message order is required;
309
+ 6. global state or environment makes feedback unstable;
310
+ 7. initialization dominates iteration time;
311
+ 8. mutation units do not match semantic units;
312
+ 9. target code is not instrumented or features collide;
313
+ 10. frontier seeds receive too little mutation energy;
314
+ 11. semantic progress occurs without a new edge; or
315
+ 12. the path is unreachable under supported input.
316
+
317
+ Change the harness, input lane, feedback, seed, or dead-code decision that owns the barrier. Do not
318
+ treat longer runtime or more cores as a universal correction.
319
+
320
+ ## 9. Artifact reproduction and bounded regression
321
+
322
+ An artifact record should bind:
323
+
324
+ - target and entrypoint identity;
325
+ - exact source and build identity;
326
+ - sanitizer, detector, oracle, optimization, and architecture axis;
327
+ - raw bytes plus structured decoder version;
328
+ - chunk, operation, environment, and fault schedule;
329
+ - expected normalized failure class;
330
+ - input and resource limits;
331
+ - original and minimized hashes; and
332
+ - triage status and duplicate relationship.
333
+
334
+ Reproduce first in a clean process with the same build. If reproduction fails, inspect prior-input
335
+ state, unjoined work, time, RNG, locale, files, network, heap layout, undefined behavior, and tool
336
+ version before declaring the product fixed or the artifact flaky.
337
+
338
+ Shrink all causal dimensions: bytes, object fields, sequence length, chunk schedule, failure point,
339
+ options, environment, and implementation set. Preserve the failure class or normalized discrepancy,
340
+ not incidental log text.
341
+
342
+ CI or ordinary tests should build the target and replay bounded seed and regression corpora when the
343
+ repository configures those paths. A replay proves historical inputs remain safe; it does not prove
344
+ the current search campaign explored all relevant behavior.
345
+
346
+ Report separately:
347
+
348
+ - harness build and deterministic smoke;
349
+ - seed or regression corpus replay;
350
+ - sanitizer or detector replay;
351
+ - coverage and frontier evidence;
352
+ - bounded CI fuzz smoke;
353
+ - long-running local or external campaign state; and
354
+ - artifact triage and remediation state.
355
+
356
+ ## 10. Primary anchors
357
+
358
+ Use these primary sources to refresh tool-specific facts:
359
+
360
+ - [LLVM libFuzzer](https://llvm.org/docs/LibFuzzer.html): narrow deterministic targets, corpus
361
+ mutation and merge, dictionaries, value profiles, limits, artifact minimization, and sanitizer
362
+ integration.
363
+ - [Clang SanitizerCoverage](https://clang.llvm.org/docs/SanitizerCoverage.html): edge and block
364
+ instrumentation, compare and data-flow tracing, and instrumentation allowlists or blocklists.
365
+ - [OSS-Fuzz ideal integration](https://google.github.io/oss-fuzz/advanced-topics/ideal-integration/):
366
+ source-owned targets, minimal seed corpora, dictionaries, sanitizer regression replay, coverage,
367
+ and target performance.
368
+ - [Google structure-aware fuzzing](https://github.com/google/fuzzing/blob/master/docs/structure-aware-fuzzing.md):
369
+ custom mutators, structured intermediate forms, compressed inputs, and stateful API sequences.
370
+ - [AFL++ fuzzing in depth](https://aflplus.plus/docs/fuzzing_in_depth/): instrumentation,
371
+ persistent mode, compare barriers, corpus handling, campaign diversity, and triage.
372
+ - [AFL++ power schedules](https://aflplus.plus/docs/power_schedules/): seed energy and
373
+ low-frequency path strategies.
374
+ - [libprotobuf-mutator](https://github.com/google/libprotobuf-mutator): protobuf-backed structured
375
+ mutation and crossover for libFuzzer-compatible targets.
376
+ - [The HTTP Garden](https://arxiv.org/abs/2405.17737): coverage-guided differential fuzzing of
377
+ request streams and normalized interpretation discrepancies.
378
+ - [StateAFL](https://arxiv.org/abs/2110.06253): multi-message stateful fuzzing and normalized
379
+ long-lived state feedback.