Error in Relevance for fixlet "UPDATE: macos Catalina 10.15.1 Available"

The relevance 2 states
(exists string “ProductVersion” whose (it as version >= “10.15.0” and it as version < “10.15.1”) of dictionary of it) of file "/System/Library/CoreServices/SystemVersion.plist"
the actual results produce 10.15 not 10.15.0 and then doesnt work correctly unless you change both “as version” to as string.

Q:(exists string “ProductVersion” whose (it as version >= “10.15.0” and it as version < “10.15.1”) of dictionary of it) of file "/System/Library/CoreServices/SystemVersion.plist"
A: False
T: 4.000 ms

Q: (exists string “ProductVersion” whose (it as version >= “10.15” and it as version < “10.15.1”) of dictionary of it) of file "/System/Library/CoreServices/SystemVersion.plist"
A: False
T: 4.000 ms

Q:(exists string “ProductVersion” whose (it as string >= “10.15” and it as string < “10.15.1”) of dictionary of it) of file "/System/Library/CoreServices/SystemVersion.plist"
A: True
T: 4.000 ms

Q:(string “ProductVersion” of dictionary of it) of file "/System/Library/CoreServices/SystemVersion.plist"
A: 10.15
T: 7.000 ms

what if you change the
it as version
to
pad of it as version ?

(exists string “ProductVersion” whose ( pad of it as version >= “10.15.0” and pad of it as version < “10.15.1”) of dictionary of it) of file "/System/Library/CoreServices/SystemVersion.plist"
E: The operator “pad” is not defined.
T: 3.000 ms

I don’t have a 10.15 system handy, but this works in qna:

Q: exists string "10.15" whose ((pad of (it as version) >= "10.15.0") and (pad of (it as version) < "10.15.1"))
A: True
T: 96

Sorry for the delay in responding.
that results true even on a 10.15.2

Q: exists string “10.15” whose ((pad of (it as version) >= “10.15.0”) and (pad of (it as version) < “10.15.1”))
A: True
T: 1.1000 ms

Q: version of operating system
A: 10.15.2
T: 4.000 ms

Q:(exists string “ProductVersion” whose (it as string >= “10.15” and it as string < “10.15.1”) of dictionary of it) of file "/System/Library/CoreServices/SystemVersion.plist"
A: False
T: 4.000 ms

I’m not sure I see a problem there…in your first query, ‘true’ is expected because you are comparing the string “10.15”, not the version of your OS.

In the third query, it is showing the expected ‘false’ because 10.15.2 is not less than 10.15.1

Sorry, my Bad… You version works on a machine that is reporting 10.15 as the version

however, it also returns true on a 10.14.6
Q: exists string “10.15” whose ((pad of (it as version) >= “10.15.0”) and (pad of (it as version) < “10.15.1”))
A: True
T: 0.000 ms

Q: version of operating system as string
A: 10.14.6
T: 3.000 ms

I mean that the copy/paste example isn’t doing the comparison I think you think it is…

exists string “10.15”

Nothing there is looking at the OS version, just this literal string

I think you need something like

Q: exists (version of operating system) whose (pad of it ...)