I've gathered the following from several Latin Grammar books, including some e-books from the "learn latin" section here.
a 3rd declension noun has i-stem if:
1) parisyllabic nouns in -is or -es, e.g. ciuis, -is ; nubes, -is. exceptions: canis, panis, iuuenis.
2) imparisyllabic nouns, with genitive's -is preceeded by more than one consonant, e.g. ars, artis ; nox, noctis.
3) neuter nouns ...