Readonlycapability: FindingLocationCapabilityReadonlyfield: readonly string[]Optional ReadonlyindeterminateSites?: readonly SourceLocation[]Every candidate access site a "FIELD_ACCESS_INDETERMINATE" finding
could actually be about (ADR 0052) -- populated only for that code.
Lives here, on the one variant that can carry it, rather than as a
flat sibling of location: a field-level finding is the only kind
that ever has one. Spans potentially multiple consuming files, so
each entry carries its own file (SourceLocation, not just
SourcePosition).
Readonlykind: "field"Optional Readonlyposition?: SourcePosition
Where a finding points, as a discriminated union -- never a formatted string a consumer would have to parse back apart. Ships with only the variants
findings.ts's actual emission sites produce today ("capability"/"field"/"consumer"/"none");"operation"is included becauseReportFinding.operationis already part of that type's public shape, even though no current finding populates it -- trivially reachable the day one does, not a guess about what it would look like."capability"/"field"/"operation"carry an optionalposition(ADR 0052) -- the declaration site's own position, when the sourceReportFinding.positionwas populated;"consumer"doesn't, since it locates a consuming file, which has no single declaration position the way a capability/field/operation's own declaration does.