You are misunderstanding the functionality. It is either simpler than you think, or you are just applying your Sage point of view on to MC.
The Compare fields are only used in conjunction with the "Do not record programs that have been recorded in the past" to decide if the program has been previously recorded. To confirm, just untick the "Do not record programs that have been recorded in the past" flag and you will see that the "Compare fields:" field becomes inactive.
[Note to Yaobing: The "Compare fields:" field can be active when I first enter a rule to reconfigure it, even if the "Do not record programs that have been recorded in the past" flag is unticked. I suspect that that is unintentional.]
I do not believe that it uses the contents of the Name field in this comparison. It compares the full contents of the selected Compare fields from the EPG for each program to be recorded, with I assume the Library recorded of previous recordings. If they all match, the later showing is not recorded.
When you created a subscription rule earlier, if you got it correct, then it would have shown up in the "To be recorded" list. You did something wrong. While I haven't implemented MC21 yet, the functionality hasn't changed from the version I am using, so it works. Nothing is broken. I suspect that a setting was wrong, or if you had a big list of programs to be recorded, you missed the new one in the list. How did you have the list sorted? By day and time, which is the default, or by name?
The method I use to check rules is:
1. Create the rule.
2. Click on the "To Be Recorded" list.
3. Enter the Program Name, or the first part of it, into the search box in the top right corner of Standard View. I enter enough of the program name to get a short list as a result. This avoids scrolling to find programs.
You will then be able to see if your rule has selected a program to be recorded. If you want to check if the expected rule actually selected the program to be recorded, rather than some other existing rule, then;
a. In the "To Be Recorded" list, right click on the program that you are investigating.
b. Select "Configure Recording", "Subscription Options", "Next".
c. Check that the expected rule is opened for editing.
If you are just fine tuning a rule, then you can stay in the "To Be Recorded" list and use the right click method to tweak the configuration, and the list will be updated.
For example, I was just testing "Do not record Reruns" flag using a rule that selects a program which is repeated once within the current week. With the flag unticked, two showings of the program are in the "To Be Recorded" list. With the flag ticked only the first showing of the program is in the list. You may wish to know that this works even though the EPG does not have a "Rerun/Repeat" flag in it for either show. As MC knows the first showing is on the "To Be Recorded" list, it doesn't select the second showing.
I actually thought it would be the "Do not record programs that have been recorded in the past" flag in conjunction with the "Compare fields:" values that would decide if the second showing was to be recorded. But no, it is the "Do not record Reruns" flag. That begs the question; How does MC know a later showing is a rerun, if it doesn't use the "Compare fields:" values and there is no flag in the EPG? It appears MC must make some assumption about what constitutes a rerun.
Anyway, if I have this all wrong Yaobing, please correct me. Perhaps even confirm I am correct if you can, as that would be helpful in future discussions.