Skip to content

VERSIONING and TEMPLATE specifications changed, additionally a file for LLM interations has been created #792

Open
ypriverol wants to merge 8 commits intomasterfrom
dev
Open

VERSIONING and TEMPLATE specifications changed, additionally a file for LLM interations has been created #792
ypriverol wants to merge 8 commits intomasterfrom
dev

Conversation

@ypriverol
Copy link
Member

@ypriverol ypriverol commented Feb 7, 2026

Summary by CodeRabbit

  • Documentation
    • Added comprehensive SDRF-Proteomics documentation covering multiple proteomics domains, templates, examples, tooling, and annotated datasets
    • Introduced a Versioning & Deprecation Policy with compatibility rules, migration guidance, and user-facing upgrade messaging
    • Expanded step-by-step guidance for creating new metadata templates with examples and validation guidance
    • Added an accessibility/organic badge to the project README
  • Chores
    • Removed an internal template schema resource (documentation-only change)

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 7, 2026

📝 Walkthrough

Walkthrough

This PR adds comprehensive SDRF‑Proteomics documentation and templates (YAML and TSV), includes an llms.txt discovery file and README badge, introduces a VERSIONING.adoc policy, and removes the LinkML template schema file. No code or exported API changes.

Changes

Cohort / File(s) Summary
README Badge
README.md
Inserted an accessibility/llms.txt availability badge linking to the discovery metadata.
LLMs Discovery
llms.txt
Added an llms.txt discovery file describing the SDRF‑Proteomics project, artifacts, templates, tools, examples, and publications.
Top-level SDRF Docs
sdrf-proteomics/README.adoc, sdrf-proteomics/quickstart.adoc, sdrf-proteomics/tool-support.adoc, sdrf-proteomics/open-issues.adoc
Added foundational project documentation and quickstart/support guides; README cross-references VERSIONING.adoc in two places.
Versioning Policy
sdrf-proteomics/VERSIONING.adoc
New comprehensive versioning & deprecation policy covering spec/templates/validator, compatibility, release processes, migration guidance, and user messaging.
Metadata Guidelines
sdrf-proteomics/metadata-guidelines/...
sdrf-proteomics/metadata-guidelines/sample-metadata.adoc, .../template-definitions.adoc, .../sdrf-terms.tsv
Expanded template-creation guidance into a 7-step, example-driven workflow; added sample metadata and SDRF terms reference.
Template READMEs
sdrf-proteomics/templates/*/README.adoc
Added README files for multiple template domains (MS-proteomics, affinity-proteomics, human, vertebrates, invertebrates, plants, cell-lines, dda-acquisition, dia-acquisition, single-cell, immunopeptidomics, metaproteomics, olink, somascan).
YAML Schemas & Examples
sdrf-proteomics/sdrf-templates/.../*.yaml, sdrf-proteomics/sdrf-templates/.../*.sdrf.tsv, sdrf-proteomics/sdrf-templates/templates.yaml
Added YAML template definitions and example SDRF TSVs across multiple domains and versions, plus base/inheritance files.
Specification PDFs
psi-document/v1.0.0/..., psi-document/v1.1.0-dev/...
Added SDRF‑Proteomics specification PDF artifacts for v1.0.0 and v1.1.0‑dev.
Removed Schema
sdrf-proteomics/templates/sdrf-template-schema.linkml.yaml
Deleted the LinkML schema file that previously defined the SDRF template model (enums, classes, validators, prefixes).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

Review effort 3/5

Suggested reviewers

  • nithujohn
  • levitsky
  • fabianegli
  • timosachsenberg

Poem

🐰 I hopped through docs both old and new,
I left a badge and templates too,
LinkML leapt off the page,
YAML now steals the stage—
Hooray! A tidy metadata view! 🌿

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title partially captures the changes but is overly broad and doesn't highlight the main scope. While it mentions VERSIONING and TEMPLATE changes, it fails to convey that this is a comprehensive restructuring adding ~60 new files with templates, specifications, and documentation, with one significant deletion of a schema file. The mention of 'LLM interactions' (llms.txt) is a minor addition not reflective of the primary effort. Consider a more specific title like 'Add SDRF-Proteomics comprehensive versioning, templates, and metadata guidelines' to better reflect the major scope and intent of this restructuring.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In `@README.md`:
- Line 10: The llms.txt badge link in the README points to a non-existent path;
update the URL target for the badge (the markdown beginning with
[![llms.txt](...)] to either the correct absolute GitHub repo path or a relative
path to llms.txt in this repository so the CI link checker passes; ensure the
displayed badge text and target file name "llms.txt" remain unchanged and verify
the new link resolves in the repo.

In `@sdrf-proteomics/VERSIONING.adoc`:
- Around line 138-164: The text is contradictory: the community template rules
require a spec_compatibility declaration (spec_compatibility) but the
deprecation policy section claims there is no spec_compatibility metadata;
update the document to be consistent by either (A) keeping the community rule
and removing the sentence "There is no `deprecated:` flag, no
`spec_compatibility:` range..." (or rewording it to say spec_compatibility is
required for community templates only), or (B) removing the community-rule
requirement for `spec_compatibility` and instead describing how template
compatibility is tracked solely by immutable versions; make the change near the
community-contributed templates list and in the [[deprecation-policy]] section
so both reference the same authoritative approach to spec_compatibility and
compatibility declarations.
- Around line 195-215: The example link in the "3. Validator Messages" section
of VERSIONING.adoc points to a placeholder URL that 404s; update the example
line that currently reads "See CHANGELOG for what changed:
https://github.com/bigbio/.../CHANGELOG.md" to a working URL or a relative link
to the project's CHANGELOG.md (e.g., "See CHANGELOG for what changed:
../CHANGELOG.md" or the repository's actual CHANGELOG URL) so the CI link
checker no longer fails; locate the exact text in the "Validator Messages"
paragraph and replace only the placeholder URL.

![Contributors](https://flat.badgen.net/github/contributors/bigbio/proteomics-metadata-standard)
![Watchers](https://flat.badgen.net/github/watchers/bigbio/proteomics-metadata-standard)
![Stars](https://flat.badgen.net/github/stars/bigbio/proteomics-metadata-standard)
[![llms.txt](https://flat.badgen.net/static/llms.txt/available/blue)](https://github.com/bigbio/proteomics-metadata-standard/blob/master/llms.txt)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fix llms.txt badge link to the correct repo path (CI link check fails).

The badge currently points to a non-existent path, which is causing the link checker failure. Update it to the correct repository or a relative link.

Suggested fix
-[![llms.txt](https://flat.badgen.net/static/llms.txt/available/blue)](https://github.com/bigbio/proteomics-metadata-standard/blob/master/llms.txt)
+[![llms.txt](https://flat.badgen.net/static/llms.txt/available/blue)](https://github.com/bigbio/proteomics-sample-metadata/blob/master/llms.txt)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[![llms.txt](https://flat.badgen.net/static/llms.txt/available/blue)](https://github.com/bigbio/proteomics-metadata-standard/blob/master/llms.txt)
[![llms.txt](https://flat.badgen.net/static/llms.txt/available/blue)](https://github.com/bigbio/proteomics-sample-metadata/blob/master/llms.txt)
🤖 Prompt for AI Agents
In `@README.md` at line 10, The llms.txt badge link in the README points to a
non-existent path; update the URL target for the badge (the markdown beginning
with [![llms.txt](...)] to either the correct absolute GitHub repo path or a
relative path to llms.txt in this repository so the CI link checker passes;
ensure the displayed badge text and target file name "llms.txt" remain unchanged
and verify the new link resolves in the repo.

Comment on lines 138 to 164
Community-contributed templates MUST:

1. Be submitted as a pull request to the https://github.com/bigbio/sdrf-templates[sdrf-templates] repository. The PR must include the YAML schema, an example `.sdrf.tsv` file, and documentation (a `README.adoc` in the corresponding `templates/` directory).
2. Extend an official template using the `extends` field.
3. Follow the same YAML schema structure defined in the link:metadata-guidelines/template-definitions.adoc[Template Definitions Guide].
4. Use the `-dev` suffix for pre-release versions (e.g., `1.0.0-dev`) until the template has been reviewed and accepted by the core team.
5. Declare their `spec_compatibility` range (see <<deprecation-policy>>).

Once merged, community templates become part of the official template catalog and appear in the `templates.yaml` manifest. The original contributors are expected to help maintain the template, but the core team assumes responsibility for ensuring compatibility with future specification releases.

IMPORTANT: The validator only recognizes templates present in the official `sdrf-templates` repository. Using `comment[sdrf template]` to reference a template name that does not exist in the catalog will produce a validation warning.

When a base template is updated, community template maintainers are responsible for testing compatibility and releasing updated versions via pull request. The validator SHOULD emit a warning when a community template references a base template version older than the latest available.

[[deprecation-policy]]
== Deprecation Policy

=== Core Principle: Versions Are Immutable

Once a template version is released (e.g., `human/1.1.0/human.yaml`), it is never modified or deleted. Changes go into a **new version** (e.g., `human/1.2.0/human.yaml`). This means:

* An SDRF file that was valid under `human v1.1.0` will always be valid under `human v1.1.0`.
* The validator loads whichever template version the file declares.
* No special deprecation metadata is added to template YAML files — each version is its own complete, self-contained truth.

There is no `deprecated:` flag, no `spec_compatibility:` range, and no deprecation schedule file. The mechanism is simply: **old versions stay, new versions are added, and the validator picks the right one.**

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Resolve the spec_compatibility contradiction.

This section requires community templates to declare spec_compatibility, but the deprecation policy later states there is no spec_compatibility range. Please align the policy text so it’s unambiguous.

🤖 Prompt for AI Agents
In `@sdrf-proteomics/VERSIONING.adoc` around lines 138 - 164, The text is
contradictory: the community template rules require a spec_compatibility
declaration (spec_compatibility) but the deprecation policy section claims there
is no spec_compatibility metadata; update the document to be consistent by
either (A) keeping the community rule and removing the sentence "There is no
`deprecated:` flag, no `spec_compatibility:` range..." (or rewording it to say
spec_compatibility is required for community templates only), or (B) removing
the community-rule requirement for `spec_compatibility` and instead describing
how template compatibility is tracked solely by immutable versions; make the
change near the community-contributed templates list and in the
[[deprecation-policy]] section so both reference the same authoritative approach
to spec_compatibility and compatibility declarations.

Comment on lines +195 to +215
==== 2. CHANGELOG (at the time of the change)

When the change is accepted and a new version is released, the `CHANGELOG.md` records:

* What changed (e.g., "column X moved from required to optional").
* Why it changed (link to the GitHub issue).
* Which template versions are affected (e.g., "human v1.2.0, vertebrates v1.2.0").
* What users need to do (e.g., "update your `comment[sdrf template]` to `human v1.2.0`; or keep `human v1.1.0` if you need the old behavior").

The CHANGELOG is the permanent human-readable record of all changes.

==== 3. Validator Messages (after the change)

The validator (sdrf-pipelines) is how most users discover that a newer version exists. Each sdrf-pipelines release ships with the full catalog of template versions. When it validates a file, it compares the declared template version to the latest available and reports:

[source]
----
INFO: Template 'human v1.2.0' is available.
Your file uses 'human v1.1.0' and is valid under that version.
See CHANGELOG for what changed: https://github.com/bigbio/.../CHANGELOG.md
----
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fix CHANGELOG link (CI link check failure).

The example uses a placeholder URL (https://github.com/bigbio/.../CHANGELOG.md) that resolves to 404. Replace it with a real link (or a relative link) to avoid broken-link failures.

Suggested fix
-  See CHANGELOG for what changed: https://github.com/bigbio/.../CHANGELOG.md
+  See CHANGELOG for what changed: link:../CHANGELOG.md[CHANGELOG]
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
==== 2. CHANGELOG (at the time of the change)
When the change is accepted and a new version is released, the `CHANGELOG.md` records:
* What changed (e.g., "column X moved from required to optional").
* Why it changed (link to the GitHub issue).
* Which template versions are affected (e.g., "human v1.2.0, vertebrates v1.2.0").
* What users need to do (e.g., "update your `comment[sdrf template]` to `human v1.2.0`; or keep `human v1.1.0` if you need the old behavior").
The CHANGELOG is the permanent human-readable record of all changes.
==== 3. Validator Messages (after the change)
The validator (sdrf-pipelines) is how most users discover that a newer version exists. Each sdrf-pipelines release ships with the full catalog of template versions. When it validates a file, it compares the declared template version to the latest available and reports:
[source]
----
INFO: Template 'human v1.2.0' is available.
Your file uses 'human v1.1.0' and is valid under that version.
See CHANGELOG for what changed: https://github.com/bigbio/.../CHANGELOG.md
----
==== 2. CHANGELOG (at the time of the change)
When the change is accepted and a new version is released, the `CHANGELOG.md` records:
* What changed (e.g., "column X moved from required to optional").
* Why it changed (link to the GitHub issue).
* Which template versions are affected (e.g., "human v1.2.0, vertebrates v1.2.0").
* What users need to do (e.g., "update your `comment[sdrf template]` to `human v1.2.0`; or keep `human v1.1.0` if you need the old behavior").
The CHANGELOG is the permanent human-readable record of all changes.
==== 3. Validator Messages (after the change)
The validator (sdrf-pipelines) is how most users discover that a newer version exists. Each sdrf-pipelines release ships with the full catalog of template versions. When it validates a file, it compares the declared template version to the latest available and reports:
[source]
----
INFO: Template 'human v1.2.0' is available.
Your file uses 'human v1.1.0' and is valid under that version.
See CHANGELOG for what changed: link:../CHANGELOG.md[CHANGELOG]
----
🤖 Prompt for AI Agents
In `@sdrf-proteomics/VERSIONING.adoc` around lines 195 - 215, The example link in
the "3. Validator Messages" section of VERSIONING.adoc points to a placeholder
URL that 404s; update the example line that currently reads "See CHANGELOG for
what changed: https://github.com/bigbio/.../CHANGELOG.md" to a working URL or a
relative link to the project's CHANGELOG.md (e.g., "See CHANGELOG for what
changed: ../CHANGELOG.md" or the repository's actual CHANGELOG URL) so the CI
link checker no longer fails; locate the exact text in the "Validator Messages"
paragraph and replace only the placeholder URL.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@sdrf-proteomics/VERSIONING.adoc`:
- Line 107: The documentation contains a broken cross-reference to
link:open-issues.adoc; locate the reference (the `link:open-issues.adoc` token)
in VERSIONING.adoc and either add a new open-issues.adoc documenting the
intended content or replace/remove the `link:open-issues.adoc` reference with a
valid target (for example another existing page such as
metadata-guidelines/template-definitions.adoc or an appropriate anchor like
<<versioning>>), ensuring the replacement preserves the intended context and
renders without a broken link.


=== Template Inheritance and Updates

Templates follow a layered hierarchy where child templates inherit from parent templates (see link:metadata-guidelines/template-definitions.adoc[Template Definitions Guide]). When a parent template is updated, the following rules apply:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify that cross-referenced documentation files exist

echo "Checking for cross-referenced documentation files..."

# List all files in sdrf-proteomics directory to understand structure
echo "=== Files in sdrf-proteomics directory ==="
fd -t f . sdrf-proteomics/ | head -30

echo ""
echo "=== Checking for specific cross-referenced files ==="

# Check for template-definitions.adoc
echo "Searching for template-definitions.adoc..."
fd "template-definitions\.adoc" sdrf-proteomics/

# Check for README.adoc
echo ""
echo "Searching for README.adoc..."
fd "README\.adoc" sdrf-proteomics/

# Check for open-issues.adoc
echo ""
echo "Searching for open-issues.adoc..."
fd "open-issues\.adoc" sdrf-proteomics/

# Check for any .adoc files in the directory
echo ""
echo "=== All .adoc files in sdrf-proteomics ==="
fd "\.adoc$" sdrf-proteomics/ | sort

Repository: bigbio/proteomics-sample-metadata

Length of output: 3543


🏁 Script executed:

#!/bin/bash
# Check if README.adoc contains a versioning anchor
echo "=== Checking for versioning anchor in README.adoc ==="
rg "^\[\[versioning\]\]|^== .*[Vv]ersion" sdrf-proteomics/README.adoc || echo "No versioning anchor found"

echo ""
echo "=== Checking line 507 in VERSIONING.adoc ==="
sed -n '505,509p' sdrf-proteomics/VERSIONING.adoc | cat -n

Repository: bigbio/proteomics-sample-metadata

Length of output: 663


Remove or fix broken reference to open-issues.adoc.

Line 507 references link:open-issues.adoc which does not exist in the repository. Either create the file or remove/replace this reference to prevent broken documentation links. The other cross-references (metadata-guidelines/template-definitions.adoc and the <<versioning>> anchor in README.adoc) are valid.

🤖 Prompt for AI Agents
In `@sdrf-proteomics/VERSIONING.adoc` at line 107, The documentation contains a
broken cross-reference to link:open-issues.adoc; locate the reference (the
`link:open-issues.adoc` token) in VERSIONING.adoc and either add a new
open-issues.adoc documenting the intended content or replace/remove the
`link:open-issues.adoc` reference with a valid target (for example another
existing page such as metadata-guidelines/template-definitions.adoc or an
appropriate anchor like <<versioning>>), ensuring the replacement preserves the
intended context and renders without a broken link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants