Not deprecated, but made fully typed (so that you can say “thing based rulebook” or “person based rulebook” or whatever instead of having to rely on just two options).
The “basis” is essentially an argument to the rulebook, to use standard programming terminology. If you define a person based rulebook, you can then say “follow the whatever rules for Steve”.
Similarly, the “producing” clause is a return type. So you could say
The hotness rulebook is a person based rulebook producing a number.
Hotness rule for Steve: rule succeeds with result 5.
[and then, in code:]
let N be the number produced by the hotness rulebook for Steve.
Zarf already gave a good explanation, but just to clarify one small point about what you asked, if you don’t specify the basis for a rulebook, then it is an action-based rulebook. So there are no “subsets” of “rulebook”. Every rulebook has a basis, i.e., the ‘kind’ on which it operates. When the basis isn’t specified, ‘action’ is understood as the basis.