So has the real definition of cores been hashed out yet?
A single general-purpose processor has the following basic requirements:
1. Increment or decrement a number.
2. Compare if a number is less than or equal to zero.
3. Change the program counter based on the result of requisite 2.
4. Read or write from or to an arbitrary memory address* (usually set using functionality from requisites 1 to 3 to set sources and destinations).
5. Terminate computation based on the results of requisite 2 (usually implemented by requisites 2 and 3).
A "core" needs to be able to do all of that, independently from other, "cores." So, a post-RISC x86 CPU, "core," must have its own ALU, AGU, and LSU.
If a processor blurs the lines, what is important is that they define their, "core," and remain consistent with their definition.
The term, "core," largely exists because, "multiprocessor," historically refers to what we call a single processor, so they needed to call them something else. It's a name to help categorize and differentiate integrated components.
* this may include stacks, registers, special local stores, etc., though with registers or stacks, more than one such memory must be available, for any practical program.