

What’s actually missing here?
At the very least, it is missing a context definition in the JSON-LD document that describes the term. What does a document of type ChooseAnswer mean if the provided @context entry only makes references to activitystreams and security/v1 namespaces?
More than that, it is missing a clear need. There is no need to specify a new vocabulary term when as:accept is right there: Why define a new term when something like
{
"id": "https://piefed.social/activities/answer/hgb4iO4b8UAFRTn",
"type": "Accept",
"actor": "https://piefed.socialz/u/rimu",
"object": "https://piefed.ngrok.app/comment/224",
"target": "https://piefed.ngrok.app/post/123",
"@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1"],
"audience": "https://crust.piefed.social/c/linux_questions",
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"cc": ["https://crust.piefed.social/c/linux_questions"]
}
can represent the information that a comment has been accepted as a good answer to the question?

I think that Richard Stallman is a despicable person. Never stopped me from using and supporting the development of Emacs and GNU tools for the past 25+ years.