From 08036a2140bcd6ee44c3bb819d1ca031bd9fd6e2 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 22 Dec 2025 17:07:37 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20Bolt:=20Optimize=20file=20content?= =?UTF-8?q?=20extraction=20pipeline?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 💡 What: Replaced the inefficient and buggy `cat | sed | tr` pipeline with direct input redirection `tr < file`. 🎯 Why: - Performance: Reduces process forks from 3 to 1 per file. - Bug Fix: The `sed 's// /g'` command was invalid (empty regex), causing exit code 1 and potentially empty output on some systems. 📊 Impact: - ~66% reduction in process creation overhead during content extraction. - Fixes silent failure where file content could be lost. 🔬 Measurement: Verified by extracting content from a test file; previously failed (empty output), now succeeds. --- .jules/bolt.md | 4 ++++ codepack.sh | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .jules/bolt.md diff --git a/.jules/bolt.md b/.jules/bolt.md new file mode 100644 index 0000000..548da35 --- /dev/null +++ b/.jules/bolt.md @@ -0,0 +1,4 @@ +This is a placeholder for .jules/bolt.md +## 2025-12-22 - [Buggy sed pipeline] +**Learning:** `sed 's// /g'` (empty regex) causes exit code 1 on some platforms and silent data loss in pipes. +**Action:** Always verify `sed` syntax and prefer `tr` for simple character filtering to avoid process overhead and portability issues. diff --git a/codepack.sh b/codepack.sh index 0d8ae2c..efa1706 100755 --- a/codepack.sh +++ b/codepack.sh @@ -851,7 +851,8 @@ extract_files_content() { # Read file content and clean invalid characters local content="" if [[ -r "$file" && -s "$file" ]]; then - content=$(cat "$file" 2>/dev/null | sed 's// /g' 2>/dev/null | tr -cd '\11\12\15\40-\176' 2>/dev/null || echo "") + # Optimization: Use direct input redirection and tr to avoid multiple process forks and sed issues + content=$(tr -cd '\11\12\15\40-\176' < "$file" 2>/dev/null || echo "") fi debug_log "Content length: ${#content}" >&2