Toggling between proper-named and not proper-named

Where can I insert a rule to trigger the proper-named or not proper-named property to change for each thing right before the printed name is printed?

I have a relation that decides whether a person that varies called the “current_speaker” knows the name of a thing, and depending on whether they do or not, a different text might be printed. That all works, however, the indefinite article I can’t seem to control directly for each thing. I need to control this immediately before each thing is printed, because the “current_speaker” can change multiple times in the reporting of a single turn, so just setting everything at the outset of an action or turn isn’t good enough.

I tried this, and variations of this, and the part about proper-named doesn’t work… it looks like the article is printed in some activity or rule before the printing the name activity, and setting a rule to happen before that one isn’t sufficient, but I can’t figure out what would be sufficient.

Before printing the name of a prop_object when the current_speaker name_knows the item described:
	now the item described is proper-named;

Before printing the name of a prop_object when the current_speaker does not name_know the item described:
	now the item described is not proper-named;

Rule for printing the name of a prop_object when the current_speaker name_knows the item described:
	say "[name_known_printed_name]";

I think, nevermind, I might have it here (if I have other problems, well, I’ll cross that bridge then):

To change the current_speaker to (x - a prop_object):
	now the current_speaker is (x);
	now every prop_object that is name_known by the current_speaker is proper-named;
	now every prop_object that is not name_known by the current_speaker is not proper_named;

When play begins:
	let x be the current_speaker;
	change the current_speaker to x;