That seems like a clear enough separation - but the statement that jgm wrote implies there might be cases where it’s necessary to include what might otherwise be an extension as part of core, or am I misunderstanding. Here’s the quote:
That seems like it only applies in an edge case but that edge case might also be an approach that is considered.
I do like the suggestion that @vas makes about opting for something to be an extension vs core depending on whether it’s a feature that should be universal everywhere that uses CommonMark or if it’s something that a platform can opt to add on but, that may also not work if there are cases where it’s necessary for it to be part of the core for the functionality to work fully.