SIR2 curation notes

2026-09-02 Update

Audited existing_annotations for oversights.

2026-09-04 Update: review follow-up

Addressing review feedback on PR #2942.

Dropped the speculative mechanism from the NHEJ reason

The reason had claimed the end-joining requirement was "likely via its
chromatin/telomere maintenance role". The paper does not say this, and none of
the papers bearing on the actual candidate mechanism are cached, so no PMID can
be cited without guessing. The clause is removed and replaced with an explicit
statement that the mechanism is not established by the cached abstract. (For the
record only, not asserted in the YAML: the standard explanation in the field is
that loss of silencing derepresses HML/HMR, producing a pseudo-diploid a1/alpha2
state that represses NHEJ genes such as NEJ1 - i.e. an indirect transcriptional
effect rather than a direct chromatin one. This should be sourced properly before
it enters the review.)

GO:0016740 REMOVE was wrong -- the review's own text conceded it

The prior reason argued SIR2 "is not a transferase", while simultaneously
admitting "the reaction formally involves transfer of the acetyl group to
ADP-ribose". The repo's own UniProt record settles it:

Sirtuins are not hydrolytic deacetylases; they consume NAD+ and transfer the
acetyl group onto ADP-ribose. So the term is correct but uninformatively generic.
Changed REMOVE to KEEP_AS_NON_CORE. The entry's existing supporting_text
PMID:10811920 supports the transfer
chemistry, so it was already inconsistent with the REMOVE.

Replaced title-only quotes for PMID:9501103

Three supported_by entries quoted the paper's title rather than a result. All
three now quote the abstract body:

Stale companion documents -- NOT fixed here, needs a maintainer decision

Four files in this folder still record the retracted REMOVE decisions and now
contradict the review:

These are ad-hoc curation artifacts outside the schema-defined file set
(*-ai-review.yaml, *-notes.md, ...), and the right fix is arguably to delete
them rather than maintain a parallel record that can drift out of sync with the
review. That is a maintainer call, so they are left untouched and flagged on the
PR instead.

Scope of these passes

Both passes were targeted (the NHEJ decision, then the review's specific
findings). The remaining annotation actions were not systematically
re-adjudicated, so no blanket claim is made about them.

2026-09-08 Update: round-3 review follow-up (PR #2942)

Addressed the two in-scope self-consistency suggestions from the round-2 review:

Items NOT fixed here - outside this pass's permitted edit set

This pass was permitted to edit only SIR2-ai-review.yaml and SIR2-notes.md.
The two remaining blocking items both require editing other files and are left
for a maintainer decision:

2026-09-09 Update: round-4 review follow-up (PR #2942)

GO:0006281 DNA repair -- rationale was falsified by this PR's own NHEJ fix

The round-3 review flagged a contradiction introduced by this PR: GO:0006281 was
MARK_AS_OVER_ANNOTATED on the grounds that "SIR2 is not a DNA repair enzyme...
This is recombination suppression, not DNA repair", while the GO:0006303 block
accepts IMP evidence that SIR2 is genuinely required for Ku-dependent
end-joining repair.

Checked the ancestry rather than assuming it. QuickGO
(/ontology/go/terms/GO:0006303/ancestors?relations=is_a,part_of) returns both
GO:0006302 and GO:0006281 among the ancestors of GO:0006303, so this is a
true-path-rule problem and not merely a prose inconsistency: accepting the NHEJ
child entails the DNA-repair parent.

Rewrote the GO:0006281 block to argue altitude rather than falsity, and
changed the action MARK_AS_OVER_ANNOTATED -> KEEP_AS_NON_CORE, matching how
the other correct-but-generic IEA rows on this gene are handled (GO:0016740
transferase activity, GO:0006974 DNA damage response). Added the PMID:9501103
plasmid-rejoining quote to supported_by so the retained term is grounded in the
same experimental row that grounds the child term. The existing PMID:12923057
hyperrecombination quote is kept.

Note the provenance symmetry the review pointed out: GO:0006281 is the same kind
of keyword-derived row (IEA, GO_REF:0000043, UniProtKB-KW:KW-0234) that this
review already accepted for GO:0016740 on the strength of its UniProt keyword
chain, and it now additionally has experimental grounding on the target itself.

generate_sir2_review.py -- stale decisions synced

The script writes SIR2-ai-review.yaml wholesale, so running it (as
README-CURATION.md advertises) would have reverted this PR. It is not wired
into CI and its output path is still hardcoded to /Users/cjm/..., so nothing
was breaking today, but the documented regeneration path silently undid the fix.
Updated the three now-stale dict entries in place so the script's decisions match
the curated YAML:

This is the narrower of the two fixes the review offered (update the dicts vs.
delete the scaffold and drop the README claim). Deleting the script is still the
better long-term answer -- a wholesale generator alongside a hand-curated YAML
will drift again -- but that requires editing README-CURATION.md, which is
outside this pass's permitted edit set. Flagged on the PR instead.

Still NOT fixed -- outside this pass's edit scope

The four stale companion docs are unchanged, for the third round running. This
pass was permitted to edit *-ai-review.yaml, *-notes.md, and tooling scripts
only; SIR2-ANNOTATION-ACTIONS.tsv, SIR2-CURATION-SUMMARY.md,
README-CURATION.md, and CURATION-REVIEW-FINAL.md are none of those. The
maintainer call (delete vs. maintain) is still open.

2026-09-10 Update: round-5 review follow-up (PR #2942)

generate_sir2_review.py -- deleted

The round-4 review rejected the previous pass's narrower fix: syncing three dict
entries left the script looking reconciled while remaining structurally
divergent, which is worse than an obviously stale scaffold. Verified the
divergence directly rather than taking the review's word for it -- the script
holds 58 annotation dicts against 67 existing_annotations in the
curated YAML, missing eight of the nine GO:0005515 rows and one of the two
GO:0005634 rows. Re-running it would therefore have deleted nine GOA-backed
annotations (and broken validate-goa), on top of restoring the title-only
PMID:9501103 quotes, the superseded GO:0031509 IMP reason, and dropping the
reference_review on PMID:23307867.

A wholesale generator cannot be kept in sync by hand alongside a YAML that has
now been hand-edited across five rounds, so the scaffold was deleted rather than
patched again. SIR2-ai-review.yaml is maintained by hand and checked with
just validate yeast SIR2. The "can be run to regenerate" claim in
README-CURATION.md (the thing that made the stale script dangerous) was
replaced with a note recording the removal and the reason.

GO:0006281 wording

summary said "generic parent term". GO:0006281 is a grandparent of GO:0006303
(via GO:0006302), as the block's own reason already states, so "parent" was
imprecise. Changed to "generic term", matching how the GO:0016740 block already
phrases the same point; the reason now says "generic ancestor".

Still NOT fixed -- maintainer decision

SIR2-ANNOTATION-ACTIONS.tsv, SIR2-CURATION-SUMMARY.md, and
CURATION-REVIEW-FINAL.md still record the retracted REMOVE decisions for
GO:0016740 and GO:0006303, and CURATION-REVIEW-FINAL.md:352 still lists the
now-deleted generator. These are historical curation artifacts, not curation
records the schema validates, so whether to delete them or keep them as a
dated historical record is a maintainer call, not an automated one.