One finding, with its structured location computed -- and only that
(OUT-02). A rule/scan emits a ReportFinding carrying the raw, optional
capability/field/operation/source/position/indeterminateSites
locators (see findings.ts); locationOf resolves all six into one
required, structured location, and this type then drops them, so a
consumer has exactly one path to "where does this point" instead of a
structured answer sitting next to six flat ones that say the same thing
(and could drift apart under a hand-constructed value). Two names for one
lineage: emit a ReportFinding, consume a LocatedFinding.
One finding, with its structured
locationcomputed -- and only that (OUT-02). A rule/scan emits aReportFindingcarrying the raw, optionalcapability/field/operation/source/position/indeterminateSiteslocators (seefindings.ts);locationOfresolves all six into one required, structuredlocation, and this type then drops them, so a consumer has exactly one path to "where does this point" instead of a structured answer sitting next to six flat ones that say the same thing (and could drift apart under a hand-constructed value). Two names for one lineage: emit aReportFinding, consume aLocatedFinding.