Build deprecated.tsv only when missing; stop a newer generator script from silently regenerating it - #622
Merged
Conversation
…ator is newer The rule for the hand-maintained obsoletion file had the generator script as a prerequisite. Make compares timestamps, so any edit, reformat or fresh checkout that made the script newer than the TSV would regenerate deprecated.tsv from BioPortal history on the next build and discard every hand edit, silently. The comment above the rule already called the file hand-maintained and the rule recovery-only; the rule now enforces it, the same way the sheet-template rules do. `make regenerate-deprecated` still works because it removes the target first. Verified: with the script touched newer than the TSV, `make -n` printed the regeneration recipe before this change and reports the target up to date after. Also corrects docs/ANNOTATOR_COMPARISON_STATUS.md, which described MICRO as the Pathogen Transmission Ontology. MicrO is the Ontology of Prokaryotic Phenotypic and Metabolic Characters. Closes #621 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FcR9NMbL1o3svKyBqsNKpA
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The changes align with the stated intent (preventing timestamp-driven overwrites) and preserve the deliberate regeneration workflow without introducing functional risk.
Pull request overview
This PR prevents accidental overwriting of the hand-maintained src/templates/deprecated.tsv by removing the generator script prerequisite from the Make rule, so the file is only generated when missing (or when explicitly regenerated). It also corrects a documentation misdescription of the MicrO ontology.
Changes:
- Updated
src/ontology/metpo.Makefileso../templates/deprecated.tsvhas no prerequisites, avoiding timestamp-triggered silent regeneration. - Kept
make regenerate-deprecatedworking as the explicit rebuild path (by removing the target first). - Fixed
docs/ANNOTATOR_COMPARISON_STATUS.mdto describe MICRO as MicrO (Blank et al. 2016), not a pathogen transmission ontology.
File summaries
| File | Description |
|---|---|
| src/ontology/metpo.Makefile | Removes the prerequisite that could trigger unintended regeneration of the hand-maintained deprecated term template; documents the intended regeneration workflow. |
| docs/ANNOTATOR_COMPARISON_STATUS.md | Corrects the description of the MICRO/MicrO ontology in the comparison list. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This was referenced Sep 3, 2026
Record the eleven never-built Sheet-only identifiers in deprecated.tsv so they are never reused
#623
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Closes #621.
src/templates/deprecated.tsvis hand-maintained, but its Makefile rule listed the generator script as a prerequisite. Make compares timestamps, so a generator script newer than the TSV made the next build regenerate the file from BioPortal history and discard every hand edit, with no diff and no warning. Today the TSV is newer, so nothing has been lost yet; the next edit to the script would have changed that.What changed
The rule has no prerequisites, matching the sheet-template rules in the same file.
make regenerate-deprecatedis unchanged and still works, because it removes the target before invoking the rule.Also fixes
docs/ANNOTATOR_COMPARISON_STATUS.md, which called MICRO the "Pathogen Transmission Ontology"; MicrO is the Ontology of Prokaryotic Phenotypic and Metabolic Characters.Validation
Run from
src/ontologywith the generator script touched newer than the TSV.Before:
After:
Documentation impact
The Makefile comment above the rule now states the no-prerequisite intent and names
make regenerate-deprecatedas the deliberate path.Scope and complexity
Two files, one Make rule and one doc line. No template content changes.
🤖 Generated with Claude Code
https://claude.ai/code/session_01FcR9NMbL1o3svKyBqsNKpA