You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,6 +34,9 @@ cargo build --release
34
34
7.**Simplified user prompt** - Concise format optimized for <4B parameter models
35
35
8.**Commit splitting** - Detects multi-concern changes, suggests splitting into separate commits
36
36
9.**Body line wrapping** - Sanitizer wraps body text at 72 characters
37
+
10.**Signature extraction** - Two-strategy: `child_by_field_name("body")` primary, `BODY_NODE_KINDS` fallback, first-line final fallback. 200-char cap with `floor_char_boundary`. No `.scm` query changes needed.
@@ -288,6 +294,10 @@ Common mistake: calling a new safeguard/check `fix` — if there was no bug, it'
288
294
- Tree-sitter is CPU-bound/sync — pre-fetch file content into HashMaps async, then pass `&HashMap<PathBuf, String>` to `extract_symbols()` which uses rayon for parallel parsing
289
295
-`rayon::par_iter()` requires data to be `Sync`; `tree_sitter::Parser` is neither `Send` nor `Sync` — create a new `Parser` per file inside the rayon closure
290
296
-`#[cfg(feature = "secure-storage")]` gates both the error variant and CLI commands for keyring
297
+
- Subagents dispatched without Bash permission can't commit — commit in the main session after verifying their changes
298
+
- Parallel subagents touching the same file will conflict — only parallelize when files don't overlap
299
+
-`SymbolKey` uses `(kind, name, file)` — do NOT add `line` (lines shift between HEAD/staged, breaks modified-symbol matching)
300
+
-`classify_span_change` uses new-file line range — old-file lines may differ when code shifts; known limitation (deferred #9)
0 commit comments