I think we had a discussion on "public method" vs "published interface" once (somewhere near 1.0 release). For instance, adding an explicit annotation like @CalcitePublicAPI (or .internal package) so consumers could distinguish "Calcite's internal utility class" from "true public API (as in semver)".
That however did not get much attention. It turned out we somehow managed to live without it. I do not find lots of questions on the list on the subject, thus current approach seems to be good enough. I wonder if that would be a good starter / newbie jira issue. Vladimir
