+1 Kevin! I think the TCK in Jakarta raises the bar higher for people to run TCK freely. As a contributor, I would like to be able to add TCKs whenever I propose API/Spec changes. Otherwise, we will run out of sync in no time. Therefore, I support what Andy proposed to split TCK and rehome them to be with where it should belong. I speak directly from my own experience of working on MicroProfile. It is great to add tests together with spec or api changes to demonstrate the full piece.
As for releasing TCKs separately:
1. When releasing a new version of a spec, we release API/Spec/TCK and they have either major or minor version changes. They share the same version. With the same version, we know which version of TCK we should execute for the version of Spec you choose.
2. If we found any bugs in TCK, we can do a patch release for the project, which produces a micro/patch version release of API/Spec/TCK so that runtimes can execute the new TCK while end users are not affected.
The above fits in well with the general understanding of major/minor/micro release.
HTH
Thanks
Emily