vestige/crates
Sam Valladares dcd536ee86 fix(audit): error-propagation, races, dedup, decay bugs (swarm, moderate tier 2)
All verified against real code:
- github fetch_updated: propagate fetch_comments errors instead of
  unwrap_or_default() (silent failure stored a comment-less record with a
  corrupted hash AND advanced the cursor past it = permanent gap)
- relationships load_relationships: advance next_id past loaded rel-N ids so
  new_id() can't collide with persisted ids
- speculative store_pending_predictions: merge instead of clear (two predict()
  calls without an intervening record_usage() wiped the first batch's accounting)
- embeddings/code is_comment_only: stop treating leading '#'/'*' as comments
  (was deleting #include, #define, *ptr, CSS '*', multiplication)
- importance_signals: reconcile total_count to the surviving pattern sum after
  decay/prune (was inflated, driving novelty toward zero over time)
- importance on_retrieved_with_context: set context in the SAME critical section
  as the event push via record_retrieval() (two-lock approach raced; last_mut()
  could land on a concurrently-pushed event)

core 535/0, clippy clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 14:15:04 -05:00
..
vestige-core fix(audit): error-propagation, races, dedup, decay bugs (swarm, moderate tier 2) 2026-06-28 14:15:04 -05:00
vestige-mcp fix(audit): 16 verified panic/DoS/correctness bugs (swarm, trivial tier) 2026-06-28 14:03:54 -05:00