diff --git a/.Jules/bolt.md b/.Jules/bolt.md index 23abc9206..2b8d54dff 100644 --- a/.Jules/bolt.md +++ b/.Jules/bolt.md @@ -1,3 +1,18 @@ +# Bolt's Journal +This journal documents critical performance learnings for the codebase. + +## 2024-05-23 - Lazy Loading Search Providers +**Learning:** Moving heavy SDK imports (like `google.genai`) inside methods significantly improves startup time and robustness. +**Action:** Use local imports inside factory methods for optional integrations or heavy dependencies. When testing, patch the class at its *source definition*, not the module namespace. + +## 2024-05-24 - [Initial Entry] +**Learning:** Initial setup of Bolt's journal. +**Action:** Use this file to record specific performance insights. + ## 2025-05-18 - [Optimization of Fuzzy Matching] **Learning:** `difflib.SequenceMatcher.real_quick_ratio()` provides an O(1) upper bound check based on length, which is significantly faster than `quick_ratio()` (O(N)) or `ratio()` (O(N*M)). Using this as a first-pass filter for fuzzy matching large datasets can dramatically improve performance. **Action:** Always check for `real_quick_ratio()` when implementing fuzzy matching loops with `difflib`. + +## 2026-01-25 - [Memory vs Reality Discrepancy] +**Learning:** The memory claimed `format_search_output` was already using list join, but the actual code on disk was using O(N^2) string concatenation. +**Action:** Always verify code state with `read_file` before trusting memory or documentation about optimizations. diff --git a/.Jules/palette.md b/.Jules/palette.md deleted file mode 100644 index 418094a83..000000000 --- a/.Jules/palette.md +++ /dev/null @@ -1,3 +0,0 @@ -- **Frontend Build Fragility**: The frontend `package.json` was missing several dependencies (`remark-gfm`, `rehype-sanitize`, etc.) required by `ArtifactView.tsx`, causing `npm run build` to fail despite tests passing. This indicates a discrepancy between the dev/test environment and the production build pipeline. -- **Micro-UX Constraints**: Strictly adhering to "one micro-UX change per run" when the repo is already in a broken state (missing deps) was challenging. The decision to prioritize the specific verified fix over fixing the global build (which would require adding 5+ deps) was made to respect the agent's primary directive, but it highlights a need for a separate "maintenance" run to fix the build. -- **Accessibility - Semantic Lists**: When using Tailwind's `list-none` (which applies `list-style: none`), Safari/VoiceOver may remove the semantic list role from `