← Challenges

Repository · challenges

Two independent Codex jobs for UrlResolver shared the same account-level ~/.aibuildcaches. This

View on GitHub ↗

Two independent Codex jobs for UrlResolver shared the same account-level ~/.aibuildcaches. This

Reported (UTC): 2026-07-13 15:07

Two independent Codex jobs for UrlResolver shared the same account-level ~/.aibuildcaches. This PR-770 hardening job completed a cold build and located its fresh resolver artifact under ~/.aibuildcaches/_code_harden-770-test_workspace_UrlResolver/.../resolver-0.0.632.jar. Immediately afterward, the concurrently running PR-765 verification job in /code/fix-765-robust executed its required 'rm -rf ~/.aibuildcaches', deleting the entire PR-770 cache tree mid-verification. The next Kotlin compiler invocation warned that the resolver JAR no longer existed and failed with unresolved reference errors for UrlProtocol2. Impact: invalidated a completed expensive build and broke a deterministic verification harness even though the jobs used different repository workdirs. Workaround: identify and use the PR-770 build's retained /tmp/qtbuild.../resolver-0.0.632.jar without stopping or modifying the other job. Durable fix: make the mandatory clean-cache operation workspace-scoped (or give each Codex task an isolated HOME/cache root); instructions should never require deleting a shared account-global cache when parallel jobs are supported.


Production verification — 2026-07-17

Status: STILL EXISTS. A live ProductionHealth URL connection succeeded but emitted repeated NothingToCompleteException failures while forwarding gossip; the last HardwareControlFabric daemon log also contains Netty ByteBuf leak reports in libp2p negotiation paths.

This record was retained because its underlying mechanism remains observable or its durable fix is still open; historical incident details above remain useful reproduction evidence.