author-internal-id-present (TN101)#
Group |
Default severity |
|---|---|
Metadata |
Error |
Every [[technote.authors]] entry in technote.toml must declare an internal_id.
The internal_id links the author to their entry in the Rubin author database (authordb.yaml), which is how authors are identified consistently across Rubin documents — and a missing ID blocks minting a DOI for the technote.
Example of a failing technote#
[technote]
id = "SQR-000"
[[technote.authors]]
name = { given = "Yusra", family = "AlSayyad" }
orcid = "https://orcid.org/0000-0002-4913-6541"
[TN101] Author Yusra AlSayyad is missing an internal_id. Did you mean 'alsayyady' (matched by ORCID)? Run 'documenteer technote sync-authors' to add it.
When the linter can confidently match the author in the author database — by ORCID, or by a single near-exact name match — it suggests the likely ID (see Suggested author IDs). Verify the suggestion before using it; it never changes whether the command passes.
How to fix it#
When the entry declares an orcid, as in the example above, run documenteer technote sync-authors:
documenteer technote sync-authors
It resolves the same ORCID and writes the internal_id into that entry for you, reporting what it filled in:
Synchronized authors to technote.toml:
- Yusra AlSayyad (alsayyady, matched by ORCID)
Otherwise, add the author’s ID from authordb.yaml to the entry by hand, then run the same command to synchronize the rest of the author’s metadata from the database:
[[technote.authors]]
name = { given = "Yusra", family = "AlSayyad" }
internal_id = "alsayyady"
If the author has no entry in the author database yet, add one first by submitting a pull request to lsst/lsst-texmf — see Maintaining author metadata for the workflow.
See also#
TN102 — the entry has an
internal_id, but it is not in the author database.Maintaining author metadata — how technote author metadata connects to the author database.