WFImplementation.js:102 has a defensive guard:
// TODO (T413840): Determine why this happens; it appears to be due // to some of the list resolution short-circuiting code interacting // negatively with list types. if ( !( fullType instanceof WFBase ) ) { return fullType; }
The branch is reached in practice but the root cause is undocumented. This is investigation work, not a bug fix; the outcome is either a real fix to the upstream short-circuit or a written invariant explaining why the fallback is correct.
TODO:
- deploy current fix
- monitor for another week to see if the offending logs reappears;
- if so, continue to diagnose and fix; if not, remove the guarded bit of code and logs
Desired behavior/Acceptance criteria
- Identify which call path produces a non-WFBase fullType here. Likely candidates: typed-list resolution in WFList, the Z8K2 resolution path in WFCodeImpl.evaluate.
- Either fix the producer so this branch is unreachable and remove the guard, or document the invariant in a comment that replaces the TODO.
- All existing tests pass; if a real bug is found, add a regression test.