I’m often using something like ^pos(determiner _0) in my output. But I have a challenge when the word is “dog”, for example after the input “what is a dog?”.
In this case, CS sees that the word ends in a “g” and that “dog” matches a verb infinitive and so the function doesn’t supply the “a” prefix I’m really after.
I’m not really sure what I could do except to write my own determiner macro that uses the current pos information to know the word’s specific usage concepts (as a noun in this case) and hence override the default ^pos() function which doesn’t use that knowledge.
Though that becomes more complicated in rejoinders when the pattern match is stored in a $variable and the initial pos information has gone.