semantic-memory 0.5.1

Local-first hybrid semantic search (SQLite + FTS5 + usearch 2.25) with bitemporal truth and typed receipts
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
id,severity,confidence,area,file,line,title,why_it_matters,suggested_fix,source
SM-AUD-0001,P0,confirmed,packaging,semantic-memory-generic-rust-next-codex-context-20260511.report.md,1,Archive is not hermetic despite passing certifier,Cargo metadata succeeded from parent /Coding/Libraries workspace with 326 packages/30 workspace members while the archive has zero workspace manifests. A clean extractor may fail or resolve differently.,"Add an archive-root Cargo.toml workspace, or remove workspace-only dependency/lint reliance; validate from fresh extraction.",manual
SM-AUD-0002,P0,confirmed,packaging,semantic-memory/Cargo.toml,1,No packaged root workspace manifest for included local crates,"The zip includes semantic-memory plus three path roots, but no top-level workspace manifest tying them together.","Generate a root Cargo.toml with members semantic-memory, stack-ids, semantic-memory-forge, forge-memory-bridge.",manual
SM-AUD-0003,P0,confirmed,packaging,semantic-memory/Cargo.lock,1,Multiple Cargo.lock files create ambiguous dependency source of truth,"Each included package has its own lockfile; without a packaged root workspace, dependency resolution can differ between crates.",Use one workspace lockfile at archive root for review builds or document crate-by-crate build commands.,manual
SM-AUD-0004,P0,confirmed,embedding,semantic-memory/src/documents.rs,324,Document ingest silently truncates chunks on embedder batch-count mismatch,"text_chunks.iter().zip(embeddings.iter()) drops chunks if the embedder returns fewer vectors, and ignores extra vectors.",Centralize embed_batch validation: returned len must equal requested len before any write.,manual
SM-AUD-0005,P0,confirmed,embedding,semantic-memory/src/lib.rs,1254,Fact re-embedding silently truncates on batch-count mismatch,Batch rows are zipped with embeddings; fewer embeddings still increments fact_count by batch.len().,Fail loudly on batch-count mismatch before constructing updates.,manual
SM-AUD-0006,P0,confirmed,embedding,semantic-memory/src/lib.rs,1314,Chunk re-embedding silently truncates on batch-count mismatch,Batch rows are zipped with embeddings; missing embeddings leave stale rows while progress counters report success.,Fail loudly on batch-count mismatch before update transaction.,manual
SM-AUD-0007,P0,confirmed,embedding,semantic-memory/src/lib.rs,1374,Message re-embedding silently truncates on batch-count mismatch,Batch rows are zipped with embeddings; message embeddings can be partially refreshed without being reported.,Fail loudly on batch-count mismatch before update transaction.,manual
SM-AUD-0008,P0,confirmed,embedding,semantic-memory/src/lib.rs,1434,Episode re-embedding silently truncates on batch-count mismatch,Batch rows are zipped with embeddings; missing episode embeddings can leave stale recall state.,Fail loudly on batch-count mismatch before update transaction.,manual
SM-AUD-0009,P0,confirmed,embedding,semantic-memory/src/lib.rs,536,Public embedding validation is dimension-only,"validate_embedding_dimensions checks length but not NaN/Inf, while HNSW later rejects non-finite values; SQLite can still store bad f32 blobs.",Replace with validate_embedding that checks dimensions and all components finite.,manual
SM-AUD-0010,P0,confirmed,delete/integrity,semantic-memory/src/documents.rs,109,delete_document does not explicitly clean episode derived state,"Document deletion removes chunks/docs but not episode_causes, episodes_fts, episodes_rowid_map, or episode HNSW ops before cascade/cleanup boundaries.",Collect episode_ids first and delete all episode derived surfaces plus queued HNSW deletes in one transaction.,manual
SM-AUD-0011,P0,probable,delete/integrity,semantic-memory/src/documents.rs,109,delete_document can leave stale HNSW episode keys,"If episodes are cascaded from documents, HNSW sidecar does not know about episode deletes unless explicit pending ops are queued.",Queue Delete for every episode:{episode_id} before deleting the document.,manual
SM-AUD-0012,P0,confirmed,search,semantic-memory/src/search.rs,272,Vector scan uses bytemuck::try_cast_slice on SQLite Vec<u8>,SQLite blobs are byte vectors; casting requires alignment and native endian assumptions. Valid blobs may fail or decode incorrectly on non-little-endian targets.,Use db::bytes_to_embedding for all blob decoding; avoid bytemuck on storage bytes.,manual
SM-AUD-0013,P0,confirmed,hnsw,semantic-memory/src/hnsw.rs,501,HNSW sidecar loader allocates raw byte_len from file without cap,A corrupt sidecar can declare a huge byte length and trigger large allocation before validation.,Require byte_len == dimensions*4 and <= configured max before allocation.,manual
SM-AUD-0014,P0,confirmed,hnsw,semantic-memory/src/hnsw.rs,460,HNSW data format stores dimensions using usize,usize serialization is platform-width dependent; sidecar created on 64-bit may not load on 32-bit and is not a stable portable format.,Use fixed-width u32/u64 little-endian fields with versioned header.,manual
SM-AUD-0015,P0,probable,hnsw,semantic-memory/src/hnsw.rs,142,HNSW save is not atomic,file_dump writes directly; crash or process kill can leave partial graph/data sidecars.,"Write to temp files, fsync, then atomic rename graph/data/keymap as a set.",manual
SM-AUD-0016,P0,confirmed,hnsw,semantic-memory/src/hnsw_ops.rs,184,Pending HNSW mutations are applied before sidecar save succeeds,"If save fails after mutating in-memory index, pending ops remain and can be applied again, creating duplicate tombstones/nodes.",Build/save a snapshot or roll back in-memory mutations on save failure.,manual
SM-AUD-0017,P0,confirmed,hnsw,semantic-memory/src/hnsw_ops.rs,192,Pending upsert calls insert instead of update,"Upsert on an existing key allocates a new node and tombstones the old node, increasing graph bloat on repeated retries.",Use update() or replace semantics for existing keys; dedupe pending ops by key.,manual
SM-AUD-0018,P0,confirmed,hnsw,semantic-memory/src/lib.rs,669,HNSW sidecar save clones Arc while graph can still mutate,Cloning HnswIndex does not snapshot the underlying graph; concurrent writes can mutate while save is in progress.,Hold exclusive lock during save or introduce immutable snapshot serialization.,manual
SM-AUD-0019,P0,confirmed,hnsw,semantic-memory/src/hnsw.rs,429,Graph sidecar validation only checks non-empty file,validate_graph_sidecar does not verify magic/version/consistency with data/keymap.,Validate graph/data/keymap together with checksums and stored dimensions/counts.,manual
SM-AUD-0020,P0,confirmed,integrity,semantic-memory/src/lib.rs,730,"HNSW integrity is count-based, not key-level","Equal counts can hide wrong mappings, stale IDs, or wrong source types.",Verify each keymap key maps to a live row and each live embedded row has a matching key.,manual
SM-AUD-0021,P0,confirmed,integrity,semantic-memory/src/db.rs,1400,FTS integrity count checks use dynamic table names and count parity only,Count parity can pass despite rowid/content mismatches.,Perform key-level rowid_map/content checks for every FTS-backed table.,manual
SM-AUD-0022,P0,confirmed,search,semantic-memory/src/search.rs,61,cosine_similarity truncates mismatched vectors in release builds,debug_assert_eq is disabled in release; zip then compares only the shorter length.,Return Result or validate dimensions before zip in all builds.,manual
SM-AUD-0023,P0,confirmed,search,semantic-memory/src/search.rs,290,cosine similarity accepts non-finite stored/query vectors,NaN/Inf can produce NaN scores and unstable sorting.,Validate finite vectors before storage and skip/error on non-finite during reads.,manual
SM-AUD-0024,P0,confirmed,search,semantic-memory/src/search.rs,963,HNSW filtered search can return empty results without brute-force fallback,"HNSW gets global candidates before namespace/session/source-type filters; if filtered candidates are removed, valid rows outside the top candidate pool are missed.",Overfetch adaptively after filters or fallback to brute force when post-filter hits < k.,manual
SM-AUD-0025,P0,confirmed,search,semantic-memory/src/conversation.rs,683,conversation HNSW search runs blocking CPU work on async thread,"It directly holds the HNSW read lock and searches in async context, unlike main hnsw_search_blocking.",Route through spawn_blocking helper.,manual
SM-AUD-0026,P0,confirmed,delete/integrity,semantic-memory/src/knowledge.rs,143,delete_fact does not clean episode_causes references,"Deleting a fact queues HNSW delete and removes FTS, but episodes may still cite the fact as a cause.",Delete or mark episode_causes rows referencing the fact and update affected episode search/provenance.,manual
SM-AUD-0027,P0,probable,delete/integrity,semantic-memory/src/knowledge.rs,181,update_fact does not update dependent episode/projection search text,Fact content changes can make derived episode/projection references semantically stale.,Record invalidation edges or recompute affected derived search surfaces.,manual
SM-AUD-0028,P1,confirmed,api,semantic-memory/src/knowledge.rs,236,delete_namespace returns only fact count despite deleting many entity types,The API return value underreports blast radius and can make receipts/logs false.,Return NamespaceDeleteReport with counts per entity/table/op.,manual
SM-AUD-0029,P1,confirmed,hnsw,semantic-memory/src/lib.rs,369,Open-time HNSW rebuild/degrade policy is implicit,The open path may rebuild/clear/swap indexes based on metadata without an explicit user-visible startup policy.,Expose HnswStartupPolicy and health status.,manual
SM-AUD-0030,P1,confirmed,hnsw,semantic-memory/src/lib.rs,403,SQL errors while counting embeddings are swallowed as zero,query_row(...).unwrap_or(0) can suppress a DB error and avoid needed rebuild.,Propagate DB errors during integrity decisions.,manual
SM-AUD-0031,P1,confirmed,hnsw,semantic-memory/src/lib.rs,455,Orphan-count SQL errors are swallowed as zero,A failed orphan check can make a stale keymap appear clean.,Propagate the error or force degraded/rebuild state.,manual
SM-AUD-0032,P1,confirmed,hnsw,semantic-memory/src/hnsw.rs,310,Missing hnsw_keymap table silently leaves loaded graph without keys,load_keymap returns Ok with empty keymap; graph points become unresolvable.,"Treat graph+missing keymap as degraded/rebuild, not clean load.",manual
SM-AUD-0033,P1,confirmed,hnsw,semantic-memory/src/hnsw.rs,353,Malformed next_id metadata falls back silently,Invalid next_id is parsed with ok/unwrap_or graph point count.,Report error or mark sidecar stale when metadata is malformed.,manual
SM-AUD-0034,P1,confirmed,hnsw,semantic-memory/src/hnsw.rs,222,HNSW len can report nonzero even when keymap is empty,"len uses graph point count minus deleted IDs, not resolvable key count.",Expose separate graph_len and live_key_count; search should use resolvable key count.,manual
SM-AUD-0035,P1,confirmed,hnsw,semantic-memory/src/hnsw.rs,185,Tombstone overfetch is too naive,fetch_count = top_k + deleted_ids.len() still can miss valid neighbors if tombstones cluster near the query.,Iteratively overfetch until enough live hits or graph exhausted.,manual
SM-AUD-0036,P1,confirmed,hnsw,semantic-memory/src/hnsw.rs,250,deleted_ratio may divide using graph count that includes unreachable/unmapped points,Compaction threshold can be misleading if keymap drift exists.,Compute deleted/live ratios from verified keymap state.,manual
SM-AUD-0037,P1,confirmed,hnsw,semantic-memory/src/hnsw.rs,496,u64 node id is cast to usize without range check,Sidecar with node id > usize::MAX truncates on 32-bit and can corrupt mapping.,TryFrom<u64> with explicit error.,manual
SM-AUD-0038,P1,confirmed,hnsw,semantic-memory/src/hnsw.rs,383,insert ignores return/status from hnsw_rs graph.insert,"If insertion fails or panics internally, keymap may still be updated.",Wrap insert in catch_unwind if needed and use API result if available; update keymap only after success.,manual
SM-AUD-0039,P1,confirmed,hnsw,semantic-memory/src/hnsw_ops.rs,71,HNSW rebuild silently skips invalid fact embeddings,"db::bytes_to_embedding errors are ignored, producing an incomplete index.",Count skipped rows and return degraded integrity finding.,manual
SM-AUD-0040,P1,confirmed,hnsw,semantic-memory/src/hnsw_ops.rs,89,HNSW rebuild silently skips invalid chunk embeddings,Invalid embeddings are dropped without a repair error.,Count skipped rows and expose rebuild diagnostics.,manual
SM-AUD-0041,P1,confirmed,hnsw,semantic-memory/src/hnsw_ops.rs,107,HNSW rebuild silently skips invalid message embeddings,Invalid message embeddings are dropped without a repair error.,Count skipped rows and expose rebuild diagnostics.,manual
SM-AUD-0042,P1,confirmed,hnsw,semantic-memory/src/hnsw_ops.rs,125,HNSW rebuild silently skips invalid episode embeddings,Invalid episode embeddings are dropped without a repair error.,Count skipped rows and expose rebuild diagnostics.,manual
SM-AUD-0043,P1,confirmed,hnsw,semantic-memory/src/hnsw_ops.rs,205,clear_pending_index_ops is all-or-nothing per processed key list after sidecar save,"If keymap flush succeeds but clear fails, mutations may be replayed and duplicate/tombstone bloat occurs.",Use transactional state machine with op generation numbers and idempotent upsert.,manual
SM-AUD-0044,P1,confirmed,q8,semantic-memory/src/lib.rs,1256,q8 optionality conflicts with integrity expectations,"Code comments say q8 is optional/non-fatal, but full integrity can treat missing q8 as an issue.","Define compressed vectors as mandatory or optional; align write, repair, and integrity.",manual
SM-AUD-0045,P1,confirmed,q8,semantic-memory/src/quantize.rs,1,q8 baseline lacks explicit versioned storage envelope,Packed q8 bytes need version/dims/scale metadata for future TurboQuant coexistence.,"Add a vector-codec envelope with codec, version, dim, checksum, and params.",manual
SM-AUD-0046,P1,confirmed,search,semantic-memory/src/search.rs,102,Invalid timestamp becomes maximally fresh,days_since(ts).unwrap_or(0.0) makes parse failures age 0 after a warning.,Treat invalid timestamps as no recency contribution or stale.,manual
SM-AUD-0047,P1,confirmed,search,semantic-memory/src/search.rs,85,recency scoring uses wall-clock inside ranking,Utc::now makes ranking nondeterministic and hard to test/replay.,Inject clock into SearchConfig or query context.,manual
SM-AUD-0048,P1,confirmed,search,semantic-memory/src/lib.rs,851,candidate_pool_size.max(k * 3) can overflow,usize multiplication can overflow for large top_k.,Use k.saturating_mul(3) and cap top_k.,manual
SM-AUD-0049,P1,confirmed,search,semantic-memory/src/lib.rs,954,Second candidate_pool_size.max(k * 3) overflow surface,Same unbounded top_k multiplication appears in another search path.,Use saturating_mul and configured max_top_k.,manual
SM-AUD-0050,P1,confirmed,search,semantic-memory/src/lib.rs,1033,Third candidate_pool_size.max(k * 3) overflow surface,Same unbounded top_k multiplication appears in another path.,Use saturating_mul and configured max_top_k.,manual
SM-AUD-0051,P1,confirmed,search,semantic-memory/src/conversation.rs,683,conversation candidate_pool_size.max(k * 3) overflow surface,Unbounded top_k multiplication in conversation search.,Use saturating_mul and configured max_top_k.,manual
SM-AUD-0052,P1,confirmed,conversation,semantic-memory/src/conversation.rs,172,Unknown token counts are treated as zero in budget selection,Messages with missing token_count can bypass max_tokens.,Recompute missing token_count or treat unknown as conservative upper bound.,manual
SM-AUD-0053,P1,confirmed,conversation,semantic-memory/src/conversation.rs,173,Token budget addition can overflow u32,total_tokens + msg_tokens may overflow before comparison.,Use checked_add/saturating_add and error or clamp.,manual
SM-AUD-0054,P1,confirmed,conversation,semantic-memory/src/conversation.rs,185,session_token_count casts negative SQL sum to u64,"If corrupt rows contain negative token_count, cast wraps to huge positive.",Validate nonnegative aggregate before conversion.,manual
SM-AUD-0055,P1,probable,validation,semantic-memory/src/conversation.rs,63,Session/channel identifiers are not consistently length/whitespace validated,Malformed or huge identifiers can leak into storage and logs.,"Centralize validation for session_id, channel, namespace, title, source URI.",manual
SM-AUD-0056,P1,probable,validation,semantic-memory/src/documents.rs,315,Document title/source/metadata size validation is weaker than content validation,Large metadata/title/source strings can bloat DB and docs.,Add max lengths and metadata byte caps.,manual
SM-AUD-0057,P1,probable,validation,semantic-memory/src/episodes.rs,393,Episode search limit is unbounded,A caller can request a huge limit and cause large result materialization.,Cap limit using config max_top_k/max_query_rows.,manual
SM-AUD-0058,P1,confirmed,api,semantic-memory/src/episodes.rs,437,search_episodes drops episode_id and returns document_id,Multiple episodes per document cannot be distinguished by caller.,Return episode_id plus document_id or a typed EpisodeSearchResult.,manual
SM-AUD-0059,P1,confirmed,diagnostics,semantic-memory/src/episodes.rs,452,Episode parse errors report document_id instead of episode_id,"Diagnostic row id for cause_ids/outcome/status points to document_id, not the episode row.",Use episode_id in parse helpers.,manual
SM-AUD-0060,P1,confirmed,episodes,semantic-memory/src/episodes.rs,285,INSERT OR IGNORE collapses duplicate cause IDs silently,Duplicate causes with different ordinal positions are discarded.,Validate and reject duplicate cause_ids or preserve multiplicity intentionally.,manual
SM-AUD-0061,P1,confirmed,episodes,semantic-memory/src/episodes.rs,360,update_episode_outcome cannot clear experiment_id,"COALESCE(?3, experiment_id) preserves old experiment_id when None is passed.",Add explicit clear operation or Option<Option<String>> semantics.,manual
SM-AUD-0062,P1,probable,keys,semantic-memory/src/hnsw.rs,58,HNSW key parsing split_once(:) is fragile for IDs containing colon,Episode/document/user-provided IDs may contain colon unless validated.,Use structured key encoding or reject colon in IDs.,manual
SM-AUD-0063,P1,probable,keys,semantic-memory/src/search.rs,119,Message dedup key uses session_id:message_id delimiter,"If session_id contains colon, downstream parsing/dedup diagnostics can become ambiguous.",Use tuple type internally or escaped/keyed serialization.,manual
SM-AUD-0064,P1,probable,foreign-keys,semantic-memory/src/db.rs,1,Correctness depends on PRAGMA foreign_keys being enabled for every pooled connection,Cascades/derived cleanup assumptions fail if a connection misses the pragma.,Assert PRAGMA foreign_keys=ON after every connection checkout.,manual
SM-AUD-0065,P1,probable,db,semantic-memory/src/db.rs,558,PRAGMA max_page_count computed with dynamic formatting,"Even though value is numeric, config-derived PRAGMA should be validated/capped.",Validate max_page_count range before execute.,manual
SM-AUD-0066,P1,confirmed,db,semantic-memory/src/db.rs,705,Dynamic table_info table name formatting relies on internal callers only,"If any caller ever passes user input, PRAGMA table_info becomes injection-prone.",Make table an enum or whitelist.,manual
SM-AUD-0067,P1,confirmed,db,semantic-memory/src/db.rs,715,Dynamic ALTER TABLE formatting relies on internal table/column whitelists,Schema migration helpers must not accept arbitrary strings.,Make migration table/column identifiers enum-backed.,manual
SM-AUD-0068,P1,confirmed,db,semantic-memory/src/db.rs,1400,Dynamic SELECT COUNT table name relies on internal map table list,Future caller could turn table name into SQL injection.,Use enum/constant-only function signature.,manual
SM-AUD-0069,P1,probable,sqlite,semantic-memory/src/db.rs,1,SQLite WAL/checkpoint/backpressure policy not visible in archive-level docs,Long-running local stores need defined WAL/checkpoint/backup behavior.,"Document and test WAL mode, busy timeout, checkpoint, and backup semantics.",manual
SM-AUD-0070,P1,probable,pool,semantic-memory/src/pool.rs,1,Connection pool shutdown/poison behavior needs stress coverage,"spawn_blocking and pool handoff may hide panics as Other, but lifecycle correctness needs proof.",Add pool close/drop/concurrent open tests under load.,manual
SM-AUD-0071,P1,probable,projection,semantic-memory/src/projection_storage.rs,1,Projection storage integrity is likely separate from memory integrity,Projection tables are substantial but not obviously covered by full integrity parity.,"Add projection-level integrity: rows, derivations, episodes, imports, claim versions.",manual
SM-AUD-0072,P1,probable,projection,semantic-memory/src/projection_storage_query.rs,271,Projection query uses unwrap_or_default for missing claim/source IDs,"Missing IDs become empty strings, hiding malformed rows.",Return structured parse/error instead of default empty identifiers.,manual
SM-AUD-0073,P1,confirmed,bridge,forge-memory-bridge/src/transform.rs,301,"Bridge transform uses unwrap_or_default, potentially hiding malformed optional payloads",Defaulting in bridge paths can mask corrupted envelope fields.,Emit explicit transform error or warning with field name.,manual
SM-AUD-0074,P1,probable,import,semantic-memory/src/json_compat_import.rs,25,JSON import begins with from_str(...).ok(),Malformed JSON is converted into None instead of a typed parse error at the earliest boundary.,Preserve parse error and source payload hash in import receipt.,manual
SM-AUD-0075,P1,probable,import,semantic-memory/src/projection_legacy_compat.rs,127,Legacy compatibility serializes with unwrap_or_default,"Serialization failure becomes empty string, which can look like valid empty JSON.",Return error on serialization failure.,manual
SM-AUD-0076,P1,probable,security,semantic-memory/src/embedder.rs,127,HTTP embedder response body uses unwrap_or_default on error,Failed response body read can erase useful diagnostic details.,Propagate body-read error or preserve status + partial diagnostics.,manual
SM-AUD-0077,P1,probable,security,semantic-memory/src/embedder.rs,1,External embedder failure modes need retry/backoff/rate-limit policy,Embedding APIs are external/unreliable; partial failures are currently risky for batch workflows.,"Add retry policy, per-batch timeout, and idempotent transaction boundaries.",manual
SM-AUD-0078,P2,confirmed,docs,semantic-memory/CLAUDE_CODE_PROMPT.md,1,Prompt docs are packaged at project root,Prompt artifacts are useful internally but noisy for external review.,Move prompt files under docs/internal/codex/ or exclude public packages.,manual
SM-AUD-0079,P2,confirmed,docs,semantic-memory/IMPLEMENTATION_PROMPT.md,1,Implementation prompt is packaged at project root,Root prompt files dilute the README/API/architecture signal.,Archive or relocate prompt files.,manual
SM-AUD-0080,P2,confirmed,docs,semantic-memory/PATCH_PROMPT.md,1,Patch prompt is packaged at project root,Root patch prompt looks stale/internal to reviewers.,Archive or relocate prompt files.,manual
SM-AUD-0081,P2,confirmed,docs,semantic-memory/V2_PATCH_PROMPT.md,1,V2 patch prompt is packaged at project root,Stale patch prompt can confuse source of truth.,Archive or relocate prompt files.,manual
SM-AUD-0082,P2,confirmed,docs,semantic-memory/semantic-memory-generic-rust-next-codex-context-20260507.codex-archive.json,1,Prior codex sidecar is included in current source package,The previous codex archive report is not source and can confuse current package state.,Exclude generated/codex sidecars consistently.,manual
SM-AUD-0083,P2,confirmed,permissions,manifest,1,Most source/docs are marked executable,Executable bits on .rs/.md/.toml/.lock files create noisy diffs and false script signals.,"Normalize permissions: 0644 for non-scripts, 0755 only for actual executables.",manual
SM-AUD-0084,P2,confirmed,ci,manifest,1,No packaged CI workflow surface,The archive does not show .github/workflows for cargo check/test/clippy/doc.,"Add CI for all features, no-default-features variants, and clean extraction build.",manual
SM-AUD-0085,P2,confirmed,benchmarks,manifest,1,No benchmark suite/result artifact included,TurboQuant/HNSW/q8 claims need performance/recall evidence.,Add benches and BENCHMARKS.md with f32/q8/HNSW/TurboQuant matrix.,manual
SM-AUD-0086,P2,probable,structure,semantic-memory/src/lib.rs,1,lib.rs is very large and high blast-radius,Large orchestrator file makes localized correctness review harder.,Split store open/search/reembed/delete/integrity modules after P0 fixes.,manual
SM-AUD-0087,P2,probable,structure,semantic-memory/src/db.rs,1,db.rs is very large and high blast-radius,Schema/migration/metadata/ops all in one module reduce auditability.,Split schema/migrations/integrity/hnsw metadata helpers.,manual
SM-AUD-0088,P2,probable,structure,semantic-memory/src/search.rs,1,"search.rs combines lexical, vector, HNSW resolution, fusion, scoring",Mixed responsibilities make ranking bugs harder to isolate.,Split search/fts.rs vector.rs hnsw.rs fusion.rs explain.rs.,manual
SM-AUD-0089,P3,confirmed,permissions,forge-memory-bridge/AGENTS.md,,Non-script file is executable: forge-memory-bridge/AGENTS.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0090,P3,confirmed,permissions,forge-memory-bridge/Cargo.lock,,Non-script file is executable: forge-memory-bridge/Cargo.lock,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0091,P3,confirmed,permissions,forge-memory-bridge/Cargo.toml,,Non-script file is executable: forge-memory-bridge/Cargo.toml,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0092,P3,confirmed,permissions,forge-memory-bridge/src/batch.rs,,Non-script file is executable: forge-memory-bridge/src/batch.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0093,P3,confirmed,permissions,forge-memory-bridge/src/error.rs,,Non-script file is executable: forge-memory-bridge/src/error.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0094,P3,confirmed,permissions,forge-memory-bridge/src/legacy.rs,,Non-script file is executable: forge-memory-bridge/src/legacy.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0095,P3,confirmed,permissions,forge-memory-bridge/src/lib.rs,,Non-script file is executable: forge-memory-bridge/src/lib.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0096,P3,confirmed,permissions,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,,Non-script file is executable: forge-memory-bridge/tests/forge_bridge_memory_proof.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0097,P3,confirmed,permissions,semantic-memory-forge/Cargo.toml,,Non-script file is executable: semantic-memory-forge/Cargo.toml,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0098,P3,confirmed,permissions,semantic-memory-forge/src/bundle.rs,,Non-script file is executable: semantic-memory-forge/src/bundle.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0099,P3,confirmed,permissions,semantic-memory-forge/src/estimator.rs,,Non-script file is executable: semantic-memory-forge/src/estimator.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0100,P3,confirmed,permissions,semantic-memory-forge/src/lib.rs,,Non-script file is executable: semantic-memory-forge/src/lib.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0101,P3,confirmed,permissions,semantic-memory-forge/src/tool_receipt.rs,,Non-script file is executable: semantic-memory-forge/src/tool_receipt.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0102,P3,confirmed,permissions,semantic-memory-forge/src/v11.rs,,Non-script file is executable: semantic-memory-forge/src/v11.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0103,P3,confirmed,permissions,semantic-memory-forge/src/v13.rs,,Non-script file is executable: semantic-memory-forge/src/v13.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0104,P3,confirmed,permissions,semantic-memory-forge/src/v14.rs,,Non-script file is executable: semantic-memory-forge/src/v14.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0105,P3,confirmed,permissions,semantic-memory-forge/src/v9.rs,,Non-script file is executable: semantic-memory-forge/src/v9.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0106,P3,confirmed,permissions,semantic-memory/.gitignore,,Non-script file is executable: semantic-memory/.gitignore,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0107,P3,confirmed,permissions,semantic-memory/AGENTS.md,,Non-script file is executable: semantic-memory/AGENTS.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0108,P3,confirmed,permissions,semantic-memory/CLAUDE_CODE_PROMPT.md,,Non-script file is executable: semantic-memory/CLAUDE_CODE_PROMPT.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0109,P3,confirmed,permissions,semantic-memory/Cargo.lock,,Non-script file is executable: semantic-memory/Cargo.lock,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0110,P3,confirmed,permissions,semantic-memory/Cargo.toml,,Non-script file is executable: semantic-memory/Cargo.toml,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0111,P3,confirmed,permissions,semantic-memory/HNSWLIB_RS_REFERENCE.md,,Non-script file is executable: semantic-memory/HNSWLIB_RS_REFERENCE.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0112,P3,confirmed,permissions,semantic-memory/IMPLEMENTATION_PROMPT.md,,Non-script file is executable: semantic-memory/IMPLEMENTATION_PROMPT.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0113,P3,confirmed,permissions,semantic-memory/PATCH_PROMPT.md,,Non-script file is executable: semantic-memory/PATCH_PROMPT.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0114,P3,confirmed,permissions,semantic-memory/SPEC.md,,Non-script file is executable: semantic-memory/SPEC.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0115,P3,confirmed,permissions,semantic-memory/TESTING.md,,Non-script file is executable: semantic-memory/TESTING.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0116,P3,confirmed,permissions,semantic-memory/UPGRADE_SPEC.md,,Non-script file is executable: semantic-memory/UPGRADE_SPEC.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0117,P3,confirmed,permissions,semantic-memory/V1_1_AGENTS_ADDENDUM.md,,Non-script file is executable: semantic-memory/V1_1_AGENTS_ADDENDUM.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0118,P3,confirmed,permissions,semantic-memory/V1_1_SPEC_ADDENDUM.md,,Non-script file is executable: semantic-memory/V1_1_SPEC_ADDENDUM.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0119,P3,confirmed,permissions,semantic-memory/V1_1_TESTING_ADDENDUM.md,,Non-script file is executable: semantic-memory/V1_1_TESTING_ADDENDUM.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0120,P3,confirmed,permissions,semantic-memory/V2_AGENTS_ADDENDUM.md,,Non-script file is executable: semantic-memory/V2_AGENTS_ADDENDUM.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0121,P3,confirmed,permissions,semantic-memory/V2_PATCH_PROMPT.md,,Non-script file is executable: semantic-memory/V2_PATCH_PROMPT.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0122,P3,confirmed,permissions,semantic-memory/V2_SPEC_ADDENDUM.md,,Non-script file is executable: semantic-memory/V2_SPEC_ADDENDUM.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0123,P3,confirmed,permissions,semantic-memory/V2_TESTING_ADDENDUM.md,,Non-script file is executable: semantic-memory/V2_TESTING_ADDENDUM.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0124,P3,confirmed,permissions,semantic-memory/V3_AGENTS_ADDENDUM.md,,Non-script file is executable: semantic-memory/V3_AGENTS_ADDENDUM.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0125,P3,confirmed,permissions,semantic-memory/V3_CHANGE_MAP.md,,Non-script file is executable: semantic-memory/V3_CHANGE_MAP.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0126,P3,confirmed,permissions,semantic-memory/V3_SPEC.md,,Non-script file is executable: semantic-memory/V3_SPEC.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0127,P3,confirmed,permissions,semantic-memory/V3_TESTING.md,,Non-script file is executable: semantic-memory/V3_TESTING.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0128,P3,confirmed,permissions,semantic-memory/examples/basic_search.rs,,Non-script file is executable: semantic-memory/examples/basic_search.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0129,P3,confirmed,permissions,semantic-memory/examples/conversation_memory.rs,,Non-script file is executable: semantic-memory/examples/conversation_memory.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0130,P3,confirmed,permissions,semantic-memory/reference/chunk.rs,,Non-script file is executable: semantic-memory/reference/chunk.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0131,P3,confirmed,permissions,semantic-memory/reference/hybrid_search.rs,,Non-script file is executable: semantic-memory/reference/hybrid_search.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0132,P3,confirmed,permissions,semantic-memory/semantic-memory-spec.md,,Non-script file is executable: semantic-memory/semantic-memory-spec.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0133,P3,confirmed,permissions,semantic-memory/src/chunker.rs,,Non-script file is executable: semantic-memory/src/chunker.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0134,P3,confirmed,permissions,semantic-memory/src/config.rs,,Non-script file is executable: semantic-memory/src/config.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0135,P3,confirmed,permissions,semantic-memory/src/conversation.rs,,Non-script file is executable: semantic-memory/src/conversation.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0136,P3,confirmed,permissions,semantic-memory/src/db.rs,,Non-script file is executable: semantic-memory/src/db.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0137,P3,confirmed,permissions,semantic-memory/src/documents.rs,,Non-script file is executable: semantic-memory/src/documents.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0138,P3,confirmed,permissions,semantic-memory/src/embedder.rs,,Non-script file is executable: semantic-memory/src/embedder.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0139,P3,confirmed,permissions,semantic-memory/src/episodes.rs,,Non-script file is executable: semantic-memory/src/episodes.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0140,P3,confirmed,permissions,semantic-memory/src/error.rs,,Non-script file is executable: semantic-memory/src/error.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0141,P3,confirmed,permissions,semantic-memory/src/graph.rs,,Non-script file is executable: semantic-memory/src/graph.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0142,P3,confirmed,permissions,semantic-memory/src/hnsw.rs,,Non-script file is executable: semantic-memory/src/hnsw.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0143,P3,confirmed,permissions,semantic-memory/src/hnsw_ops.rs,,Non-script file is executable: semantic-memory/src/hnsw_ops.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0144,P3,confirmed,permissions,semantic-memory/src/json_compat_import.rs,,Non-script file is executable: semantic-memory/src/json_compat_import.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0145,P3,confirmed,permissions,semantic-memory/src/knowledge.rs,,Non-script file is executable: semantic-memory/src/knowledge.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0146,P3,confirmed,permissions,semantic-memory/src/lib.rs,,Non-script file is executable: semantic-memory/src/lib.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0147,P3,confirmed,permissions,semantic-memory/src/pool.rs,,Non-script file is executable: semantic-memory/src/pool.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0148,P3,confirmed,permissions,semantic-memory/src/projection_batch.rs,,Non-script file is executable: semantic-memory/src/projection_batch.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0149,P3,confirmed,permissions,semantic-memory/src/projection_derivation.rs,,Non-script file is executable: semantic-memory/src/projection_derivation.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0150,P3,confirmed,permissions,semantic-memory/src/projection_import.rs,,Non-script file is executable: semantic-memory/src/projection_import.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0151,P3,confirmed,permissions,semantic-memory/src/projection_lane.rs,,Non-script file is executable: semantic-memory/src/projection_lane.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0152,P3,confirmed,permissions,semantic-memory/src/projection_legacy_compat.rs,,Non-script file is executable: semantic-memory/src/projection_legacy_compat.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0153,P3,confirmed,permissions,semantic-memory/src/projection_storage.rs,,Non-script file is executable: semantic-memory/src/projection_storage.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0154,P3,confirmed,permissions,semantic-memory/src/quantize.rs,,Non-script file is executable: semantic-memory/src/quantize.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0155,P3,confirmed,permissions,semantic-memory/src/search.rs,,Non-script file is executable: semantic-memory/src/search.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0156,P3,confirmed,permissions,semantic-memory/src/storage.rs,,Non-script file is executable: semantic-memory/src/storage.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0157,P3,confirmed,permissions,semantic-memory/src/store_support.rs,,Non-script file is executable: semantic-memory/src/store_support.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0158,P3,confirmed,permissions,semantic-memory/src/tokenizer.rs,,Non-script file is executable: semantic-memory/src/tokenizer.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0159,P3,confirmed,permissions,semantic-memory/src/types.rs,,Non-script file is executable: semantic-memory/src/types.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0160,P3,confirmed,permissions,semantic-memory/tests/brute_force_parity.rs,,Non-script file is executable: semantic-memory/tests/brute_force_parity.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0161,P3,confirmed,permissions,semantic-memory/tests/chunker_tests.rs,,Non-script file is executable: semantic-memory/tests/chunker_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0162,P3,confirmed,permissions,semantic-memory/tests/compaction.rs,,Non-script file is executable: semantic-memory/tests/compaction.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0163,P3,confirmed,permissions,semantic-memory/tests/concurrent_access.rs,,Non-script file is executable: semantic-memory/tests/concurrent_access.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0164,P3,confirmed,permissions,semantic-memory/tests/conversation_search_tests.rs,,Non-script file is executable: semantic-memory/tests/conversation_search_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0165,P3,confirmed,permissions,semantic-memory/tests/conversation_tests.rs,,Non-script file is executable: semantic-memory/tests/conversation_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0166,P3,confirmed,permissions,semantic-memory/tests/db_tests.rs,,Non-script file is executable: semantic-memory/tests/db_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0167,P3,confirmed,permissions,semantic-memory/tests/episode_identity.rs,,Non-script file is executable: semantic-memory/tests/episode_identity.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0168,P3,confirmed,permissions,semantic-memory/tests/hardening_semantics.rs,,Non-script file is executable: semantic-memory/tests/hardening_semantics.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0169,P3,confirmed,permissions,semantic-memory/tests/hardening_v5.rs,,Non-script file is executable: semantic-memory/tests/hardening_v5.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0170,P3,confirmed,permissions,semantic-memory/tests/hnsw_hotswap.rs,,Non-script file is executable: semantic-memory/tests/hnsw_hotswap.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0171,P3,confirmed,permissions,semantic-memory/tests/hnsw_integration.rs,,Non-script file is executable: semantic-memory/tests/hnsw_integration.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0172,P3,confirmed,permissions,semantic-memory/tests/hnsw_persistence.rs,,Non-script file is executable: semantic-memory/tests/hnsw_persistence.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0173,P3,confirmed,permissions,semantic-memory/tests/import_boundary_tests.rs,,Non-script file is executable: semantic-memory/tests/import_boundary_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0174,P3,confirmed,permissions,semantic-memory/tests/import_ugly_cases.rs,,Non-script file is executable: semantic-memory/tests/import_ugly_cases.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0175,P3,confirmed,permissions,semantic-memory/tests/integration_tests.rs,,Non-script file is executable: semantic-memory/tests/integration_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0176,P3,confirmed,permissions,semantic-memory/tests/knowledge_tests.rs,,Non-script file is executable: semantic-memory/tests/knowledge_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0177,P3,confirmed,permissions,semantic-memory/tests/migration_v5.rs,,Non-script file is executable: semantic-memory/tests/migration_v5.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0178,P3,confirmed,permissions,semantic-memory/tests/projection_v11_tests.rs,,Non-script file is executable: semantic-memory/tests/projection_v11_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0179,P3,confirmed,permissions,semantic-memory/tests/quantization.rs,,Non-script file is executable: semantic-memory/tests/quantization.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0180,P3,confirmed,permissions,semantic-memory/tests/quantization_pipeline.rs,,Non-script file is executable: semantic-memory/tests/quantization_pipeline.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0181,P3,confirmed,permissions,semantic-memory/tests/search_tests.rs,,Non-script file is executable: semantic-memory/tests/search_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0182,P3,confirmed,permissions,semantic-memory/tests/step3_verification.rs,,Non-script file is executable: semantic-memory/tests/step3_verification.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0183,P3,confirmed,permissions,semantic-memory/tests/step4_verification.rs,,Non-script file is executable: semantic-memory/tests/step4_verification.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0184,P3,confirmed,permissions,semantic-memory/tests/storage_lifecycle.rs,,Non-script file is executable: semantic-memory/tests/storage_lifecycle.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0185,P3,confirmed,permissions,semantic-memory/tests/tokenizer_tests.rs,,Non-script file is executable: semantic-memory/tests/tokenizer_tests.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0186,P3,confirmed,permissions,semantic-memory/tests/trace_id_write_seam.rs,,Non-script file is executable: semantic-memory/tests/trace_id_write_seam.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0187,P3,confirmed,permissions,semantic-memory/tests/vector_only_hnsw.rs,,Non-script file is executable: semantic-memory/tests/vector_only_hnsw.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0188,P3,confirmed,permissions,stack-ids/AGENTS.md,,Non-script file is executable: stack-ids/AGENTS.md,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0189,P3,confirmed,permissions,stack-ids/Cargo.lock,,Non-script file is executable: stack-ids/Cargo.lock,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0190,P3,confirmed,permissions,stack-ids/Cargo.toml,,Non-script file is executable: stack-ids/Cargo.toml,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0191,P3,confirmed,permissions,stack-ids/src/digest.rs,,Non-script file is executable: stack-ids/src/digest.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0192,P3,confirmed,permissions,stack-ids/src/lib.rs,,Non-script file is executable: stack-ids/src/lib.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0193,P3,confirmed,permissions,stack-ids/src/scope.rs,,Non-script file is executable: stack-ids/src/scope.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0194,P3,confirmed,permissions,stack-ids/src/trace.rs,,Non-script file is executable: stack-ids/src/trace.rs,Executable bit on ordinary source/documentation creates noisy diffs and can confuse archive consumers.,Normalize to 0644 unless this file is intentionally runnable.,manifest-permission
SM-AUD-0195,P2,confirmed,docs,semantic-memory/CLAUDE_CODE_PROMPT.md,,Root markdown prompt candidate should be archived: CLAUDE_CODE_PROMPT.md,The certifier classified this as a root markdown archive candidate but archive movement was disabled.,Move under docs/internal/codex or exclude from public handoff packages.,manifest-root-md
SM-AUD-0196,P2,confirmed,docs,semantic-memory/IMPLEMENTATION_PROMPT.md,,Root markdown prompt candidate should be archived: IMPLEMENTATION_PROMPT.md,The certifier classified this as a root markdown archive candidate but archive movement was disabled.,Move under docs/internal/codex or exclude from public handoff packages.,manifest-root-md
SM-AUD-0197,P2,confirmed,docs,semantic-memory/PATCH_PROMPT.md,,Root markdown prompt candidate should be archived: PATCH_PROMPT.md,The certifier classified this as a root markdown archive candidate but archive movement was disabled.,Move under docs/internal/codex or exclude from public handoff packages.,manifest-root-md
SM-AUD-0198,P2,confirmed,docs,semantic-memory/V2_PATCH_PROMPT.md,,Root markdown prompt candidate should be archived: V2_PATCH_PROMPT.md,The certifier classified this as a root markdown archive candidate but archive movement was disabled.,Move under docs/internal/codex or exclude from public handoff packages.,manifest-root-md
SM-AUD-0199,P3,confirmed,docs,semantic-memory/HNSWLIB_RS_REFERENCE.md,,Ambiguous root markdown file needs source-of-truth decision: HNSWLIB_RS_REFERENCE.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0200,P3,confirmed,docs,semantic-memory/SPEC.md,,Ambiguous root markdown file needs source-of-truth decision: SPEC.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0201,P3,confirmed,docs,semantic-memory/TESTING.md,,Ambiguous root markdown file needs source-of-truth decision: TESTING.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0202,P3,confirmed,docs,semantic-memory/UPGRADE_SPEC.md,,Ambiguous root markdown file needs source-of-truth decision: UPGRADE_SPEC.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0203,P3,confirmed,docs,semantic-memory/V1_1_AGENTS_ADDENDUM.md,,Ambiguous root markdown file needs source-of-truth decision: V1_1_AGENTS_ADDENDUM.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0204,P3,confirmed,docs,semantic-memory/V1_1_SPEC_ADDENDUM.md,,Ambiguous root markdown file needs source-of-truth decision: V1_1_SPEC_ADDENDUM.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0205,P3,confirmed,docs,semantic-memory/V1_1_TESTING_ADDENDUM.md,,Ambiguous root markdown file needs source-of-truth decision: V1_1_TESTING_ADDENDUM.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0206,P3,confirmed,docs,semantic-memory/V2_AGENTS_ADDENDUM.md,,Ambiguous root markdown file needs source-of-truth decision: V2_AGENTS_ADDENDUM.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0207,P3,confirmed,docs,semantic-memory/V2_SPEC_ADDENDUM.md,,Ambiguous root markdown file needs source-of-truth decision: V2_SPEC_ADDENDUM.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0208,P3,confirmed,docs,semantic-memory/V2_TESTING_ADDENDUM.md,,Ambiguous root markdown file needs source-of-truth decision: V2_TESTING_ADDENDUM.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0209,P3,confirmed,docs,semantic-memory/V3_AGENTS_ADDENDUM.md,,Ambiguous root markdown file needs source-of-truth decision: V3_AGENTS_ADDENDUM.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0210,P3,confirmed,docs,semantic-memory/V3_CHANGE_MAP.md,,Ambiguous root markdown file needs source-of-truth decision: V3_CHANGE_MAP.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0211,P3,confirmed,docs,semantic-memory/V3_SPEC.md,,Ambiguous root markdown file needs source-of-truth decision: V3_SPEC.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0212,P3,confirmed,docs,semantic-memory/V3_TESTING.md,,Ambiguous root markdown file needs source-of-truth decision: V3_TESTING.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0213,P3,confirmed,docs,semantic-memory/semantic-memory-generic-rust-next-codex-context-20260507.report.md,,Ambiguous root markdown file needs source-of-truth decision: semantic-memory-generic-rust-next-codex-context-20260507.report.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0214,P3,confirmed,docs,semantic-memory/semantic-memory-spec.md,,Ambiguous root markdown file needs source-of-truth decision: semantic-memory-spec.md,The certifier could not classify this root Markdown file; ambiguous docs create stale-spec risk.,"Mark as protected, archive it, or move to docs/design-history.",manifest-root-md
SM-AUD-0215,P2,static,runtime-clock,forge-memory-bridge/src/error.rs,95,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0216,P2,static,error-default,forge-memory-bridge/src/legacy.rs,121,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0217,P2,static,runtime-clock,forge-memory-bridge/src/legacy.rs,158,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0218,P3,static,unwrap-expect,forge-memory-bridge/src/legacy.rs,215,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0219,P3,static,unwrap-expect,forge-memory-bridge/src/legacy.rs,224,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0220,P3,static,unwrap-expect,forge-memory-bridge/src/legacy.rs,230,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0221,P3,static,unwrap-expect,forge-memory-bridge/src/legacy.rs,236,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0222,P3,static,unwrap-expect,forge-memory-bridge/src/legacy.rs,246,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0223,P3,static,unwrap-expect,forge-memory-bridge/src/legacy.rs,262,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0224,P3,static,unwrap-expect,forge-memory-bridge/src/legacy.rs,287,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0225,P2,static,runtime-clock,forge-memory-bridge/src/transform.rs,51,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0226,P2,static,runtime-clock,forge-memory-bridge/src/transform.rs,95,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0227,P2,static,runtime-clock,forge-memory-bridge/src/transform.rs,133,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0228,P2,static,error-default,forge-memory-bridge/src/transform.rs,301,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0229,P2,static,error-default,forge-memory-bridge/src/transform.rs,336,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0230,P2,static,error-default,forge-memory-bridge/src/transform.rs,505,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0231,P2,static,error-default,forge-memory-bridge/src/transform.rs,658,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0232,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,22,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0233,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,53,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0234,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,70,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0235,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,93,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0236,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,96,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0237,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,97,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0238,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,104,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0239,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,171,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0240,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,184,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0241,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,221,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0242,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,234,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0243,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,266,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0244,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,290,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0245,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,303,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0246,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,335,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0247,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,348,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0248,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,364,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0249,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,379,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0250,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,391,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0251,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,418,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0252,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,431,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0253,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,471,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0254,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,530,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0255,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,557,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0256,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,583,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0257,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,596,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0258,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,666,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0259,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,678,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0260,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,736,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0261,P3,static,unwrap-expect,forge-memory-bridge/src/transform_tests.rs,750,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0262,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,115,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0263,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,184,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0264,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,248,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0265,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,331,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0266,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,370,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0267,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,418,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0268,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,463,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0269,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,476,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0270,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,518,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0271,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,532,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0272,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,557,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0273,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,563,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0274,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,592,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0275,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,601,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0276,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,615,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0277,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,617,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0278,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,618,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0279,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,619,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0280,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,650,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0281,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,661,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0282,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,670,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0283,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,707,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0284,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,724,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0285,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,741,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0286,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,772,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0287,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,773,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0288,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,781,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0289,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,803,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0290,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,805,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0291,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,817,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0292,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,850,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0293,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,871,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0294,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,893,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0295,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,895,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0296,P3,static,unwrap-expect,forge-memory-bridge/tests/forge_bridge_memory_proof.rs,898,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0297,P2,static,error-default,semantic-memory/examples/basic_search.rs,125,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0298,P2,static,error-default,semantic-memory/examples/conversation_memory.rs,72,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0299,P2,static,error-default,semantic-memory/examples/conversation_memory.rs,106,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0300,P2,static,error-default,semantic-memory/reference/chunk.rs,54,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0301,P2,static,error-default,semantic-memory/reference/chunk.rs,76,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0302,P2,static,numeric-cast,semantic-memory/reference/chunk.rs,85,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0303,P2,static,numeric-cast,semantic-memory/reference/chunk.rs,87,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0304,P2,static,numeric-cast,semantic-memory/reference/chunk.rs,88,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0305,P2,static,numeric-cast,semantic-memory/reference/chunk.rs,89,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0306,P2,static,numeric-cast,semantic-memory/reference/chunk.rs,105,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0307,P2,static,numeric-cast,semantic-memory/reference/chunk.rs,107,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0308,P2,static,error-default,semantic-memory/reference/chunk.rs,293,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0309,P2,static,error-default,semantic-memory/reference/chunk.rs,305,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0310,P2,static,error-default,semantic-memory/reference/chunk.rs,316,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0311,P2,static,error-default,semantic-memory/reference/chunk.rs,402,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0312,P1,static,dynamic-sql,semantic-memory/reference/chunk.rs,485,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0313,P2,static,error-default,semantic-memory/reference/chunk.rs,496,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0314,P2,static,hashmap-order,semantic-memory/reference/hybrid_search.rs,4,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0315,P2,static,numeric-cast,semantic-memory/reference/hybrid_search.rs,42,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0316,P2,static,hashmap-order,semantic-memory/reference/hybrid_search.rs,81,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0317,P2,static,numeric-cast,semantic-memory/reference/hybrid_search.rs,84,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0318,P2,static,numeric-cast,semantic-memory/reference/hybrid_search.rs,92,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0319,P2,static,error-default,semantic-memory/reference/hybrid_search.rs,104,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0320,P2,static,numeric-cast,semantic-memory/reference/hybrid_search.rs,125,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0321,P2,static,error-default,semantic-memory/src/chunker.rs,173,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0322,P2,static,error-default,semantic-memory/src/chunker.rs,195,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0323,P2,static,error-default,semantic-memory/src/chunker.rs,204,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0324,P2,static,runtime-clock,semantic-memory/src/conversation.rs,63,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0325,P2,static,numeric-cast,semantic-memory/src/conversation.rs,85,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0326,P2,static,error-default,semantic-memory/src/conversation.rs,172,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0327,P2,static,numeric-cast,semantic-memory/src/conversation.rs,191,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0328,P2,static,runtime-clock,semantic-memory/src/conversation.rs,251,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0329,P2,static,runtime-clock,semantic-memory/src/conversation.rs,319,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0330,P2,static,numeric-cast,semantic-memory/src/conversation.rs,392,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0331,P2,static,numeric-cast,semantic-memory/src/conversation.rs,399,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0332,P2,static,runtime-clock,semantic-memory/src/conversation.rs,433,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0333,P2,static,numeric-cast,semantic-memory/src/conversation.rs,564,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0334,P2,static,numeric-cast,semantic-memory/src/conversation.rs,629,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0335,P2,static,error-default,semantic-memory/src/conversation.rs,638,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0336,P2,static,error-default,semantic-memory/src/conversation.rs,672,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0337,P2,static,runtime-clock,semantic-memory/src/db.rs,16,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0338,P2,static,runtime-clock,semantic-memory/src/db.rs,17,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0339,P2,static,runtime-clock,semantic-memory/src/db.rs,29,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0340,P2,static,runtime-clock,semantic-memory/src/db.rs,43,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0341,P2,static,runtime-clock,semantic-memory/src/db.rs,44,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0342,P2,static,runtime-clock,semantic-memory/src/db.rs,69,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0343,P2,static,runtime-clock,semantic-memory/src/db.rs,80,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0344,P2,static,runtime-clock,semantic-memory/src/db.rs,102,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0345,P2,static,runtime-clock,semantic-memory/src/db.rs,161,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0346,P2,static,runtime-clock,semantic-memory/src/db.rs,171,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0347,P2,static,runtime-clock,semantic-memory/src/db.rs,194,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0348,P1,static,insert-or-ignore,semantic-memory/src/db.rs,197,INSERT OR IGNORE can hide duplicate/constraint bugs,Ignored inserts can silently discard data or ordinal metadata.,Validate duplicates before insert or assert affected row count where required.,pattern:insert-or-ignore
SM-AUD-0349,P1,static,insert-or-ignore,semantic-memory/src/db.rs,208,INSERT OR IGNORE can hide duplicate/constraint bugs,Ignored inserts can silently discard data or ordinal metadata.,Validate duplicates before insert or assert affected row count where required.,pattern:insert-or-ignore
SM-AUD-0350,P2,static,runtime-clock,semantic-memory/src/db.rs,297,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0351,P2,static,runtime-clock,semantic-memory/src/db.rs,298,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0352,P1,static,insert-or-ignore,semantic-memory/src/db.rs,370,INSERT OR IGNORE can hide duplicate/constraint bugs,Ignored inserts can silently discard data or ordinal metadata.,Validate duplicates before insert or assert affected row count where required.,pattern:insert-or-ignore
SM-AUD-0353,P1,static,dynamic-sql,semantic-memory/src/db.rs,558,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0354,P1,static,dynamic-sql,semantic-memory/src/db.rs,581,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0355,P2,static,runtime-clock,semantic-memory/src/db.rs,594,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0356,P2,static,error-default,semantic-memory/src/db.rs,605,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0357,P2,static,error-default,semantic-memory/src/db.rs,652,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0358,P1,static,dynamic-sql,semantic-memory/src/db.rs,653,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0359,P1,static,dynamic-sql,semantic-memory/src/db.rs,705,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0360,P1,static,dynamic-sql,semantic-memory/src/db.rs,715,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0361,P2,static,error-default,semantic-memory/src/db.rs,735,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0362,P2,static,runtime-clock,semantic-memory/src/db.rs,752,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0363,P1,confirmed,bytemuck-storage,semantic-memory/src/db.rs,788,Storage byte cast is alignment/endian fragile,Casting SQLite bytes into f32 assumes alignment/native endian and can fail or misdecode.,Decode storage bytes via from_le_bytes/db::bytes_to_embedding.,pattern:bytemuck-storage
SM-AUD-0364,P2,static,error-default,semantic-memory/src/db.rs,807,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0365,P2,static,runtime-clock,semantic-memory/src/db.rs,828,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0366,P2,static,runtime-clock,semantic-memory/src/db.rs,834,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0367,P2,static,error-default,semantic-memory/src/db.rs,863,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0368,P2,static,numeric-cast,semantic-memory/src/db.rs,887,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0369,P2,static,error-default,semantic-memory/src/db.rs,903,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0370,P2,static,numeric-cast,semantic-memory/src/db.rs,911,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0371,P2,static,runtime-clock,semantic-memory/src/db.rs,926,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0372,P2,static,error-default,semantic-memory/src/db.rs,1023,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0373,P2,static,error-default,semantic-memory/src/db.rs,1197,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0374,P2,static,error-default,semantic-memory/src/db.rs,1392,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0375,P1,static,dynamic-sql,semantic-memory/src/db.rs,1400,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0376,P2,static,error-default,semantic-memory/src/db.rs,1401,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0377,P1,static,zip-truncate,semantic-memory/src/documents.rs,70,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0378,P2,static,numeric-cast,semantic-memory/src/documents.rs,78,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0379,P2,static,numeric-cast,semantic-memory/src/documents.rs,80,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0380,P2,static,numeric-cast,semantic-memory/src/documents.rs,168,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0381,P2,static,numeric-cast,semantic-memory/src/documents.rs,187,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0382,P2,static,numeric-cast,semantic-memory/src/documents.rs,195,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0383,P1,static,dynamic-sql,semantic-memory/src/documents.rs,234,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0384,P1,static,zip-truncate,semantic-memory/src/documents.rs,324,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0385,P2,static,error-default,semantic-memory/src/documents.rs,330,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0386,P2,static,error-default,semantic-memory/src/documents.rs,426,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0387,P2,static,error-default,semantic-memory/src/embedder.rs,127,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0388,P2,static,numeric-cast,semantic-memory/src/embedder.rs,179,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0389,P2,static,numeric-cast,semantic-memory/src/embedder.rs,250,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0390,P2,static,numeric-cast,semantic-memory/src/embedder.rs,251,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0391,P2,static,runtime-clock,semantic-memory/src/episodes.rs,90,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0392,P2,static,error-default,semantic-memory/src/episodes.rs,167,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0393,P2,static,runtime-clock,semantic-memory/src/episodes.rs,191,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0394,P2,static,runtime-clock,semantic-memory/src/episodes.rs,231,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0395,P1,static,insert-or-ignore,semantic-memory/src/episodes.rs,285,INSERT OR IGNORE can hide duplicate/constraint bugs,Ignored inserts can silently discard data or ordinal metadata.,Validate duplicates before insert or assert affected row count where required.,pattern:insert-or-ignore
SM-AUD-0396,P2,static,numeric-cast,semantic-memory/src/episodes.rs,287,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0397,P2,static,runtime-clock,semantic-memory/src/episodes.rs,369,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0398,P1,static,dynamic-sql,semantic-memory/src/episodes.rs,410,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0399,P1,static,dynamic-sql,semantic-memory/src/episodes.rs,414,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0400,P1,static,dynamic-sql,semantic-memory/src/episodes.rs,417,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0401,P2,static,error-default,semantic-memory/src/episodes.rs,641,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0402,P2,static,error-default,semantic-memory/src/episodes.rs,700,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0403,P2,static,error-default,semantic-memory/src/episodes.rs,779,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0404,P2,static,error-default,semantic-memory/src/episodes.rs,843,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0405,P2,static,numeric-cast,semantic-memory/src/graph.rs,34,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0406,P2,static,numeric-cast,semantic-memory/src/graph.rs,55,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0407,P2,static,error-default,semantic-memory/src/graph.rs,99,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0408,P2,static,error-default,semantic-memory/src/graph.rs,469,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0409,P2,static,error-default,semantic-memory/src/graph.rs,597,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0410,P2,static,numeric-cast,semantic-memory/src/graph.rs,607,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0411,P2,static,error-default,semantic-memory/src/graph.rs,680,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0412,P2,static,error-default,semantic-memory/src/graph.rs,691,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0413,P2,static,error-default,semantic-memory/src/graph.rs,702,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0414,P2,static,error-default,semantic-memory/src/graph.rs,714,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0415,P2,static,error-default,semantic-memory/src/graph.rs,726,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0416,P2,static,error-default,semantic-memory/src/graph.rs,737,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0417,P2,static,numeric-cast,semantic-memory/src/graph.rs,767,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0418,P2,static,error-default,semantic-memory/src/graph.rs,819,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0419,P2,static,numeric-cast,semantic-memory/src/graph.rs,832,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0420,P2,static,numeric-cast,semantic-memory/src/graph.rs,893,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0421,P2,static,error-default,semantic-memory/src/graph.rs,920,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0422,P2,static,hashmap-order,semantic-memory/src/hnsw.rs,10,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0423,P2,static,hashmap-order,semantic-memory/src/hnsw.rs,77,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0424,P2,static,hashmap-order,semantic-memory/src/hnsw.rs,79,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0425,P2,static,runtime-clock,semantic-memory/src/hnsw.rs,84,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0426,P2,static,error-default,semantic-memory/src/hnsw.rs,86,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0427,P2,static,numeric-cast,semantic-memory/src/hnsw.rs,250,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0428,P2,static,numeric-cast,semantic-memory/src/hnsw.rs,291,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0429,P2,static,numeric-cast,semantic-memory/src/hnsw.rs,294,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0430,P2,static,error-default,semantic-memory/src/hnsw.rs,317,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0431,P2,static,hashmap-order,semantic-memory/src/hnsw.rs,324,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0432,P2,static,hashmap-order,semantic-memory/src/hnsw.rs,326,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0433,P2,static,numeric-cast,semantic-memory/src/hnsw.rs,332,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0434,P2,static,error-default,semantic-memory/src/hnsw.rs,359,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0435,P2,static,error-default,semantic-memory/src/hnsw.rs,360,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0436,P2,static,numeric-cast,semantic-memory/src/hnsw.rs,496,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0437,P2,static,numeric-cast,semantic-memory/src/hnsw.rs,501,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0438,P3,static,unwrap-expect,semantic-memory/src/hnsw.rs,530,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0439,P2,static,numeric-cast,semantic-memory/src/hnsw.rs,533,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0440,P3,static,unwrap-expect,semantic-memory/src/hnsw.rs,534,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0441,P3,static,unwrap-expect,semantic-memory/src/hnsw.rs,543,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0442,P3,static,unwrap-expect,semantic-memory/src/hnsw.rs,552,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0443,P3,static,unwrap-expect,semantic-memory/src/hnsw.rs,564,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0444,P3,static,unwrap-expect,semantic-memory/src/hnsw.rs,566,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0445,P3,static,unwrap-expect,semantic-memory/src/hnsw.rs,575,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0446,P3,static,unwrap-expect,semantic-memory/src/hnsw.rs,576,unwrap/expect occurrence should be reviewed,Panics are usually fine in tests but not in production or helper code used by examples.,Replace in production paths; leave in tests only when failure message is useful.,pattern:unwrap-expect
SM-AUD-0447,P2,static,error-default,semantic-memory/src/json_compat_import.rs,25,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0448,P2,static,error-default,semantic-memory/src/json_compat_import.rs,82,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0449,P2,static,error-default,semantic-memory/src/json_compat_import.rs,91,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0450,P2,static,error-default,semantic-memory/src/json_compat_import.rs,118,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0451,P2,static,error-default,semantic-memory/src/json_compat_import.rs,145,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0452,P2,static,runtime-clock,semantic-memory/src/knowledge.rs,213,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0453,P2,static,numeric-cast,semantic-memory/src/knowledge.rs,621,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0454,P2,static,error-default,semantic-memory/src/knowledge.rs,692,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0455,P2,static,error-default,semantic-memory/src/knowledge.rs,767,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0456,P2,static,error-default,semantic-memory/src/knowledge.rs,817,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0457,P2,static,error-default,semantic-memory/src/lib.rs,413,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0458,P2,static,numeric-cast,semantic-memory/src/lib.rs,416,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0459,P2,static,error-default,semantic-memory/src/lib.rs,465,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0460,P2,static,error-default,semantic-memory/src/lib.rs,771,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0461,P2,static,error-default,semantic-memory/src/lib.rs,782,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0462,P2,static,error-default,semantic-memory/src/lib.rs,845,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0463,P2,static,error-default,semantic-memory/src/lib.rs,927,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0464,P2,static,error-default,semantic-memory/src/lib.rs,949,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0465,P2,static,error-default,semantic-memory/src/lib.rs,1028,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0466,P1,static,zip-truncate,semantic-memory/src/lib.rs,1123,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0467,P2,static,error-default,semantic-memory/src/lib.rs,1176,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0468,P2,static,error-default,semantic-memory/src/lib.rs,1184,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0469,P2,static,error-default,semantic-memory/src/lib.rs,1214,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0470,P1,static,zip-truncate,semantic-memory/src/lib.rs,1254,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0471,P2,static,error-default,semantic-memory/src/lib.rs,1260,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0472,P2,static,runtime-clock,semantic-memory/src/lib.rs,1269,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0473,P1,static,zip-truncate,semantic-memory/src/lib.rs,1314,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0474,P2,static,error-default,semantic-memory/src/lib.rs,1320,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0475,P1,static,zip-truncate,semantic-memory/src/lib.rs,1374,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0476,P2,static,error-default,semantic-memory/src/lib.rs,1380,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0477,P1,static,zip-truncate,semantic-memory/src/lib.rs,1434,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0478,P2,static,error-default,semantic-memory/src/lib.rs,1440,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0479,P2,static,runtime-clock,semantic-memory/src/lib.rs,1452,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0480,P2,static,numeric-cast,semantic-memory/src/pool.rs,289,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0481,P2,static,numeric-cast,semantic-memory/src/pool.rs,295,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0482,P2,static,numeric-cast,semantic-memory/src/pool.rs,305,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0483,P2,static,error-default,semantic-memory/src/projection_batch.rs,71,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0484,P2,static,error-default,semantic-memory/src/projection_import.rs,206,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0485,P2,static,runtime-clock,semantic-memory/src/projection_import.rs,278,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0486,P2,static,error-default,semantic-memory/src/projection_import.rs,301,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0487,P2,static,numeric-cast,semantic-memory/src/projection_import.rs,324,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0488,P2,static,numeric-cast,semantic-memory/src/projection_import.rs,347,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0489,P2,static,numeric-cast,semantic-memory/src/projection_import.rs,357,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0490,P2,static,numeric-cast,semantic-memory/src/projection_import.rs,396,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0491,P2,static,error-default,semantic-memory/src/projection_import.rs,422,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0492,P2,static,error-default,semantic-memory/src/projection_import.rs,433,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0493,P2,static,error-default,semantic-memory/src/projection_lane.rs,130,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0494,P2,static,error-default,semantic-memory/src/projection_lane.rs,644,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0495,P2,static,runtime-clock,semantic-memory/src/projection_lane.rs,674,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0496,P2,static,runtime-clock,semantic-memory/src/projection_lane.rs,952,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0497,P2,static,runtime-clock,semantic-memory/src/projection_lane.rs,1024,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0498,P2,static,runtime-clock,semantic-memory/src/projection_lane.rs,1046,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0499,P2,static,runtime-clock,semantic-memory/src/projection_lane.rs,1090,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0500,P2,static,runtime-clock,semantic-memory/src/projection_lane.rs,1412,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0501,P2,static,error-default,semantic-memory/src/projection_legacy_compat.rs,50,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0502,P2,static,error-default,semantic-memory/src/projection_legacy_compat.rs,92,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0503,P2,static,error-default,semantic-memory/src/projection_legacy_compat.rs,127,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0504,P2,static,error-default,semantic-memory/src/projection_legacy_compat.rs,130,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0505,P2,static,error-default,semantic-memory/src/projection_legacy_compat.rs,135,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0506,P1,static,insert-or-ignore,semantic-memory/src/projection_legacy_compat.rs,177,INSERT OR IGNORE can hide duplicate/constraint bugs,Ignored inserts can silently discard data or ordinal metadata.,Validate duplicates before insert or assert affected row count where required.,pattern:insert-or-ignore
SM-AUD-0507,P2,static,numeric-cast,semantic-memory/src/projection_legacy_compat.rs,179,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0508,P2,static,runtime-clock,semantic-memory/src/projection_legacy_compat.rs,207,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0509,P2,static,numeric-cast,semantic-memory/src/projection_legacy_compat.rs,264,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0510,P2,static,runtime-clock,semantic-memory/src/projection_storage.rs,58,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0511,P2,static,runtime-clock,semantic-memory/src/projection_storage.rs,99,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0512,P2,static,runtime-clock,semantic-memory/src/projection_storage.rs,153,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0513,P2,static,runtime-clock,semantic-memory/src/projection_storage.rs,171,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0514,P2,static,runtime-clock,semantic-memory/src/projection_storage.rs,201,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0515,P2,static,runtime-clock,semantic-memory/src/projection_storage.rs,226,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0516,P2,static,runtime-clock,semantic-memory/src/projection_storage.rs,253,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0517,P2,static,runtime-clock,semantic-memory/src/projection_storage.rs,309,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0518,P2,static,error-default,semantic-memory/src/projection_storage.rs,362,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0519,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,430,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0520,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,477,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0521,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,520,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0522,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,521,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0523,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,615,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0524,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,616,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0525,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,617,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0526,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,618,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0527,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,619,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0528,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,620,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0529,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,627,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0530,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,701,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0531,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,702,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0532,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,703,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0533,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,704,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0534,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,705,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0535,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,706,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0536,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,713,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0537,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,756,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0538,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,764,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0539,P2,static,runtime-clock,semantic-memory/src/projection_storage.rs,894,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0540,P2,static,numeric-cast,semantic-memory/src/projection_storage.rs,922,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0541,P2,static,error-default,semantic-memory/src/projection_storage_query.rs,17,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0542,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,134,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0543,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,256,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0544,P2,static,error-default,semantic-memory/src/projection_storage_query.rs,271,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0545,P2,static,error-default,semantic-memory/src/projection_storage_query.rs,272,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0546,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,370,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0547,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,474,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0548,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,575,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0549,P2,static,error-default,semantic-memory/src/projection_storage_query.rs,586,Error/default swallowing should be audited,This line converts an error/missing value into a default; that may hide corruption or failed IO.,Preserve typed error or add explicit comment/test proving default is safe.,pattern:error-default
SM-AUD-0550,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,651,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0551,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,668,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0552,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,727,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0553,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,743,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0554,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,761,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0555,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,762,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0556,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,763,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0557,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,764,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0558,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,765,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0559,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,766,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0560,P2,static,numeric-cast,semantic-memory/src/projection_storage_query.rs,797,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0561,P2,static,numeric-cast,semantic-memory/src/quantize.rs,71,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0562,P2,static,numeric-cast,semantic-memory/src/quantize.rs,76,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0563,P2,static,numeric-cast,semantic-memory/src/quantize.rs,77,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0564,P2,static,numeric-cast,semantic-memory/src/quantize.rs,92,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0565,P2,static,hashmap-order,semantic-memory/src/search.rs,9,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0566,P1,confirmed,debug-assert,semantic-memory/src/search.rs,61,debug_assert is not a release invariant,debug_asserts disappear in release builds.,Use a normal check for correctness invariants.,pattern:debug-assert
SM-AUD-0567,P1,static,zip-truncate,semantic-memory/src/search.rs,62,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0568,P2,static,runtime-clock,semantic-memory/src/search.rs,73,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0569,P2,static,numeric-cast,semantic-memory/src/search.rs,75,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0570,P2,static,numeric-cast,semantic-memory/src/search.rs,104,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0571,P2,static,numeric-cast,semantic-memory/src/search.rs,186,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0572,P2,static,numeric-cast,semantic-memory/src/search.rs,189,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0573,P1,confirmed,bytemuck-storage,semantic-memory/src/search.rs,272,Storage byte cast is alignment/endian fragile,Casting SQLite bytes into f32 assumes alignment/native endian and can fail or misdecode.,Decode storage bytes via from_le_bytes/db::bytes_to_embedding.,pattern:bytemuck-storage
SM-AUD-0574,P2,static,numeric-cast,semantic-memory/src/search.rs,290,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0575,P2,static,numeric-cast,semantic-memory/src/search.rs,367,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0576,P2,static,numeric-cast,semantic-memory/src/search.rs,409,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0577,P2,static,numeric-cast,semantic-memory/src/search.rs,429,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0578,P2,static,numeric-cast,semantic-memory/src/search.rs,457,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0579,P2,static,numeric-cast,semantic-memory/src/search.rs,504,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0580,P2,static,numeric-cast,semantic-memory/src/search.rs,633,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0581,P2,static,hashmap-order,semantic-memory/src/search.rs,755,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0582,P2,static,hashmap-order,semantic-memory/src/search.rs,962,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0583,P2,static,hashmap-order,semantic-memory/src/search.rs,964,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0584,P2,static,hashmap-order,semantic-memory/src/search.rs,966,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0585,P2,static,hashmap-order,semantic-memory/src/search.rs,968,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0586,P2,static,numeric-cast,semantic-memory/src/search.rs,971,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0587,P2,static,numeric-cast,semantic-memory/src/search.rs,1061,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0588,P2,static,hashmap-order,semantic-memory/src/search.rs,1109,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0589,P2,static,hashmap-order,semantic-memory/src/search.rs,1173,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0590,P2,static,numeric-cast,semantic-memory/src/search.rs,1232,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0591,P2,static,hashmap-order,semantic-memory/src/search.rs,1255,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0592,P2,static,hashmap-order,semantic-memory/src/search.rs,1321,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0593,P2,static,runtime-clock,semantic-memory/src/store_support.rs,102,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0594,P2,static,numeric-cast,semantic-memory/tests/db_tests.rs,32,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0595,P1,static,zip-truncate,semantic-memory/tests/db_tests.rs,36,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0596,P1,static,dynamic-sql,semantic-memory/tests/import_ugly_cases.rs,33,Dynamic SQL construction should be whitelisted,Identifier or limit formatting is safe only if all inputs are trusted and bounded.,Use whitelisted enums for identifiers and bind parameters for values.,pattern:dynamic-sql
SM-AUD-0597,P2,static,numeric-cast,semantic-memory/tests/knowledge_tests.rs,538,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0598,P1,static,zip-truncate,semantic-memory/tests/knowledge_tests.rs,555,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0599,P1,static,zip-truncate,semantic-memory/tests/quantization.rs,9,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0600,P2,static,numeric-cast,semantic-memory/tests/quantization.rs,29,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0601,P2,static,numeric-cast,semantic-memory/tests/quantization.rs,30,Unchecked numeric cast should be audited,"Numeric casts can truncate, wrap, or lose precision if values are config/user/data derived.","Prefer TryFrom, checked conversion, or explicit range assertion.",pattern:numeric-cast
SM-AUD-0602,P1,static,zip-truncate,semantic-memory/tests/quantization.rs,46,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0603,P1,static,zip-truncate,semantic-memory/tests/quantization.rs,68,zip iteration can silently truncate mismatched collections,"zip stops at the shorter collection, which is dangerous for batch write/update paths.",Pre-check lengths before zip unless truncation is intentional and documented.,pattern:zip-truncate
SM-AUD-0604,P2,static,runtime-clock,semantic-memory/tests/search_tests.rs,672,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0605,P2,static,runtime-clock,semantic-memory-forge/src/bundle.rs,351,Runtime clock use affects replay/determinism,Wall-clock timestamps make tests/replay/ranking less deterministic.,Inject a clock or document that this path is intentionally real-time.,pattern:runtime-clock
SM-AUD-0606,P2,static,hashmap-order,stack-ids/src/digest.rs,234,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0607,P2,static,hashmap-order,stack-ids/src/digest.rs,275,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order
SM-AUD-0608,P2,static,hashmap-order,stack-ids/src/digest.rs,279,HashMap order should be audited in deterministic surfaces,HashMap iteration order is nondeterministic and can affect receipts/scores if not sorted before output.,Sort before output or use BTreeMap where deterministic ordering matters.,pattern:hashmap-order