CI & Build / Python lint (push) Successful in 2s
CI & Build / Plugin hooks (push) Successful in 14s
CI & Build / TypeScript typecheck (push) Successful in 37s
CI & Build / integration (push) Successful in 1m22s
CI & Build / Python tests (push) Successful in 1m59s
CI & Build / Build & push image (push) Successful in 43s
A by-name reference edge could not tell two definitions of one name apart: in a Go repo that defines `file` as importRun.file (internal/files, the canon) and as sftpRun.file (internal/replication), a mirror test calling `m.file(` was recorded as a use of the canon. names_canon now takes defined_at, every repo path that defines each name, in place of the shape file's own names. The own-file rule is unchanged. When the repo also defines the canon's name somewhere the canon is not recorded, a mention counts only from the canon's own package: the directory of a file location exactly, or under a directory location. A name defined once resolves as before. Proposer version 8 -> 9, so the next coverage refresh re-reads every row and replaces its reference edges. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>