A test runner maintains a set of "result properties" associated with
the current or most recent test. (I.e. the properties of the
most recent test are available as long as a new test hasn't started.)
Each property has a name (a symbol) and a value (any value).
Some properties are standard or set by the implementation.

We should clarify the semantics of attempting to set a standard property.
For example, is it legal to set the 'kind property?

I would say that is undefined.

That works for me.

[...]

(test-result-ref [runner] 'pname [default])

Hmm. I think statically ambiguous interfaces are confusing.
[...]
If you see the following (admittedly poorly written) code fragment:

(test-result-ref x y)

We can pick one. I'd say here x is the runner and y the 'pname.
Perhaps we should just make these [runner] arguments required.
It's important to have a convenient/terse syntax for test suites,
but there is little value in making test-runner code maximally terse.