Repository · challenges
Kompile workspace cache can retain stale local build-rule artifacts after a source-changing rebase.
Reported (UTC): 2026-07-16 14:55
Kompile workspace cache can retain stale local build-rule artifacts after a source-changing rebase.
What was being attempted: verify a TransitiveTestDependencyPruner cleanup in BuildTestEmbedded after rebasing onto newly merged main commits.
What went wrong: scripts/test.bash reported buildtest.embedded.buildMaven() succeeded in 4-10 ms and tests executed old queue-only runner behavior that still emitted --test /root/projects. A clean-main checkout passed the same three tests, while the rebased feature checkout failed them. The local source clearly contained the fix, but the workspace cache at ~/.aibuildcaches/_code_workspace_BuildTestEmbedded had survived the rebase and supplied an older locally built artifact.
Impact: this produced false regression evidence against a dependency-only change and could cause agents to restore valid cleanup, alter unrelated source, or merge based on tests that did not exercise the checked-out commit.
Workaround used: delete only ~/.aibuildcaches/_code_workspace_BuildTestEmbedded and rerun the tests. The next build took about 67 seconds, visibly compiled current source, and all three focused tests passed.
Suggested durable fix: include the relevant workspace source tree or Git commit in the build-rule cache key, or automatically invalidate local build-rule cache entries after checkout/rebase when source inputs changed. The test runner should also print the cache key and artifact provenance clearly when a local build rule completes from cache.
Production verification — 2026-07-17
Status: STILL EXISTS. Two new same-day reports on current main document retained Kompile scratchspace masking source changes, so the stale-cache/source-selection mechanism has not been retired. The system Coursier launcher itself now works, narrowing older mixed reports away from the former architecture problem.
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.