Well done, @David Hockenbroch !

USER>zpm "install watchedstatus"

[USER|watchedstatus] Reload START (/usr/irissys/mgr/.modules/USER/watchedstatus/1.0.3/)

[USER|watchedstatus] Reload SUCCESS

[watchedstatus] Module object refreshed.

[USER|watchedstatus] Validate START

[USER|watchedstatus] Validate SUCCESS

[USER|watchedstatus] Compile START

[USER|watchedstatus] Compile SUCCESS

[USER|watchedstatus] Activate START

[USER|watchedstatus] Configure START

[USER|watchedstatus] Configure SUCCESS

[USER|watchedstatus] Activate SUCCESS

Installed perfectly!

Not sure about functionality though. I was wondering of a class that gives me an error, and remember another ipm module - objectcript-errors.

Installed:

USER>zpm "install objectscript-errors"

[USER|objectscript-errors] Reload START (/usr/irissys/mgr/.modules/USER/objectscript-errors/1.0.2/)

[USER|objectscript-errors] Reload SUCCESS

[objectscript-errors] Module object refreshed.

[USER|objectscript-errors] Validate START

[USER|objectscript-errors] Validate SUCCESS

[USER|objectscript-errors] Compile START

[USER|objectscript-errors] Compile SUCCESS

[USER|objectscript-errors] Activate START

[USER|objectscript-errors] Configure START

[USER|objectscript-errors] Configure SUCCESS

[USER|objectscript-errors] Activate SUCCESS

it can generate errors in simple objectscript calls, e.g. null division etc:

USER>s sc=##class(shvarov.objectscript.errors).DIVIDE()         

ERROR #5002: ObjectScript error: <DIVIDE>DIVIDE+3^shvarov.objectscript.errors.1

USER>zw sc

sc="0 "_$lb($lb(5002,"<DIVIDE>DIVIDE+3^shvarov.objectscript.errors.1",,,,,,,,$lb(,"USER",$lb("^DIVIDE+3^shvarov.objectscript.errors.1^1","e^^^0"))))/* ERROR #5002: ObjectScript error: <DIVIDE>DIVIDE+3^shvarov.objectscript.errors.1 */

So this is what I did:

USER>set status=##class(DH.WatchedStatus).New("RW")

USER>set status.sc=##class(shvarov.objectscript.errors).DIVIDE()

ERROR #5002: ObjectScript error: <DIVIDE>DIVIDE+3^shvarov.objectscript.errors.1ERROR #5002: ObjectScript error: <DIVIDE>DIVIDE+3^shvarov.objectscript.errors.1

if I do w status.sc:

USER>w status.sc

1

If I do everything right?

Why discuss 100+ rules? 

I don't care honestly which rules ObjectScript Quality's clients would like to enforce in their organisation.

By providing a free-of-charge scanning with this tool (which is not InterSystems one), we use only 11 rules that we think are useful for the developer community. And we are more than happy to expand these 11 to more or improve current.

For 100 + other rules we don't care.

Why are we discussing too many properties and too many methods rules?

For InterSystems Developer Community we use only 11 rules.

Is "variable not found" a bad rule?

I faced this issue many times, even in my code, and found it very helpful. What is bad that public ObjectScript repositories will be scanned for free for such an error?

Could we discuss these 11 rules that are being used? 

Which else rules could be useful and potentially could be added?