Repository · challenges
TASK.md for the kompile-core FQN validation production fix states that changing the two
Reported (UTC): 2026-07-16 00:40
TASK.md for the kompile-core FQN validation production fix states that changing the two BuildRule.name comparisons from methodName to normalizedRule is the surgical fix expected to make cross-Workspace persistence pass. Strict TDD showed the exact pre-fix assertion (expected 1, actual 2), but after applying those comparisons and rebuilding against a clean isolated cache, the same assertion still failed. Retaining and inspecting the real e2e fixture's parser cache and compiled bytecode showed why: buildscript.json correctly contains name=some.pkg.buildSomething and returnType=Ljava/io/File;, while the compiled method descriptor is ()Ljava/io/File;. BuildRuleFingerprint.jvmDescriptor passes that already-encoded returnType through kotlinTypeToJvmDescriptor, which treats it as a source type and produces LLjava/io/File;;, so findTransitiveMethodHashRoot returns null and the result index remains disabled. Impact: the prescribed two-line fix does not restore index reads/writes for File-returning packaged rules and would not resolve the production request storm. Workaround/fix required: preserve already-encoded JVM descriptors (including primitive/array forms) in kotlinTypeToJvmDescriptor in addition to the FQN comparisons. Suggested durable improvement: update the task/forensic guidance and add a focused parser-metadata-to-bytecode-descriptor contract test so future FQN fixes cannot stop at the first null-producing stage.
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.