diff --git a/.github/workflows/rfc-front-matter.yml b/.github/workflows/rfc-front-matter.yml new file mode 100644 index 000000000..b9ea49eca --- /dev/null +++ b/.github/workflows/rfc-front-matter.yml @@ -0,0 +1,33 @@ +name: "Validate RFC front matter" + +on: + workflow_dispatch: + push: + branches: ["main"] + pull_request: + branches: ["main"] + paths: + - "rfc/**" + - ".github/workflows/rfc-front-matter.yml" + +concurrency: + group: rfc-front-matter-${{ github.ref }} + cancel-in-progress: true + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install dependencies + run: pip install linkml pyyaml + + - name: Validate against rfc/schema/front_matter.yaml + run: python rfc/schema/validate.py diff --git a/_ext/document_authors.py b/_ext/document_authors.py new file mode 100644 index 000000000..bf3b08ec4 --- /dev/null +++ b/_ext/document_authors.py @@ -0,0 +1,98 @@ +import yaml +from docutils import nodes +from docutils.parsers.rst import Directive + +ORCID_ICON = "https://orcid.org/assets/vectors/orcid.logo.icon.svg" +GITHUB_ICON = "https://github.githubassets.com/favicons/favicon.svg" +EMAIL_ICON = "https://raw.githubusercontent.com/twbs/icons/main/icons/envelope-fill.svg" + + +def _icon_link(uri, src, alt): + """A hyperlink wrapping a small inline image.""" + ref = nodes.reference("", "", refuri=uri) + img = nodes.image( + uri=src, + alt=alt, + classes=["rfc-author-icon"], + ) + ref += img + return ref + + +class DocumentAuthors(Directive): + def run(self): + env = self.state.document.settings.env + src = env.doc2path(env.docname) + with open(src, encoding="utf-8") as f: + text = f.read() + + parts = text.split("---", 2) + if len(parts) < 3: + raise self.error("rfc-authors: no YAML front matter found") + meta = yaml.safe_load(parts[1]) or {} + + authors = meta.get("authors", []) + if not authors: + raise self.error("rfc-authors: no 'authors' in front matter") + + # Number unique affiliations in first-seen order + affils, order, urls = {}, [], {} + for a in authors: + aff = a.get("affiliation") + if aff and aff not in affils: + order.append(aff) + affils[aff] = len(order) + if aff and a.get("affiliation_url"): + urls.setdefault(aff, a["affiliation_url"]) + + para = nodes.paragraph(classes=["rfc-authors"]) + for i, a in enumerate(authors): + if i: + para += nodes.Text(" and " if i == len(authors) - 1 else ", ") + + para += nodes.Text(a["name"]) + + aff = a.get("affiliation") + if aff: + para += nodes.superscript(text=str(affils[aff])) + + orcid = a.get("orcid") + if orcid: + uri = ( + orcid + if str(orcid).startswith("http") + else f"https://orcid.org/{orcid}" + ) + para += nodes.Text(" ") + para += _icon_link(uri, ORCID_ICON, "ORCID") + + gh = a.get("github") + if gh: + uri = gh if str(gh).startswith("http") else f"https://github.com/{gh}" + para += nodes.Text(" ") + para += _icon_link(uri, GITHUB_ICON, "GitHub") + + email = a.get("email") + if email: + uri = email if str(email).startswith("mailto:") else f"mailto:{email}" + para += nodes.Text(" ") + para += _icon_link(uri, EMAIL_ICON, "Email") + + result = [para] + + for aff in order: + p = nodes.paragraph(classes=["rfc-affiliation"]) + p += nodes.superscript(text=str(affils[aff])) + p += nodes.Text(" ") + if aff in urls: + p += nodes.reference("", aff, refuri=urls[aff]) + else: + p += nodes.Text(aff) + result.append(p) + + return result + + +def setup(app): + app.add_directive("document-authors", DocumentAuthors) + return {"parallel_read_safe": True, "parallel_write_safe": True} diff --git a/_ext/rfc_status.py b/_ext/rfc_status.py new file mode 100644 index 000000000..a914ea0af --- /dev/null +++ b/_ext/rfc_status.py @@ -0,0 +1,395 @@ +import os +import posixpath +import yaml +from docutils import nodes +from docutils.parsers.rst import Directive +from sphinx import addnodes + +# Display-only labels for the state codes of the (non-normative) table under +# resources/rfc-status-codes. The code in an RFC's front matter stays the source +# of truth; this only spells it out for readers. +STATE_LABELS = { + "D1": "Initial idea", + "D2": "Initial idea", + "D3": "PR open", + "D4": "PR open", + "D5": "Editor decision", + "D6": "Closed", + "R1": "Under review", + "R2": "Under review", + "R3": "Replying to reviews", + "R4": "Replying to reviews", + "R5": "Under review", + "R6": "Under review", + "R7": "Under review", + "R8": "Replying to reviews", + "R9": "Withdrawn", + "S0": "Accepted; SPEC updates", + "S1": "Accepted; SPEC updates", + "S2": "Clarification", + "S3": "Implementation", + "S4": "Adopted", +} + +STATE_CODES_DOC = "/resources/rfc-status-codes/index" + + +def _read_front_matter(path): + try: + with open(path, encoding="utf-8") as f: + text = f.read() + except OSError: + return {} + parts = text.split("---", 2) + if len(parts) < 3: + return {} + try: + return yaml.safe_load(parts[1]) or {} + except yaml.YAMLError: + return {} + + +def _numbered_subdirs(base): + if not os.path.isdir(base): + return + for e in os.listdir(base): + p = os.path.join(base, e) + if os.path.isdir(p) and e != "index": + yield e, p + + +def _folder_sort_key(label): + """'1' -> (1, ''), '1b' -> (1, 'b'), so rounds sort after their round 1.""" + num = "".join(c for c in label if c.isdigit()) + suffix = "".join(c for c in label if not c.isdigit()) + return (int(num) if num else 0, suffix) + + +def _thread_stem(label): + """'1b' -> '1', '12c' -> '12'. Used to count threads, not documents.""" + i = len(label) + while i > 0 and label[i - 1].isalpha(): + i -= 1 + return label[:i] or label + + +def _collect_section(rfc_dir, section): + """Return list of (label, meta), sorted by folder key (round-aware).""" + base = os.path.join(rfc_dir, section) + rows = [] + for label, subdir in _numbered_subdirs(base): + index_path = os.path.join(subdir, "index.md") + if not os.path.isfile(index_path): + continue + rows.append((label, _read_front_matter(index_path))) + rows.sort(key=lambda r: _folder_sort_key(r[0])) + return rows + + +def _thread_count(rows): + return len({_thread_stem(label) for label, _ in rows}) + + +def _count_versions(rfc_dir): + base = os.path.join(rfc_dir, "versions") + return sum(1 for _ in _numbered_subdirs(base)) if os.path.isdir(base) else 0 + + +def _status_nodes(meta): + """The status line of an RFC, e.g. "S4 – Adopted (update implementations)". + + Everything comes from the RFC's front matter: `manual_status` holds the state + code, `status_note` an optional fragment explaining it. Editors set the code + by hand when they move an RFC along; it is never guessed here from the + reviews or responses that happen to be on disk. The code links to the table + of status codes; a code that is not in STATE_LABELS (say "N/A" for the + historical RFC-0) is shown without a label. + """ + code = str(meta.get("manual_status", "")).strip() + if not code: + return [] + result = [_doc_reference(code, STATE_CODES_DOC)] + label = STATE_LABELS.get(code.upper()) + if label: + result.append(nodes.Text(f" \u2013 {label}")) + note = str(meta.get("status_note", "")).strip() + if note: + result.append(nodes.Text(f" ({note})")) + return result + + +def _state_text(meta): + """The state as plain text, e.g. "S4 (Adopted)", for the RFC listing.""" + code = str(meta.get("manual_status", "")).strip() + if not code: + return "" + label = STATE_LABELS.get(code.upper()) + return f"{code} ({label})" if label else code + + +def _doc_reference(text, docname): + """Link to another page, resolved by the builder so the URL is always right.""" + return addnodes.pending_xref( + "", + nodes.inline("", text), + refdomain="std", + reftype="doc", + reftarget=docname, + refexplicit=True, + refwarn=True, + ) + + +class RFCStatus(Directive): + SECTION_LABELS = { + "reviews": ("Reviewer", "Review"), + "comments": ("Commenter", "Comment"), + "responses": ("Author", "Response"), + } + + def run(self): + env = self.state.document.settings.env + src = env.doc2path(env.docname) + rfc_dir = os.path.dirname(src) + central = _read_front_matter(src) + + reviews = _collect_section(rfc_dir, "reviews") + comments = _collect_section(rfc_dir, "comments") + responses = _collect_section(rfc_dir, "responses") + + all_dates = [ + str(m.get("date", "")) + for _, m in (reviews + comments + responses) + if m.get("date") + ] + last_update = max(all_dates) if all_dates else str(central.get("date", "")) + + result = [] + + status = _status_nodes(central) + if status: + line = nodes.paragraph(classes=["rfc-status-state"]) + line += nodes.strong("", nodes.Text("Status: ")) + line.extend(status) + result.append(line) + + reference_pr = str(central.get("reference_pr", "")).strip() + if reference_pr: + number = reference_pr.rstrip("/").rsplit("/", 1)[-1] + label = f"#{number}" if number.isdigit() else reference_pr + pr = nodes.paragraph(classes=["rfc-status-reference-pr"]) + pr += nodes.Text("Reference PR: ") + pr += nodes.reference("", label, refuri=reference_pr) + result.append(pr) + + summary = nodes.paragraph(classes=["rfc-status-summary"]) + summary += nodes.Text( + f"As of the last update, {last_update}: " + f"{_thread_count(comments)} comments, " + f"{_thread_count(reviews)} reviews, " + f"{_thread_count(responses)} responses, " + ) + result.append(summary) + result.append(nodes.title(text="Authors, editors, and endorsers")) + result.append(self._people_table(central)) + if reviews or comments or responses: + result.append(nodes.title(text="Reviews, comments, and responses")) + result.append( + self._activity_table( + reviews, comments, responses, posixpath.dirname(env.docname) + ) + ) + return result + + # ---- Table 1: Authors + Editors + Endorsers---- + + def _people_table(self, central): + cols = ["Role", "Name", "GitHub", "Institution", "Date", "Status"] + table, tbody = self._new_table(cols, (10, 22, 20, 22, 10, 16)) + for person in central.get("authors", []): + tbody += self._person_row(person, "Author") + for person in central.get("editors", []): + tbody += self._person_row(person, "Editor") + for person in central.get("endorsers", []): + tbody += self._person_row(person, "Endorser") + return table + + def _person_row(self, person, role): + row = nodes.row() + row += self._text_entry(role, "bold") + row += self._text_entry(person.get("name", "")) + gh = person.get("github") + row += self._github_entry([gh] if gh else []) + row += self._affiliation_entry( + [(person.get("affiliation", ""), person.get("affiliation_url"))] + ) + row += self._text_entry(str(person.get("date", ""))) + # Endorsers always read "endorse", linked to the endorsement document when + # a reference is given; everyone else shows their role as text. + if role == "Endorser": + reference = person.get("reference", "") + if reference: + row += self._linked_entry("endorse", reference) + else: + row += self._text_entry(person.get("role") or "endorse") + else: + row += self._text_entry(person.get("role", "")) + + return row + + # ---- Table 2: Reviews + Comments + Responses (one row per round) ---- + + def _activity_table(self, reviews, comments, responses, rfc_docdir): + cols = ["Link", "Name", "GitHub", "Institution", "Date", "Rec."] + table, tbody = self._new_table(cols, (12, 22, 18, 20, 12, 16)) + for section, rows in ( + ("reviews", reviews), + ("comments", comments), + ("responses", responses), + ): + _, link_label = self.SECTION_LABELS[section] + for label, meta in rows: + tbody += self._activity_row( + meta, + f"{link_label}\u00a0{label}", # non-breaking space + f"{rfc_docdir}/{section}/{label}/index", + ) + return table + + def _activity_row(self, meta, link_text, link_docname): + authors = meta.get("authors", []) + names = ", ".join(a.get("name", "") for a in authors if a.get("name")) + handles = [a["github"] for a in authors if a.get("github")] + affils = [] + for a in authors: + aff = a.get("affiliation") + if aff and aff not in [x for x, _ in affils]: + affils.append((aff, a.get("affiliation_url"))) + recommendation = str(meta.get("recommendation") or "").replace("_", " ") + + row = nodes.row() + row += self._doc_entry(link_text, link_docname) + row += self._text_entry(names) + row += self._github_entry(handles) + row += self._affiliation_entry(affils) + row += self._text_entry(str(meta.get("date", ""))) + row += self._text_entry(recommendation) + return row + + # ---- shared builders ---- + + def _new_table(self, cols, widths): + table = nodes.table() + tgroup = nodes.tgroup(cols=len(cols)) + table += tgroup + for w in widths: + tgroup += nodes.colspec(colwidth=w) + thead = nodes.thead() + tgroup += thead + hrow = nodes.row() + for c in cols: + hrow += self._text_entry(c) + thead += hrow + tbody = nodes.tbody() + tgroup += tbody + return table, tbody + + def _text_entry(self, text, style=None): + entry = nodes.entry() + para = nodes.paragraph() + if style == "bold": + para += nodes.strong("", nodes.Text(text or "")) + elif style == "italic": + para += nodes.emphasis("", nodes.Text(text or "")) + else: + para += nodes.Text(text or "") + entry += para + return entry + + def _doc_entry(self, text, docname): + """Cell linking to another document.""" + entry = nodes.entry() + para = nodes.paragraph() + para += _doc_reference(text, "/" + docname) + entry += para + return entry + + def _affiliation_entry(self, affiliations): + """Comma-separated institutions, linked when an `affiliation_url` is given.""" + entry = nodes.entry() + para = nodes.paragraph() + for i, (name, uri) in enumerate(a for a in affiliations if a[0]): + if i: + para += nodes.Text(", ") + if uri: + para += nodes.reference("", name, refuri=uri) + else: + para += nodes.Text(name) + entry += para + return entry + + def _github_entry(self, handles): + entry = nodes.entry() + para = nodes.paragraph() + for i, gh in enumerate(handles): + if i: + para += nodes.Text(", ") + para += nodes.reference("", gh, refuri=f"https://github.com/{gh}") + entry += para + return entry + + def _linked_entry(self, text, target, style=None): + entry = nodes.entry() + para = nodes.paragraph() + if target: + para += nodes.reference("", text, refuri=target) + else: + if style == "bold": + para += nodes.strong("", nodes.Text(text or "")) + elif style == "italic": + para += nodes.emphasis("", nodes.Text(text or "")) + else: + para += nodes.Text(text or "") + entry += para + return entry + + +class RFCListing(RFCStatus): + """The table of all RFCs, built from each RFC's own front matter. + + Subclasses RFCStatus only to reuse its table builders; it renders the + overview table for rfc/index.md rather than a single RFC's record. + """ + + def run(self): + env = self.state.document.settings.env + base = os.path.dirname(env.doc2path(env.docname)) + docdir = posixpath.dirname(env.docname) + + rfcs = [] + for name, subdir in _numbered_subdirs(base): + index_path = os.path.join(subdir, "index.md") + if name.isdigit() and os.path.isfile(index_path): + rfcs.append((int(name), _read_front_matter(index_path))) + rfcs.sort() + + cols = ["RFC", "Description", "Date", "Status", "Note", "OME-Zarr Version"] + table, tbody = self._new_table(cols, (8, 26, 8, 20, 26, 12)) + table.insert(0, nodes.title(text="RFC Listing")) + for number, meta in rfcs: + date = str(meta.get("date", "")) + row = nodes.row() + row += self._doc_entry(f"RFC-{number}", f"{docdir}/{number}/index") + row += self._text_entry(meta.get("description", "")) + row += self._text_entry(date[:4] if date else "TBD") + row += self._text_entry(_state_text(meta) or "TBD") + row += self._text_entry(str(meta.get("status_note", ""))) + row += self._text_entry(str(meta.get("ome_zarr_version", ""))) + tbody += row + return [table] + + +def setup(app): + app.add_directive("rfc-status", RFCStatus) + app.add_directive("rfc-listing", RFCListing) + return {"parallel_read_safe": True, "parallel_write_safe": True} diff --git a/_static/document_authors.css b/_static/document_authors.css new file mode 100644 index 000000000..72aae27ad --- /dev/null +++ b/_static/document_authors.css @@ -0,0 +1,17 @@ +.rfc-author-icon { + height: 1em; + width: 1em; + vertical-align: -0.15em; + margin: 0 0.05em; + display: inline; +} + +.rfc-authors { + font-size: 1.05em; +} + +.rfc-affiliation { + font-size: 0.85em; + color: var(--pst-color-text-muted, #666); + margin: 0.1em 0; +} diff --git a/conf.py b/conf.py index 1882fd50f..f39f70cde 100644 --- a/conf.py +++ b/conf.py @@ -13,17 +13,25 @@ # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +# Needed for custom document_authors extension to be found in _ext +import os +import sys + +sys.path.insert(0, os.path.abspath("_ext")) + extensions = [ "myst_parser", "sphinx_reredirects", "sphinx_design", "sphinxcontrib.bibtex", + "document_authors", + "rfc_status", ] bibtex_bibfiles = ["references.bib"] source_suffix = [".rst", ".md"] myst_heading_anchors = 5 -myst_enable_extensions = ["deflist", "strikethrough", "colon_fence"] - +myst_enable_extensions = ["deflist", "strikethrough", "colon_fence", "substitution"] templates_path = ["_templates"] exclude_patterns = [ "_build", @@ -81,7 +89,8 @@ html_css_files = [ "https://cdn.datatables.net/v/dt/dt-1.11.5/datatables.min.css", - "custom.css" + "document_authors.css", + "custom.css", ] html_js_files = [ diff --git a/contributing/website/index.md b/contributing/website/index.md index d752b9323..08b51d04c 100644 --- a/contributing/website/index.md +++ b/contributing/website/index.md @@ -43,7 +43,24 @@ sphinx-autobuild . _build/html ``` The website will then be served at http://127.0.0.1:8000. +## Checking RFC front matter + +The RFC documents have some information rendered from the YAML front matter at the top of each document. +The front matter is validated against a LinkML schema. To check it locally: + +```bash +pip install linkml +python rfc/schema/validate.py # or pass the files you changed +``` + +The status tables on each RFC page are built from the front matter of its reviews, comments and responses. +When you edit those locally, `sphinx-autobuild` may not refresh the RFC page. Run it with `-a` to rebuild everything: + +```bash +sphinx-autobuild -a . _build/html +``` + ## PR previews Each PR receives a unique preview URL of the format `https://ngff--.org.readthedocs.build/` where `` is the PR number. This link is also posted to each PR by the Github actions bot in an "Automated Review URLs" comment as the "Readthedocs" link. -Please check that your changes render correctly at this URL. New commits will automatically be live at the PR url after a few minutes. \ No newline at end of file +Please check that your changes render correctly at this URL. New commits will automatically be live at the PR url after a few minutes. diff --git a/requirements.txt b/requirements.txt index fef63a539..743590fa3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,4 +6,5 @@ testresources sphinx-reredirects sphinxcontrib-bibtex sphinx-design -sphinx-autobuild \ No newline at end of file +pyyaml +sphinx-autobuild diff --git a/rfc/0/index.md b/rfc/0/index.md index cbe48ffb9..8dfd802d9 100644 --- a/rfc/0/index.md +++ b/rfc/0/index.md @@ -1,3 +1,18 @@ +--- +authors: + - name: Josh Moore + github: joshmoore + affiliation: German BioImaging, e.V. + affiliation_url: https://ror.org/05tpnw772 + role: Author + date: "2024-08-30" +manual_status: N/A +status_note: historical RFC, outdated by RFC-1 +description: Original consensus model for decision making +ome_zarr_version: "N/A" +date: "2024-08-30" +--- + # RFC-0: Consensus model Original NGFF consensus process @@ -7,23 +22,11 @@ Original NGFF consensus process This is a historical RFC, drafted after the fact, and has been outdated by [RFC-1][1]. -```{list-table} Record -:widths: 20, 20, 20, 15, 10 -:header-rows: 1 -:stub-columns: 1 - -* - Name - - GitHub Handle - - Institution - - Date - - Status -* - Josh Moore - - [joshmoore](https://github.com/joshmoore) - - [German BioImaging, e.V.](https://ror.org/05tpnw772) - - 2022-07-11 ([issue-132](https://github.com/ome/ngff/issues/132)) / 2024-08-30 (RFC-0) - - Author +```{rfc-status} ``` +This RFC was first captured as [issue-132](https://github.com/ome/ngff/issues/132) on 2022-07-11 and written up as RFC-0 on 2024-08-30. + ## Overview Versions of the NGFF specification up to and including v0.4 followed a diff --git a/rfc/1/comments/1/index.md b/rfc/1/comments/1/index.md index 336343cfd..6777a75dc 100644 --- a/rfc/1/comments/1/index.md +++ b/rfc/1/comments/1/index.md @@ -1,9 +1,18 @@ +--- +authors: + - name: Wouter-Michiel Vierdag + affiliation: EMBL + github: melonora + - name: Luca Marconato + affiliation: EMBL + github: LucaMarconato +date: "2024-01-13" +--- # RFC-1: Comment 1 -| Name | GitHub Handle | Institution | -|------------------------|---------------|----------------------| -| Wouter-Michiel Vierdag | melonora | EMBL | -| Luca Marconato | LucaMarconato | EMBL | +```{document-authors} + +``` ## Comments on implementations diff --git a/rfc/1/comments/2/index.md b/rfc/1/comments/2/index.md index 37944c924..a71ca0493 100644 --- a/rfc/1/comments/2/index.md +++ b/rfc/1/comments/2/index.md @@ -1,8 +1,15 @@ +--- +authors: + - name: Matt McCormick + affiliation: ITK + github: thewtex +date: "2024-01-09" +--- + # RFC-1: Comment 2 -| Name | GitHub Handle | Institution | -|------------------------|---------------|----------------------| -| Matt McCormick | thewtex | ITK | +```{document-authors} +``` ## Comments from the original issue diff --git a/rfc/1/index.md b/rfc/1/index.md index a4a931b61..2e5070083 100644 --- a/rfc/1/index.md +++ b/rfc/1/index.md @@ -1,3 +1,49 @@ +--- +authors: + - name: Josh Moore + github: joshmoore + affiliation: German BioImaging, e.V. + affiliation_url: https://ror.org/05tpnw772 + role: Author + date: "2023-12-23" +endorsers: + - name: Jean-Marie Burel + github: jburel + affiliation: University of Dundee + date: "2024-09-09" + reference: https://github.com/ome/ngff/pull/258 + - name: Will Moore + github: will-moore + affiliation: University of Dundee + date: "2024-09-09" + reference: https://github.com/ome/ngff/pull/258 + - name: Juan Nunez-Iglesias + github: jni + affiliation: Monash University + date: "2024-09-09" + reference: https://github.com/ome/ngff/pull/258 + - name: Norman Rzepka + github: normanrz + affiliation: scalable minds GmbH + date: "2024-09-09" + reference: https://github.com/ome/ngff/pull/258 + - name: Jan Eglinger + github: imagejan + affiliation: FMI Basel + date: "2024-09-09" + reference: https://github.com/ome/ngff/pull/258 + - name: Joel Lüthi + github: jluethi + affiliation: BioVisionCenter, University of Zurich + date: "2024-09-10" + reference: https://github.com/ome/ngff/pull/258 +reference_pr: https://github.com/ome/ngff/pull/222 +manual_status: S4 +description: RFC Process +ome_zarr_version: "N/A" +date: "2024-02-21" +--- + RFC-1: RFC Process ================== @@ -17,115 +63,7 @@ versions/index ## Status -This RFC has been adopted (S4). - -```{list-table} Record -:widths: 8, 20, 20, 20, 15, 10 -:header-rows: 1 -:stub-columns: 1 - -* - Role - - Name - - GitHub Handle - - Institution - - Date - - Status -* - Author - - Josh Moore - - [joshmoore](https://github.com/joshmoore) - - [German BioImaging, e.V.](https://ror.org/05tpnw772) - - 2023-12-23 - - Author ([PR](https://github.com/ome/ngff/pull/222)) -* - Reviewer - - Davis Bennett, John Bogovic, Michael Innerberger, Mark Kittisopikul, Virginia Scarlett, Yurii Zubov - - [d-v-b](https://github.com/d-v-b), [bogovicj](https://github.com/bogovicj), [minnerbe](https://github.com/minnerbe), [mkitti](https://github.com/mkitti), [virginiascarlett](https://github.com/virginiascarlett), [yuriyzubov](https://github.com/yuriyzubov) - - Janelia - - 2024-02-26 - - [Review](./reviews/2/index) -* - Reviewer - - Kevin Yamauchi, Virginie Uhlmann - - [kevinyamauchi](https://github.com/kevinyamauchi), [vuhlmann](https://github.com/vuhlmann) - - ETH, BiovisionCenter - - 2024-03-05 - - [Review](./reviews/1/index) -* - Reviewer - - Matthew Hartley - - [mrmh2](https://github.com/mrmh2) - - EMBL-EBI - - 2024-03-05 - - [Review](./reviews/3/index) -* - Author - - Josh Moore - - [joshmoore](https://github.com/joshmoore) - - German BioImaging - - 2024-08-29 - - [Response](./responses/1/index) -* - Endorser - - Jean-Marie Burel - - [jburel](https://github.com/jburel) - - University of Dundee - - 2024-09-09 - - [Endorse](https://github.com/ome/ngff/pull/258) -* - Endorser - - Will Moore - - [will-moore](https://github.com/will-moore) - - University of Dundee - - 2024-09-09 - - [Endorse](https://github.com/ome/ngff/pull/258) -* - Endorser - - Juan Nunez-Iglesias - - [jni](https://github.com/jni) - - Monash University - - 2024-09-09 - - [Endorse](https://github.com/ome/ngff/pull/258) -* - Endorser - - Norman Rzepka - - [normanrz](https://github.com/normanrz) - - scalable minds GmbH - - 2024-09-09 - - [Endorse](https://github.com/ome/ngff/pull/258) -* - Endorser - - Jan Eglinger - - [imagejan](https://github.com/imagejan) - - FMI Basel - - 2024-09-09 - - [Endorse](https://github.com/ome/ngff/pull/258) -* - Endorser - - Joel Lüthi - - [jluethi](https://github.com/jluethi) - - BioVisionCenter, University of Zurich - - 2024-09-10 - - [Endorse](https://github.com/ome/ngff/pull/258) -* - Reviewer - - Kevin Yamauchi, Joel Lüthi, Virginie Uhlmann - - [kevinyamauchi](https://github.com/kevinyamauchi), [jluethi](https://github.com/jluethi), [vuhlmann](https://github.com/vuhlmann) - - ETH, BiovisionCenter - - 2024-10-03 - - [Accept](./reviews/1b/index) -* - Reviewer - - Matthew Hartley - - [mrmh2](https://github.com/mrmh2) - - EMBL-EBI - - 2024-10-08 - - Accept (email) -* - Reviewer - - John Bogovic, Michael Innerberger, Virginia Scarlett - - [bogovicj](https://github.com/bogovicj), [minnerbe](https://github.com/minnerbe), [virginiascarlett](https://github.com/virginiascarlett) - - Janelia - - 2024-10-11 - - [Accept](./reviews/2b/index) -* - Commenter - - Wouter-Michiel Vierdag, Luca Marconato - - [melonora](https://github.com/melonora), [LucaMarconato](https://github.com/LucaMarconato) - - EMBL - - 2024-01-13 - - [Comment](./comments/1/index) -* - Commenter - - Matt McCormick - - [thewtex](https://github.com/thewtex) - - ITK - - 2024-01-09 - - [Comment](./comments/2/index) +```{rfc-status} ``` ## Overview diff --git a/rfc/1/responses/1/index.md b/rfc/1/responses/1/index.md index b8816b9ca..43b608e4a 100644 --- a/rfc/1/responses/1/index.md +++ b/rfc/1/responses/1/index.md @@ -1,5 +1,16 @@ +--- +authors: + - name: Josh Moore + affiliation: German BioImaging + github: joshmoore +date: "2024-08-29" +--- + # RFC-1: Response 1 (2024-04-24 version) +```{document-authors} +``` + Many thanks to all of the reviewers of this first RFC. Creating a process like this in isolation is difficult and having your feedback is invaluable. In this response, I’ll begin with overall thoughts covering the entire process. Then per review, I’ll break the review texts into parts, respond to each in turn and point to the changes made to the final text to address raised issues. ## Overall diff --git a/rfc/1/reviews/1/index.md b/rfc/1/reviews/1/index.md index 154273ebd..d01d180bd 100644 --- a/rfc/1/reviews/1/index.md +++ b/rfc/1/reviews/1/index.md @@ -1,10 +1,23 @@ +--- +authors: + - name: Joel Lüthi + affiliation: BioVisionCenter + github: jluethi + - name: Virginie Uhlmann + affiliation: BiovisionCenter + github: vuhlmann + - name: Kevin Yamauchi + affiliation: ETH + github: kevinyamauchi +recommendation: major_changes +date: "2024-03-05" +--- # RFC-1: Review 1 ## Review authors -This review was written by: -- Joel Lüthi -- Virginie Uhlmann -- Kevin Yamauchi + +```{document-authors} +``` ## Summary RFC1 proposes a process by which changes to the NGFF project can be proposed, reviewed, and implemented. These changes include both modifications to the NGFF specification and to the governance of the NGFF project. This process has three phases: DRAFT, RFC, and SPEC. In the draft phase, community members can propose changes. If these changes receive sufficient community support via endorsements and Editor approval, they transition to the RFC phase. In the RFC phase, the proposal is reviewed by Reviewers chosen by an Editor. With Reviewer and Editor approval, the proposal transitions to the SPEC stage in which implementation will begin. diff --git a/rfc/1/reviews/1b/index.md b/rfc/1/reviews/1b/index.md index c5fc4e44a..3dcd3b599 100644 --- a/rfc/1/reviews/1b/index.md +++ b/rfc/1/reviews/1b/index.md @@ -1,10 +1,23 @@ +--- +authors: + - name: Joel Lüthi + affiliation: BioVisionCenter + github: jluethi + - name: Virginie Uhlmann + affiliation: BioVisionCenter + github: vuhlmann + - name: Kevin Yamauchi + affiliation: ETH + github: kevinyamauchi +recommendation: accept +date: "2024-10-03" +--- # RFC-1: Review 1 Round 2 ## Review authors -This review was written by: -- Joel Lüthi -- Virginie Uhlmann -- Kevin Yamauchi + +```{document-authors} +``` ## Summary diff --git a/rfc/1/reviews/2/index.md b/rfc/1/reviews/2/index.md index 738475abd..e4f15a945 100644 --- a/rfc/1/reviews/2/index.md +++ b/rfc/1/reviews/2/index.md @@ -1,3 +1,26 @@ +--- +authors: + - name: Davis Bennett + affiliation: HHMI Janelia + github: d-v-b + - name: John Bogovic + affiliation: HHMI Janelia + github: bogovicj + - name: Michael Innerberger + affiliation: HHMI Janelia + github: minnerbe + - name: Mark Kittisopikul + affiliation: HHMI Janelia + github: mkitti + - name: Virginia Scarlett + affiliation: HHMI Janelia + github: virginiascarlett + - name: Yurii Zubov + affiliation: HHMI Janelia + github: yuriyzubov +recommendation: major_changes +date: "2024-02-26" +--- # RFC-1: Review 2 ## Contributors diff --git a/rfc/1/reviews/2b/index.md b/rfc/1/reviews/2b/index.md index 91d57e710..d867cb408 100644 --- a/rfc/1/reviews/2b/index.md +++ b/rfc/1/reviews/2b/index.md @@ -1,3 +1,17 @@ +--- +authors: + - name: John Bogovic + affiliation: HHMI Janelia + github: bogovicj + - name: Michael Innerberger + affiliation: HHMI Janelia + github: minnerbe + - name: Virginia Scarlett + affiliation: HHMI Janelia + github: virginiascarlett +recommendation: accept +date: "2024-10-11" +--- # RFC-1: Review 2b ## Contributors diff --git a/rfc/1/reviews/3/index.md b/rfc/1/reviews/3/index.md index 902ffe5f1..426a6c8e5 100644 --- a/rfc/1/reviews/3/index.md +++ b/rfc/1/reviews/3/index.md @@ -1,5 +1,19 @@ +--- +authors: + - name: Matthew Hartley + affiliation: BioImage Archive, EMBL-EBI + github: matthewh-ebi +recommendation: minor_changes +date: "2024-03-05" +--- + # RFC-1: Review 3 +```{document-authors} + +``` + + This review submitted by Matthew Hartley, on behalf on EMBL-EBI's imaging data resources (BioImage Archive, EMPIAR and EMDB). ## Summary diff --git a/rfc/1/reviews/3b/index.md b/rfc/1/reviews/3b/index.md new file mode 100644 index 000000000..36dc106cf --- /dev/null +++ b/rfc/1/reviews/3b/index.md @@ -0,0 +1,21 @@ +--- +authors: + - name: Matthew Hartley + affiliation: BioImage Archive, EMBL-EBI + github: matthewh-ebi +recommendation: accept +date: "2024-10-08" +--- + +# RFC-1: Review 3 + +```{document-authors} + +``` + + +This review was submitted via email. + +## Recommendation + +**accept** diff --git a/rfc/1/templates/review_template.md b/rfc/1/templates/review_template.md index f1d37f7c3..d4bb0f3fe 100644 --- a/rfc/1/templates/review_template.md +++ b/rfc/1/templates/review_template.md @@ -1,9 +1,46 @@ +--- +authors: + - name: Author 1 + affiliation: Affiliation X + orcid: 0000-0000-0000-0000 + github: author1 + - name: Author 2 + affiliation: Affiliation Y + orcid: 0000-0000-0000-0000 + github: author2 +date: YYYY-MM-DD +recommendation: accept +--- + +# RFC-X: Review X + +or + +# RFC-X: Comment X + +(rfcs:rfcX:reviewX)= + +(rfcs:rfcX:commentX)= + (rfc1-review-template)= -# Review Template -Replace the title above of this file with “RFC-NUM: Review NUM” +Replace the title above of this file with “RFC-NUM: Review NUM”. Update the tag to `(rfcs:rfcNUM:reviewNUM)` and remove the `(rfc1-review-template)` tag. Add your names and affiliations to the **authors** section above (and optionally ORCID and GitHub username) as well as the date of submission and your recommendation (`accept`, `major_changes`, `minor_changes`, `reject`). + +For a Comment, the `recommendation` field may be left blank. Please also change the mentions of "review" to "comment" where appropriate, including the MyST target anchor, and the title of the file. + +The document-authors directive will automatically pull the information from the YAML front matter and display it in a table. + +The fields are described by the LinkML schema in +[`rfc/schema/front_matter.yaml`](https://github.com/ome/ngff/blob/main/rfc/schema/front_matter.yaml), +which is what CI checks every review, comment and response against. To check yours +yourself, run `pip install linkml` and then `python rfc/schema/validate.py` from the +root of the repository. + +## Authors + +```{document-authors} -## Review authors +``` ## Conflicts of interest (optional) diff --git a/rfc/1/templates/rfc_template.md b/rfc/1/templates/rfc_template.md index a4dfda4c0..3153ac346 100644 --- a/rfc/1/templates/rfc_template.md +++ b/rfc/1/templates/rfc_template.md @@ -1,5 +1,80 @@ -@: template -# RFC Template +--- +authors: + - name: Author 1 + github: author1 + orcid: 0000-0000-0000-0000 + affiliation: Affiliation X + affiliation_url: https://ror.org/XXXXXXXXX + role: Corresponding Author + date: "YYYY-MM-DD" + - name: Author 2 + github: author2 + orcid: 0000-0000-0000-0000 + affiliation: Affiliation Y + role: Co-author + date: "YYYY-MM-DD" + - name: Author 3 + orcid: 0000-0000-0000-0000 + github: author3 + affiliation: Affiliation Z + role: Co-author + date: "YYYY-MM-DD" +endorsers: + - name: Endorser 1 + github: endorser1 + orcid: 0000-0000-0000-0000 + affiliation: Affiliation A + role: Endorser + date: "YYYY-MM-DD" + reference: https://example.com +editors: + - name: Josh Moore + github: joshmoore + orcid: 0000-0000-0000-0000 + affiliation: German BioImaging e.V. + role: Editor + date: "YYYY-MM-DD" +reference_pr: https://github.com/ome/ngff/pull/XXX +manual_status: D3 +status_note: authors open PR +description: A few words naming what the RFC changes, for the RFC listing +date: YYYY-MM-DD +--- + +(rfc-template)= + +# How to use it + +Add the authors and editors to the YAML front matter above. ORCID and GitHub IDs are optional but recommended, as is an `affiliation_url` (e.g. a ROR or homepage) which turns the institution into a link. Add also a date per author and editor, **quoted**, as new authors and editors may be added through the process. + +After opening a PR for the RFC, add the reference PR to the `reference_pr` field in the YAML front matter above. + +The `manual_status` field holds the [status code](/resources/rfc-status-codes/index) the RFC is currently in, and is updated by hand as the RFC moves through the process; `status_note` is an optional fragment explaining it, e.g. `superseded by RFC-8`. Together with `description` and `date` they also fill in this RFC's row of the [RFC listing](/rfc/index). Add `ome_zarr_version` once an RFC lands in a released version of the specification. + +The full list of fields is described by the LinkML schema in +[`rfc/schema/front_matter.yaml`](https://github.com/ome/ngff/blob/main/rfc/schema/front_matter.yaml), +which is what CI checks every RFC against. To check a draft yourself, run +`pip install linkml` and then `python rfc/schema/validate.py` from the root of the repository. + +There MUST be at least one "Corresponding Author", and at least one "Editor". + +There MAY be multiple "Co-author" and "Co-editor". + +There MAY be multiple explicit "endorsers", but that is not required. An external link may be provided in the `reference` field for each endorser. + +Add also a reference date before merging the RFC, to indicate when the RFC was moved from DRAFT to RFC status. Ideally it should be the date of the reference PR merge, but it can be an approximation. + +A MyST target anchor should be added to the rfc, in the form + +`(rfcs:rfcX:versionY)=`, to indicate a particular version + +or + +`(rfcs:rfcX)=`, to indicate the main document + +# RFC X: The RFC Title + +(rfcs:rfcX)= Summary: Sentence fragment summary @@ -7,16 +82,11 @@ Summary: Sentence fragment summary Brief description of status, including the state identifier, e.g. `R4` -| Name | GitHub Handle | Institution | Date | Status | -| --------- | ------------- | ----------- | ---------- | ------------------------------------- | -| Author | N/A | N/A | xxxx-xx-xx | Author | -| Author | N/A | N/A | xxxx-xx-xx | Author; Implemented (link to release) | -| Commenter | N/A | N/A | xxxx-xx-xx | Endorse (link to comment) | -| Commenter | N/A | N/A | xxxx-xx-xx | Not yet (link to comment) | -| Endorser | N/A | N/A | xxxx-xx-xx | Endorse (no link needed) | -| Endorser | N/A | N/A | xxxx-xx-xx | Implementing (link to branch/PR) | -| Reviewer | N/A | N/A | xxxx-xx-xx | Endorse (link to comment) | -| Reviewer | N/A | N/A | xxxx-xx-xx | Requested by editor | +Then, this magic that will pull information from the YAML front matters and display it in a table: + +```{rfc-status} + +``` ## Overview diff --git a/rfc/10/index.md b/rfc/10/index.md index 1f4b9273f..95e598ebf 100644 --- a/rfc/10/index.md +++ b/rfc/10/index.md @@ -1,16 +1,28 @@ +--- +authors: + - name: Josh Moore + github: joshmoore + affiliation: German BioImaging e.V. + role: Co-author + date: "2026-07-03" + - name: Virginie Uhlmann + github: vuhlmann + affiliation: University of Zürich + role: Co-author + date: "2026-07-03" +manual_status: D4 +description: NGFF Governance and the Editorial Board +date: "2026-07-03" +--- + # RFC-10: NGFF Governance and the Editorial Board Define the composition and processes of NGFF governance bodies. ## Status -This RFC is currently in state `D3` (Authors open PR). - -| Role | Name | GitHub Handle | Institution | Date | Status | -| --------- | ---------------- | ----------------------------------------- | ---------------------------------------- | ---------- | ------- | -| Author | Josh Moore | [joshmoore](https://github.com/joshmoore) | German BioImaging e.V. | 2026-07-03 | Author | -| Author | Virginie Uhlmann | [vuhlmann](https://github.com/vuhlmann) | University of Zürich | 2026-07-03 | Author | - +```{rfc-status} +``` ```{toctree} :hidden: diff --git a/rfc/2/index.md b/rfc/2/index.md index 948a54cb4..1b473a85f 100644 --- a/rfc/2/index.md +++ b/rfc/2/index.md @@ -1,3 +1,76 @@ +--- +authors: + - name: Norman Rzepka + github: normanrz + affiliation: scalable minds + affiliation_url: https://scalableminds.com + role: Author + date: "2024-02-14" +endorsers: + - name: Davis Bennett + github: d-v-b + date: "2024-02-14" + - name: Kevin Yamauchi + github: kevinyamauchi + affiliation: ETH Zürich + date: "2024-02-16" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1947942934 + - name: John Bogovic + github: bogovicj + affiliation: HHMI Janelia Research Campus + date: "2024-02-16" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1948547356 + - name: Matthew Hartley + github: matthewh-ebi + affiliation: EMBL-EBI + date: "2024-02-16" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1948912814 + - name: Christian Tischer + github: tischi + affiliation: EMBL + date: "2024-02-16" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1949058616 + - name: Joel Lüthi + github: jluethi + affiliation: BioVisionCenter, University of Zurich + date: "2024-02-16" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1949333769 + - name: Constantin Pape + github: constantinpape + affiliation: University Göttingen + date: "2024-02-18" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1951318754 + - name: Will Moore + github: will-moore + affiliation: OME, University of Dundee + date: "2024-02-19" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1952057704 + - name: Juan Nunez-Iglesias + github: jni + affiliation: Biomedicine Discovery Institute, Monash University + date: "2024-02-20" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1953922897 + - name: Eric Perlman + github: perlman + date: "2024-02-22" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1960272942 + - name: Ziwen Liu + github: ziw-liu + affiliation: Chan Zuckerberg Biohub + date: "2024-03-12" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1992588774 + - name: Lachlan Deakin + github: LDeakin + affiliation: Australian National University + date: "2024-03-14" + reference: https://github.com/ome/ngff/pull/227#issuecomment-1998594492 +reference_pr: https://github.com/ome/ngff/pull/227 +manual_status: S4 +description: Zarr V3 Support +ome_zarr_version: "0.5" +date: "2024-02-14" +--- + # RFC-2: Zarr v3 ```{toctree} @@ -13,133 +86,7 @@ Adopt the version 3 of Zarr for OME-Zarr. ## Status -This RFC is currently in SPEC state (S1). - -```{list-table} Record -:widths: 8, 20, 20, 20, 15, 10 -:header-rows: 1 -:stub-columns: 1 - -* - Role - - Name - - GitHub Handle - - Institution - - Date - - Status -* - Author - - Norman Rzepka - - [normanrz](https://github.com/normanrz) - - [scalable minds](https://scalableminds.com) - - 2024-02-14 - - -* - Endorser - - Davis Bennett - - [d-v-b](https://github.com/d-v-b) - - - - 2024-02-14 - - Endorse -* - Endorser - - Kevin Yamauchi - - [kevinyamauchi](https://github.com/kevinyamauchi) - - ETH Zürich - - 2024-02-16 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1947942934) -* - Endorser - - John Bogovic - - [bogovicj](https://github.com/bogovicj) - - HHMI Janelia Research Campus - - 2024-02-16 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1948547356) -* - Endorser - - Matthew Hartley - - [matthewh-ebi](https://github.com/matthewh-ebi) - - EMBL-EBI - - 2024-02-16 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1948912814) -* - Endorser - - Christian Tischer - - [tischi](https://github.com/tischi) - - EMBL - - 2024-02-16 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1949058616) -* - Endorser - - Joel Lüthi - - [jluethi](https://github.com/jluethi) - - BioVisionCenter, University of Zurich - - 2024-02-16 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1949333769) -* - Endorser - - Constantin Pape - - [constantinpape](https://github.com/constantinpape) - - University Göttingen - - 2024-02-18 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1951318754) -* - Endorser - - Will Moore - - [will-moore](https://github.com/will-moore) - - OME, University of Dundee - - 2024-02-19 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1952057704) -* - Endorser - - Juan Nunez-Iglesias - - [jni](https://github.com/jni) - - Biomedicine Discovery Institute, Monash University - - 2024-02-20 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1953922897) -* - Endorser - - Eric Perlman - - [perlman](https://github.com/perlman) - - - - 2024-02-22 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1960272942) -* - Endorser - - Ziwen Liu - - [ziw-liu](https://github.com/ziw-liu) - - Chan Zuckerberg Biohub - - 2024-03-12 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1992588774) -* - Endorser - - Lachlan Deakin - - [LDeakin](https://github.com/LDeakin) - - Australian National University - - 2024-03-14 - - [Endorse](https://github.com/ome/ngff/pull/227#issuecomment-1998594492) -* - Reviewer - - Melissa Linkert, Sébastien Besson, Chris Allan, Jason Swedlow - - [glencoesoftware](https://github.com/glencoesoftware) - - Glencoe Software - - 2024-05-23 - - [Review](./reviews/1/index) -* - Reviewer - - Yaroslav O. Halchenko - - [yarikoptic](https://github.com/yarikoptic) - - Dartmouth College, DANDI Project - - 2024-06-10 - - [Review](./reviews/2/index) -* - Reviewer - - Jeremy Maitin-Shepard - - [jbms](https://github.com/jbms) - - Google - - 2024-04-30 - - [Review](./reviews/3/index) -* - Reviewer - - Melissa Linkert, Sébastien Besson, Chris Allan, Jason Swedlow - - [glencoesoftware](https://github.com/glencoesoftware) - - Glencoe Software - - 2024-08-05 - - [Accept](./reviews/1b/index) -* - Reviewer - - Jeremy Maitin-Shepard - - [jbms](https://github.com/jbms) - - Google - - 2024-09-11 - - [Accept](./reviews/3b/index) -* - Reviewer - - Yaroslav O. Halchenko - - [yarikoptic](https://github.com/yarikoptic) - - Dartmouth College, DANDI Project - - 2024-09-11 - - [Accept](./reviews/2b/index) +```{rfc-status} ``` ## Overview diff --git a/rfc/2/reviews/1/index.md b/rfc/2/reviews/1/index.md index 1c23db3b2..ca6542684 100644 --- a/rfc/2/reviews/1/index.md +++ b/rfc/2/reviews/1/index.md @@ -1,13 +1,28 @@ +--- +authors: + - name: Sébastien Besson + affiliation: Glencoe Software + github: sbesson + - name: Chris Allan + affiliation: Glencoe Software + - name: Marc Bruce + affiliation: Glencoe Software + - name: Jason Swedlow + affiliation: Glencoe Software + github: jrswedlow + - name: Melissa Linkert + affiliation: Glencoe Software + github: melissalinkert +date: "2024-05-23" +recommendation: major_changes +--- + # Review 1 ## Review authors -This review was written by the following Glencoe Software team members: -- Sébastien Besson -- Chris Allan -- Marc Bruce -- Jason Swedlow -- Melissa Linkert +```{document-authors} +``` ## Summary diff --git a/rfc/2/reviews/1b/index.md b/rfc/2/reviews/1b/index.md index 54731de40..29f275a74 100644 --- a/rfc/2/reviews/1b/index.md +++ b/rfc/2/reviews/1b/index.md @@ -1,10 +1,21 @@ +--- +authors: + - name: Sébastien Besson + affiliation: Glencoe Software + github: sbesson + - name: Melissa Linkert + affiliation: Glencoe Software + github: melissalinkert +date: "2024-08-05" +recommendation: accept +--- + # Review 1 (update) ## Review authors -This review was written by the following Glencoe Software team members: -- Sébastien Besson -- Melissa Linkert +```{document-authors} +``` ## Summary diff --git a/rfc/2/reviews/2/index.md b/rfc/2/reviews/2/index.md index 44615a930..8df6c74c9 100644 --- a/rfc/2/reviews/2/index.md +++ b/rfc/2/reviews/2/index.md @@ -1,8 +1,18 @@ +--- +authors: + - name: Yaroslav O. Halchenko + affiliation: Dartmouth College, DANDI Project + github: yarikoptic +date: "2024-06-10" +recommendation: major_changes +--- + # Review 2 ## Review authors -This review was written by: -- Yaroslav O. Halchenko (Dartmouth College, DANDI Project) + +```{document-authors} +``` ## Summary diff --git a/rfc/2/reviews/2b/index.md b/rfc/2/reviews/2b/index.md index a30f411eb..e1c3120e4 100644 --- a/rfc/2/reviews/2b/index.md +++ b/rfc/2/reviews/2b/index.md @@ -1,8 +1,18 @@ +--- +authors: + - name: Yaroslav O. Halchenko + affiliation: Dartmouth College, DANDI Project + github: yarikoptic +date: "2024-09-11" +recommendation: accept +--- + # Review 2 (update) ## Review authors -This review was written by: -- Yaroslav O. Halchenko (Dartmouth College, DANDI Project) + +```{document-authors} +``` ## Summary diff --git a/rfc/2/reviews/3/index.md b/rfc/2/reviews/3/index.md index b7c9ab318..3959b14d6 100644 --- a/rfc/2/reviews/3/index.md +++ b/rfc/2/reviews/3/index.md @@ -1,8 +1,20 @@ +--- +authors: + - name: Jeremy Maitin-Shepard + affiliation: Google + github: jbms +date: "2024-04-30" +recommendation: minor_changes +--- + # Review 3 ## Review authors -This review was submitted by Jeremy Maitin-Shepard (Google) via email. +```{document-authors} +``` + +This review was submitted via email. ## Initial feedback diff --git a/rfc/2/reviews/3b/index.md b/rfc/2/reviews/3b/index.md index 096cf9643..307432a72 100644 --- a/rfc/2/reviews/3b/index.md +++ b/rfc/2/reviews/3b/index.md @@ -1,8 +1,20 @@ +--- +authors: + - name: Jeremy Maitin-Shepard + affiliation: Google + github: jbms +date: "2024-09-11" +recommendation: accept +--- + # Review 3 (update) ## Review authors -This review was submitted by Jeremy Maitin-Shepard (Google) via email. +```{document-authors} +``` + +This review was submitted via email. ## Recommendation diff --git a/rfc/3/comments/1/index.md b/rfc/3/comments/1/index.md index 17c3d9e0e..dff51e337 100644 --- a/rfc/3/comments/1/index.md +++ b/rfc/3/comments/1/index.md @@ -1,10 +1,21 @@ +--- +authors: + - name: Benedikt Best + github: btbest + orcid: 0000-0001-6965-1117 +date: "2026-02-02" +recommendation: accept +--- + # RFC-3: Comment 1 (rfcs:rfc3:comment1)= ## Comment authors -This comment was written by Benedikt Best (https://orcid.org/0000-0001-6965-1117) +```{document-authors} + +``` ## Conflicts of interest (optional) diff --git a/rfc/3/comments/2/index.md b/rfc/3/comments/2/index.md index 802f26a47..98923bb42 100644 --- a/rfc/3/comments/2/index.md +++ b/rfc/3/comments/2/index.md @@ -1,10 +1,22 @@ +--- +authors: + - name: Chris Barnes + email: chris.barnes@gerbi-gmb.de + github: clbarnes + affiliation: German BioImaging +date: "2026-02-05" +recommendation: accept +--- + # RFC-3: Comment 2 (rfcs:rfc3:comment2)= ## Comment authors -Chris Barnes +```{document-authors} + +``` ## Conflicts of interest diff --git a/rfc/3/comments/3/index.md b/rfc/3/comments/3/index.md index 02e3e4051..30660ecbf 100644 --- a/rfc/3/comments/3/index.md +++ b/rfc/3/comments/3/index.md @@ -1,10 +1,21 @@ +--- +authors: + - name: Cornelia Wetzker + github: cwetzker + orcid: 0000-0002-8367-5163 + affiliation: Technische Universität Dresden +date: "2026-03-19" +--- + # RFC-3: Comment 3 (rfcs:rfc3:comment3)= -| **Role** | Name | GitHub Handle | Institution | -|----------|------|---------------|-------------| -| **Author** | [Cornelia Wetzker](https://orcid.org/0000-0002-8367-5163) | [cwetzker](https://github.com/cwetzker) | TU Dresden | +```{document-authors} + +``` + + I would like to contribute a further imaging modality to be considered in the current and future changes of the OME-Zarr format. Fluorescence lifetime imaging microscopy (FLIM) is an imaging setup that detects the fluorescence lifetime of fluorophores as an additional axis of data using specialized laser, detector and electronics setups. This lifetime is assessed by detection of photon arrival times relative to the latest pulse of a pulsed laser. This creates so called decay histograms for each pixel/voxel of a dataset that can be considered an additional dimension or axis of the dataset and allows the calculation of the specific lifetime(s) of fluorescence. diff --git a/rfc/3/index.md b/rfc/3/index.md index e5b5c0485..368dee948 100644 --- a/rfc/3/index.md +++ b/rfc/3/index.md @@ -1,3 +1,61 @@ +--- +authors: + - name: Juan Nunez-Iglesias + github: jni + affiliation: Monash University + role: Corresponding Author + date: "2024-05-21" +endorsers: + - name: Talley Lambert + github: tlambert03 + affiliation: Harvard Medical School + date: "2024-05-21" + reference: https://github.com/ome/ngff/pull/239#issuecomment-2122795327 + - name: Norman Rzepka + github: normanrz + affiliation: Scalable Minds + date: "2024-05-21" + reference: https://github.com/ome/ngff/pull/239#issue-2308436425 + - name: Davis Bennett + github: d-v-b + date: "2024-05-21" + reference: https://github.com/ome/ngff/pull/239#issue-2308436425 + - name: Doug Shepherd + github: dpshepherd + affiliation: Arizona State University + date: "2024-05-22" + reference: https://github.com/ome/ngff/pull/239#issue-2308436425 + - name: John Bogovic + github: bogovicj + affiliation: HHMI Janelia Research Campus + date: "2024-05-22" + reference: https://github.com/ome/ngff/pull/239#issue-2308436425 + - name: Eric Perlman + github: perlman + date: "2024-05-22" + reference: https://github.com/ome/ngff/pull/239#issue-2308436425 + - name: Lachlan Deakin + github: LDeakin + affiliation: Australian National University + date: "2024-05-22" + reference: https://github.com/ome/ngff/pull/239#issue-2308436425 + - name: Sebastian Rhode + github: sebi06 + affiliation: Carl Zeiss Microscopy GmbH + date: "2024-06-05" + reference: https://github.com/ome/ngff/pull/239#issue-2308436425 +editors: + - name: Josh Moore + github: joshmoore + affiliation: German BioImaging e.V. + role: Editor + date: "2024-05-21" +reference_pr: https://github.com/ome/ngff/pull/239 +manual_status: R1 +description: Remove axis restrictions +date: "2024-05-21" +--- + # RFC-3: more dimensions for thee ```{toctree} @@ -14,104 +72,7 @@ stored in OME-Zarr arrays. ## Status -This RFC is currently in RFC state `R1` (send for review). - -```{list-table} Record -:widths: 8, 20, 20, 20, 15, 10 -:header-rows: 1 -:stub-columns: 1 - -* - Role - - Name - - GitHub Handle - - Institution - - Date - - Status -* - Author - - Juan Nunez-Iglesias - - [jni](https://github.com/jni) - - Monash University - - 2024-05-21 - - -* - Endorser - - Talley Lambert - - [tlambert03](https://github.com/tlambert03) - - Harvard Medical School - - 2024-05-21 - - [Endorse](https://github.com/ome/ngff/pull/239#issuecomment-2122795327) -* - Endorser - - Norman Rzepka - - [normanrz](https://github.com/normanrz) - - Scalable Minds - - 2024-05-21 - - [Endorse](https://github.com/ome/ngff/pull/239#issue-2308436425) -* - Endorser - - Davis Bennett - - [d-v-b](https://github.com/d-v-b) - - - - 2024-05-21 - - [Endorse](https://github.com/ome/ngff/pull/239#issue-2308436425) -* - Endorser - - Doug Shepherd - - [dpshepherd](https://github.com/dpshepherd) - - Arizona State University - - 2024-05-22 - - [Endorse](https://github.com/ome/ngff/pull/239#issue-2308436425) -* - Endorser - - John Bogovic - - [bogovicj](https://github.com/bogovicj) - - HHMI Janelia Research Campus - - 2024-05-22 - - [Endorse](https://github.com/ome/ngff/pull/239#issue-2308436425) -* - Endorser - - Eric Perlman - - [perlman](https://github.com/perlman) - - - - 2024-05-22 - - [Endorse](https://github.com/ome/ngff/pull/239#issue-2308436425) -* - Endorser - - Lachlan Deakin - - [LDeakin](https://github.com/LDeakin) - - Australian National University - - 2024-05-22 - - [Endorse](https://github.com/ome/ngff/pull/239#issue-2308436425) -* - Endorser - - Sebastian Rhode - - [sebi06](https://github.com/sebi06) - - Carl Zeiss Microscopy GmbH - - 2024-06-05 - - [Endorse](https://github.com/ome/ngff/pull/239#issue-2308436425) -* - Commenter - - Benedikt Best - - [btbest](https://github.com/btbest) - - - - 2026-02-02 - - [Comment](./comments/1/index) -* - Commenter - - Chris Barnes - - [clbarnes](https://github.com/clbarnes) - - German BioImaging - - 2026-02-05 - - [Comment](./comments/2/index) -* - Commenter - - Cornelia Wetzker - - [cwetzker](https://github.com/cwetzker) - - Technische Universität Dresden - - 2026-03-19 - - [Comment](./comments/3/index) -* - Reviewer - - Melissa Linkert, Sébastien Besson - - [melissalinkert](https://github.com/melissalinkert), [sbesson](https://github.com/sbesson) - - [Glencoe Software](https://github.com/glencoesoftware) - - 2026-08-04 - - [Review](#rfcs:rfc3:review1) -* - Reviewer - - Matthew McCormick, Valentin Boussot - - [thewtex](https://github.com/thewtex), - [vboussot](https://github.com/vboussot) - - [Fideus Labs](https://github.com/fideus-labs) - - 2026-08-28 - - [Review](#rfcs:rfc3:review2) +```{rfc-status} ``` ## Overview diff --git a/rfc/3/responses/1/index.md b/rfc/3/responses/1/index.md index 97ca2c3f5..6e1d6c95c 100644 --- a/rfc/3/responses/1/index.md +++ b/rfc/3/responses/1/index.md @@ -1,5 +1,16 @@ +--- +authors: + - name: Juan Nunez-Iglesias + github: jni + affiliation: Monash University +date: "2026-09-15" +--- + # RFC-3: Response 1 +```{document-authors} +``` + ## Summary of Changes In response to review 2, RFC-3 has been updated to clarify certain diff --git a/rfc/3/reviews/1/index.md b/rfc/3/reviews/1/index.md index 61119e020..66c1a72f3 100644 --- a/rfc/3/reviews/1/index.md +++ b/rfc/3/reviews/1/index.md @@ -1,13 +1,26 @@ +--- +authors: + - name: Melissa Linkert + github: melissalinkert + affiliation: Glencoe Software + affiliation_url: https://github.com/glencoesoftware + - name: Sébastien Besson + github: sbesson + affiliation: Glencoe Software + affiliation_url: https://github.com/glencoesoftware +date: "2026-08-04" +recommendation: accept +--- + # RFC-3: Review 1 (rfcs:rfc3:review1)= ## Review authors -This review was written by the following members of the [Glencoe Software team](https://github.com/glencoesoftware): +```{document-authors} -- [Melissa Linkert](https://github.com/melissalinkert) -- [Sébastien Besson](https://github.com/sbesson) +``` ## Conflicts of interest diff --git a/rfc/3/reviews/2/index.md b/rfc/3/reviews/2/index.md index 1a7bafa86..153f2ba45 100644 --- a/rfc/3/reviews/2/index.md +++ b/rfc/3/reviews/2/index.md @@ -1,11 +1,25 @@ +--- +authors: + - name: Matthew McCormick + affiliation: Fideus Labs + affiliation_url: https://github.com/fideus-labs + github: thewtex + - name: Valentin Boussot + affiliation: Fideus Labs + affiliation_url: https://github.com/fideus-labs + github: vboussot +date: "2026-08-28" +recommendation: minor_changes +--- + # RFC-3: Review 2 (rfcs:rfc3:review2)= ## Review authors -- Matthew McCormick, Fideus Labs -- Valentin Boussot, Fideus Labs +```{document-authors} +``` ## Conflicts of interest (optional) diff --git a/rfc/4/comments/1/index.md b/rfc/4/comments/1/index.md index c5349a5cb..40abe2e71 100644 --- a/rfc/4/comments/1/index.md +++ b/rfc/4/comments/1/index.md @@ -1,8 +1,19 @@ -# RFC-4 comment +--- +authors: + - name: David Stansby + github: dstansby +date: "2025-04-02" +--- + +# RFC-4 comment 1 + +(rfcs:rfc4:comment1)= ## Comment author -David Stansby +```{document-authors} + +``` ## Conflicts of interest (optional) diff --git a/rfc/4/comments/2/index.md b/rfc/4/comments/2/index.md index 4877f0e2d..5b5d10ead 100644 --- a/rfc/4/comments/2/index.md +++ b/rfc/4/comments/2/index.md @@ -1,10 +1,22 @@ +--- +authors: + - name: Chris Barnes + email: chris.barnes@gerbi-gmb.de + github: clbarnes + affiliation: German BioImaging +date: "2026-02-05" +recommendation: accept +--- + # RFC-4: Comment 2 (rfcs:rfc4:comment2)= -## Review authors +## Comment author + +```{document-authors} -Chris Barnes +``` ## Conflicts of interest diff --git a/rfc/4/index.md b/rfc/4/index.md index fbe745887..ba701c3dd 100644 --- a/rfc/4/index.md +++ b/rfc/4/index.md @@ -1,3 +1,25 @@ +--- +authors: + - name: David Feng + github: dyf + affiliation: Allen Institute for Neural Dynamics + role: Co-author + date: "2023-07-26" + - name: Matthew McCormick + github: thewtex + affiliation: Fideus Labs + role: Co-author + date: "2024-07-27" + - name: Wouter-Michiel Vierdag + github: melonora + affiliation: EMBL + role: Co-author + date: "2025-07-16" +manual_status: S1 +description: Axis Anatomical Orientation +date: "2024-09-13" +--- + # RFC-4: Axis Orientation ```{toctree} @@ -13,61 +35,7 @@ Summary: An optional, explicit field for specification of imaging axis orientati ## Status -This RFC is currently in RFC state `S1` (Accepted). - -```{list-table} Record -:widths: 8, 20, 20, 20, 15, 10 -:header-rows: 1 -:stub-columns: 1 - -* - Role - - Name - - GitHub Handle - - Institution - - Date - - Status -* - Author - - David Feng - - [dyf](https://github.com/dyf) - - Allen Institute for Neural Dynamics - - 2023-07-26 - - -* - Author - - Matthew McCormick - - [thewtex](https://github.com/thewtex) - - Fideus Labs - - 2024-07-27 - - -* - Author - - Wouter-Michiel Vierdag - - [melonora](https://github.com/melonora) - - EMBL - - 2025-07-16 - - -* - Commenter - - David Stansby - - [dstansby](https://github.com/dstansby) - - - - 2025-04-02 - - [Comment](./comments/1/index) -* - Reviewer - - Juan Nunez-Iglesias - - [jni](https://github.com/jni) - - Monash University - - 2025-08-05 - - [Review](./reviews/2/index) -* - Commenter - - Chris Barnes - - [clbarnes](https://github.com/clbarnes) - - German BioImaging - - 2026-02-05 - - [Comment](./comments/2/index) -* - Reviewer - - Dave Horsfall - - [davehorsfall](https://github.com/davehorsfall) - - Haniffa Lab - - 2026-02-27 - - [Review](./reviews/3/index) +```{rfc-status} ``` ## Overview diff --git a/rfc/4/responses/1/index.md b/rfc/4/responses/1/index.md index 06de96013..08bf98612 100644 --- a/rfc/4/responses/1/index.md +++ b/rfc/4/responses/1/index.md @@ -1,3 +1,11 @@ +--- +authors: + - name: Matthew McCormick + github: thewtex + affiliation: Fideus Labs +date: "2024-07-27" +--- + # RFC-4: Response 1 ## Summary of Changes diff --git a/rfc/4/reviews/2/index.md b/rfc/4/reviews/2/index.md index a145c167f..ea9c9c338 100644 --- a/rfc/4/reviews/2/index.md +++ b/rfc/4/reviews/2/index.md @@ -1,8 +1,20 @@ +--- +authors: + - name: Juan Nunez-Iglesias + email: jni@fastmail.com + github: jni + affiliation: Monash University +date: "2025-08-05" +recommendation: minor_changes +--- + # RFC-4: Review 2 ## Review authors -Juan Nunez-Iglesias +```{document-authors} + +``` ## Conflicts of interest diff --git a/rfc/4/reviews/2b/index.md b/rfc/4/reviews/2b/index.md index ebb30bc27..c4531b35e 100644 --- a/rfc/4/reviews/2b/index.md +++ b/rfc/4/reviews/2b/index.md @@ -1,8 +1,20 @@ +--- +authors: + - name: Juan Nunez-Iglesias + email: jni@fastmail.com + github: jni + affiliation: Monash University +date: "2025-12-11" +recommendation: accept +--- + # RFC-4: Review 2b ## Review authors -Juan Nunez-Iglesias +```{document-authors} + +``` ## Conflicts of interest diff --git a/rfc/4/reviews/3/index.md b/rfc/4/reviews/3/index.md index 28fdfedef..359407c45 100644 --- a/rfc/4/reviews/3/index.md +++ b/rfc/4/reviews/3/index.md @@ -1,3 +1,13 @@ +--- +authors: + - name: Dave Horsfall + github: davehorsfall + affiliation: Haniffa Lab + date: "2026-02-27" +recommendation: minor_changes +date: "2026-02-27" +--- + # RFC-4: Review 3 (rfcs:rfc4:review3)= @@ -6,7 +16,11 @@ * [https://ngff.openmicroscopy.org/rfc/4/](https://ngff.openmicroscopy.org/rfc/4/) * [https://ngff.openmicroscopy.org/rfc/1/templates/review\_template.html](https://ngff.openmicroscopy.org/rfc/1/templates/review_template.html) -**Review Authors**: Dave Horsfall +## Review Authors + +```{document-authors} + +``` **Conflicts of Interest**: None declared diff --git a/rfc/4/reviews/3b/index.md b/rfc/4/reviews/3b/index.md index 042d31830..fdb821946 100644 --- a/rfc/4/reviews/3b/index.md +++ b/rfc/4/reviews/3b/index.md @@ -1,8 +1,21 @@ +--- +authors: + - name: Dave Horsfall + github: davehorsfall + affiliation: Haniffa Lab + date: "2026-09-09" +recommendation: accept +date: "2026-09-09" +--- + # RFC-4: Review 3b +(rfcs:rfc4:review3b)= + ## Review authors -Dave Horsfall +```{document-authors} +``` ## Conflicts of interest diff --git a/rfc/5/comments/1/index.md b/rfc/5/comments/1/index.md index bb0e5e77d..fb5687ef6 100644 --- a/rfc/5/comments/1/index.md +++ b/rfc/5/comments/1/index.md @@ -1,8 +1,16 @@ +--- +authors: + - name: Ilan Gold + github: ilan-gold +date: "2025-02-20" +--- + # RFC-5: Comment 1 -## Comment author +## Comment authors -Ilan Gold +```{document-authors} +``` ## Conflicts of interest (optional) diff --git a/rfc/5/comments/2/index.md b/rfc/5/comments/2/index.md index 32e7b660c..15eeef54f 100644 --- a/rfc/5/comments/2/index.md +++ b/rfc/5/comments/2/index.md @@ -1,8 +1,16 @@ +--- +authors: + - name: Jeremy Maitin-Shepard + github: jbms +date: "2025-02-20" +--- + # RFC-5: Comment 2 -## Comment author +## Comment authors -Jeremy Maitin-Shepard +```{document-authors} +``` ## Minor comments and questions diff --git a/rfc/5/comments/3/index.md b/rfc/5/comments/3/index.md index 949ab35f2..b26dc8571 100644 --- a/rfc/5/comments/3/index.md +++ b/rfc/5/comments/3/index.md @@ -1,8 +1,17 @@ +--- +authors: + - name: David Stansby + affiliation: University College London + github: dstansby +date: "2025-10-10" +--- + # RFC-5: Comment 3 ## Comment authors -David Stansby +```{document-authors} +``` ## Summary diff --git a/rfc/5/comments/4/index.md b/rfc/5/comments/4/index.md index 0fc99df59..8c160f463 100644 --- a/rfc/5/comments/4/index.md +++ b/rfc/5/comments/4/index.md @@ -1,10 +1,19 @@ +--- +authors: + - name: Benedikt Best + github: btbest + orcid: 0000-0001-6965-1117 +date: "2026-02-26" +--- + # RFC-5: Comment 4 (rfcs:rfc5:comment4)= ## Comment authors -Benedikt Best (https://orcid.org/0000-0001-6965-1117) +```{document-authors} +``` ## Summary diff --git a/rfc/5/index.md b/rfc/5/index.md index d6381a704..4ccf840af 100644 --- a/rfc/5/index.md +++ b/rfc/5/index.md @@ -1,3 +1,54 @@ +--- +authors: + - name: John Bogovic + github: bogovicj + affiliation: HHMI Janelia + role: Corresponding Author; Implemented + date: "2024-07-30" + - name: Davis Bennett + github: d-v-b + role: Implemented validation + date: "2024-07-30" + - name: Luca Marconato + github: LucaMarconato + affiliation: EMBL + role: Implemented + date: "2024-07-30" + - name: Matt McCormick + github: thewtex + affiliation: ITK + role: Implemented + date: "2024-07-30" + - name: Stephan Saalfeld + github: axtimwalde + affiliation: HHMI Janelia + role: Implemented (with JB) + date: "2024-07-30" + - name: Johannes Soltwedel + github: jo-mueller + affiliation: German BioImaging e.V. + role: Corresponding Author; Implemented + date: "2025-10-07" +endorsers: + - name: Will Moore + github: will-moore + affiliation: University of Dundee + role: Implemented + date: "2025-10-23" + - name: David Stansby + github: dstansby + affiliation: University College London + role: Implemented + date: "2025-10-23" + - name: Norman Rzepka + github: normanrz + affiliation: Scalable Minds + date: "2024-08-22" +manual_status: S3 +description: Coordinate systems and transformations +date: "2024-07-30" +--- + # RFC-5: Coordinate Systems and Transformations (rfcs:rfc5:version3)= @@ -14,24 +65,8 @@ Add named coordinate systems and expand and clarify coordinate transformations. ## Status -This RFC is currently in RFC state `S3` (Update implementations). - -| **Role** | Name | GitHub Handle | Institution | Date | Status | -|----------|------|---------------|-------------|------|--------| -| **Author** | John Bogovic | [bogovicj](https://github.com/bogovicj) | HHMI Janelia | 2024-07-30 | (Corresponding Author) Implemented | -| **Author** | Davis Bennett | [d-v-b](https://github.com/d-v-b) | | 2024-07-30 | Implemented validation | -| **Author** | Luca Marconato | [LucaMarconato](https://github.com/LucaMarconato) | EMBL | 2024-07-30 | Implemented | -| **Author** | Matt McCormick | [thewtex](https://github.com/thewtex) | ITK | 2024-07-30 | Implemented | -| **Author** | Stephan Saalfeld | [axtimwalde](https://github.com/axtimwalde) | HHMI Janelia | 2024-07-30 | Implemented (with JB) | -| **Author** | Johannes Soltwedel | [jo-mueller](https://github.com/jo-mueller) | German Bioimaging e.V. | 2025-10-07 | (Corresponding Author) Implemented | -| **Endorser** | Will Moore | [will-moore](https://github.com/will-moore) | University of Dundee | 2025-10-23 | Implemented | -| **Endorser** | David Stansby | [dstansby](https://github.com/dstansby) | University College London | 2025-10-23 | Implemented | -| **Endorser** | Norman Rzepka | [normanrz](https://github.com/normanrz) | Scalable Minds | 2024-08-22 | | -| **Reviewer** | Dan Toloudis, David Feng, Forrest Collman, Nathalie Gaudreault, Gideon Dunster | [toloudis](https://github.com/toloudis), [dyf](https://github.com/dyf), [fcollman](https://github.com/fcollman) | Allen Institutes | 2024-11-28 | [Review](rfcs:rfc5:review1) | -| **Reviewer** | Will Moore, Jean-Marie Burel, Jason Swedlow | [will-moore](https://github.com/will-moore), [jburel](https://github.com/jburel), [jrswedlow](https://github.com/jrswedlow) | University of Dundee | 2025-01-22 | [Review](rfcs:rfc5:review2)| -| **Commenter** | Ilan Gold | [ilan-gold](https://github.com/ilan-gold) | | 2025-02-20 | [Comment](./comments/1/index) | -| **Commenter** | Jeremy Maitin-Shephard | [jbms](https://github.com/jbms) | | 2025-02-20 | [Comment](./comments/2/index) | -| **Commenter** | David Stansby | [dstansby](https://github.com/dstansby) | | 2025-10-10 | [Comment](./comments/3/index) | +```{rfc-status} +``` ## Overview diff --git a/rfc/5/responses/1/index.md b/rfc/5/responses/1/index.md index e8b4b16ac..547882f96 100644 --- a/rfc/5/responses/1/index.md +++ b/rfc/5/responses/1/index.md @@ -1,5 +1,19 @@ +--- +authors: + - name: John Bogovic + affiliation: HHMI Janelia + github: bogovicj + - name: Johannes Soltwedel + affiliation: German BioImaging e.V. + github: jo-mueller +date: "2025-10-07" +--- + # RFC-5: Response 1 (2025-10-07 version) +```{document-authors} +``` + The authors extend their most sincere thanks and appreciation to all the reviewers of this RFC. diff --git a/rfc/5/responses/2/index.md b/rfc/5/responses/2/index.md index 62839d6b0..40359e6e0 100644 --- a/rfc/5/responses/2/index.md +++ b/rfc/5/responses/2/index.md @@ -1,5 +1,16 @@ +--- +authors: + - name: Johannes Soltwedel + affiliation: German BioImaging e.V. + github: jo-mueller +date: "2025-11-18" +--- + # RFC-5: Response 2 (2025-11-18 version) +```{document-authors} +``` + We thank all reviewers and community members for their time and effort in reviewing and discussing our [updated proposal](rfcs:rfc5:version2). Please find below our point-by-point replies to reviews and a summary of discussion outcomes. The provided [example datasets on Zenodo](https://zenodo.org/records/17313420/latest) have been updated accordingly diff --git a/rfc/5/reviews/1/index.md b/rfc/5/reviews/1/index.md index bf785f719..9e5988c11 100644 --- a/rfc/5/reviews/1/index.md +++ b/rfc/5/reviews/1/index.md @@ -1,13 +1,28 @@ +--- +authors: + - name: Daniel Toloudis + affiliation: Allen Institute for Cell Science + github: toloudis + - name: David Feng + affiliation: Allen Institute for Neural Dynamics + github: dyf + - name: Forrest Collman + affiliation: Allen Institute for Brain Science + github: fcollman + - name: Nathalie Gaudreault + affiliation: Allen Institute for Cell Science + - name: Gideon Dunster +date: "2024-11-28" +recommendation: major_changes +--- + # RFC-5: Review 1 (rfcs:rfc5:review1)= ## Review authors -This review was written by: Daniel Toloudis1, David Feng2, Forrest Collman3, Nathalie Gaudreault1 - -1 Allen Institute for Cell Science -2 Allen Institute for Neural Dynamics -3 Allen Institute for Brain Science +```{document-authors} +``` ## Summary diff --git a/rfc/5/reviews/1b/index.md b/rfc/5/reviews/1b/index.md index 0fa693149..c027931de 100644 --- a/rfc/5/reviews/1b/index.md +++ b/rfc/5/reviews/1b/index.md @@ -1,13 +1,27 @@ +--- +authors: + - name: Daniel Toloudis + affiliation: Allen Institute for Cell Science + github: toloudis + - name: David Feng + affiliation: Allen Institute for Neural Dynamics + github: dyf + - name: Forrest Collman + affiliation: Allen Institute for Brain Science + github: fcollman + - name: Nathalie Gaudreault + affiliation: Allen Institute for Cell Science +date: "2025-11-25" +recommendation: accept +--- + # RFC-5: Review 1b (rfcs:rfc5:review1b)= ## Review authors -This review was written by: Daniel Toloudis1, David Feng2, Forrest Collman3, Nathalie Gaudreault1 - -1 Allen Institute for Cell Science -2 Allen Institute for Neural Dynamics -3 Allen Institute for Brain Science +```{document-authors} +``` ## Recommendation diff --git a/rfc/5/reviews/2/index.md b/rfc/5/reviews/2/index.md index 896885459..25c00201d 100644 --- a/rfc/5/reviews/2/index.md +++ b/rfc/5/reviews/2/index.md @@ -1,10 +1,25 @@ +--- +authors: + - name: William Moore + affiliation: University of Dundee + github: will-moore + - name: Jean-Marie Burel + affiliation: University of Dundee + github: jburel + - name: Jason Swedlow + affiliation: University of Dundee + github: jrswedlow +date: "2025-01-22" +recommendation: minor_changes +--- + # RFC-5: Review 2 (rfcs:rfc5:review2)= ## Review authors -This review was written by: William Moore1, Jean-Marie Burel1, Jason Swedlow1 -1 University of Dundee +```{document-authors} +``` ## Summary diff --git a/rfc/5/reviews/2b/index.md b/rfc/5/reviews/2b/index.md index ef86de5a6..ee99171b1 100644 --- a/rfc/5/reviews/2b/index.md +++ b/rfc/5/reviews/2b/index.md @@ -1,10 +1,22 @@ +--- +authors: + - name: William Moore + affiliation: University of Dundee + github: will-moore + - name: Jean-Marie Burel + affiliation: University of Dundee + github: jburel +date: "2025-11-19" +recommendation: accept +--- + # RFC-5: Review 2b (rfcs:rfc5:review2b)= ## Review authors -This review was written by: William Moore1 and Jean-Marie Burel1 -1 University of Dundee +```{document-authors} +``` ## Summary diff --git a/rfc/6/comments/1/index.md b/rfc/6/comments/1/index.md index 71fd111d7..4054ddc35 100644 --- a/rfc/6/comments/1/index.md +++ b/rfc/6/comments/1/index.md @@ -1,10 +1,20 @@ +--- +authors: + - name: Chris Barnes + github: clbarnes + - name: Davis Bennett + github: d-v-b +date: "2025-11-05" +--- + # RFC-6: Comment 1 (rfcs:rfc6:comment1)= ## Comment authors -This comment was written by: Chris Barnes, Davis Bennett. +```{document-authors} +``` ## Summary diff --git a/rfc/6/index.md b/rfc/6/index.md index 64509792f..b578905c4 100644 --- a/rfc/6/index.md +++ b/rfc/6/index.md @@ -1,3 +1,44 @@ +--- +authors: + - name: Norman Rzepka + github: normanrz + affiliation: scalable minds + role: Author + date: "2024-12-03" +endorsers: + - name: David Stansby + github: dstansby + affiliation: University College London + date: "2024-12-03" + - name: Davis Bennett + github: d-v-b + date: "2024-12-12" + - name: Will Moore + github: will-moore + affiliation: OME, University of Dundee + date: "2024-12-12" + - name: Lachlan Deakin + github: LDeakin + affiliation: Australian National University + date: "2024-12-17" + - name: Joel Lüthi + github: jluethi + affiliation: BioVisionCenter, University of Zurich + date: "2024-12-18" + - name: Eric Perlman + github: perlman + date: "2024-12-18" + - name: Johannes Soltwedel + github: jo-mueller + affiliation: German BioImaging e.V. + date: "2025-10-22" +reference_pr: https://github.com/ome/ngff/pull/285 +manual_status: R9 +status_note: superseded by RFC-8 +description: Flattening the multiscales array +date: "2025-02-24" +--- + # RFC-6: Flattening the multiscales array ```{toctree} @@ -10,73 +51,7 @@ Turn the `multiscales` array into a single `multiscale` object. ## Status -This RFC has been withdrawn (R9) since it is superseded by RFC-8. - -```{list-table} Record -:widths: 8, 20, 20, 20, 15, 10 -:header-rows: 1 -:stub-columns: 1 - -* - Role - - Name - - GitHub Handle - - Institution - - Date - - Status -* - Author - - Norman Rzepka - - [normanrz](https://github.com/normanrz) - - scalable minds - - 2024-12-03 - - -* - Endorser - - David Stansby - - [dstansby](https://github.com/dstansby) - - University College London - - 2024-12-03 - - -* - Endorser - - Davis Bennett - - [d-v-b](https://github.com/d-v-b) - - - - 2024-12-12 - - -* - Endorser - - Will Moore - - [will-moore](https://github.com/will-moore) - - OME, University of Dundee - - 2024-12-12 - - -* - Endorser - - Lachlan Deakin - - [LDeakin](https://github.com/LDeakin) - - Australian National University - - 2024-12-17 - - -* - Endorser - - Joel Lüthi - - [jluethi](https://github.com/jluethi) - - BioVisionCenter, University of Zurich - - 2024-12-18 - - -* - Endorser - - Eric Perlman - - [perlman](https://github.com/perlman) - - - - 2024-12-18 - - -* - Endorser - - Johannes Soltwedel - - [jo-mueller](https://github.com/jo-mueller) - - German BioImaging e.V. - - 2025-10-22 - - -* - Commenter - - Chris Barnes, Davis Bennett - - [clbarnes](https://github.com/clbarnes), [d-v-b](https://github.com/d-v-b) - - - - 2025-11-05 - - [Comment](./comments/1/index) +```{rfc-status} ``` ## Overview diff --git a/rfc/7/index.md b/rfc/7/index.md index cd6d22dea..90963afd1 100644 --- a/rfc/7/index.md +++ b/rfc/7/index.md @@ -1,3 +1,9 @@ +--- +manual_status: D1 +status_note: reserved, under preparation +description: Channel provenance +--- + # RFC-7: Channel provenance ```{toctree} @@ -7,3 +13,8 @@ comments/index ``` RFC-7 has been reserved a number and a topic (channel provenance), but is yet under preparation. + +## Status + +```{rfc-status} +``` diff --git a/rfc/8/index.md b/rfc/8/index.md index 262a7b1df..8355482b2 100644 --- a/rfc/8/index.md +++ b/rfc/8/index.md @@ -1,3 +1,45 @@ +--- +authors: + - name: Norman Rzepka + github: normanrz + affiliation: scalable minds + role: Co-author + date: "2024-11-20" + - name: Eric Perlman + github: perlman + affiliation: Yikes LLC + role: Co-author + date: "2024-11-20" + - name: Joel Lüthi + github: jluethi + affiliation: BioVisionCenter Zurich + role: Co-author + date: "2024-11-20" + - name: Lorenzo Cerrone + github: lorenzocerrone + affiliation: BioVisionCenter Zurich + role: Co-author + date: "2024-11-20" + - name: Christian Tischer + github: tischi + affiliation: EMBL + role: Co-author + date: "2025-02-01" + - name: Matthew Hartley + github: matthewh-ebi + affiliation: EMBL-EBI + role: Co-author + date: "2025-05-05" + - name: Johannes Soltwedel + github: jo-mueller + affiliation: German BioImaging e.V. + role: Co-author + date: "2025-10-28" +manual_status: R1 +description: Collections +date: "2026-06-03" +--- + # RFC-8: Collections and Extensibility ```{toctree} @@ -11,26 +53,8 @@ Extending OME-Zarr with new metadata types, references, and collections ## Status -This proposal is early. Status: D1 - -| Name | GitHub Handle | Institution | Date | Status | -| --------- | ------------- | ----------- | ---------- | ------------------------------------- | -| Norman Rzepka | [normanrz](https://github.com/normanrz) | scalable minds | 2024-11-20 | Author | -| Eric Perlman | [perlman](https://github.com/perlman) | Yikes LLC | 2024-11-20 | Author | -| Joel Lüthi | [jluethi](https://github.com/jluethi) | BioVisionCenter Zurich | 2024-11-20 | Author | -| Lorenzo Cerrone | [lorenzocerrone](https://github.com/lorenzocerrone) | BioVisionCenter Zurich | 2024-11-20 | Author | -| Johannes Soltwedel | [jo-mueller](https://github.com/jo-mueller) | German BioImaging e.V. | 2025-10-28 | Author | -| Christian Tischer | [tischi](https://github.com/tischi) | EMBL | 2025-02-01 | Author | -| Matthew Hartley | [matthewh-ebi](https://github.com/matthewh-ebi) | EMBL-EBI | 2025-05-05 | Author | - - +```{rfc-status} +``` ## Overview diff --git a/rfc/9/comments/1/index.md b/rfc/9/comments/1/index.md index a8807c58c..eca2ba0c1 100644 --- a/rfc/9/comments/1/index.md +++ b/rfc/9/comments/1/index.md @@ -1,10 +1,20 @@ +--- +authors: + - name: Matt McCormick + affiliation: Fideus Labs LLC + github: thewtex +date: "2025-11-15" +--- + # RFC-9: Comment 1 (rfcs:rfc9:comment1)= ## Comment authors -This comment was written by: Matt McCormick, Fideus Labs LLC. +```{document-authors} + +``` ## Conflicts of interest (optional) diff --git a/rfc/9/comments/2/index.md b/rfc/9/comments/2/index.md index 9ff9f1c0f..55e277c71 100644 --- a/rfc/9/comments/2/index.md +++ b/rfc/9/comments/2/index.md @@ -1,10 +1,20 @@ +--- +authors: + - name: Joost de Folter + affiliation: BioImaging-NL + github: folterj +date: "2025-12-03" +--- + # RFC-9: Comment 2 (rfcs:rfc9:comment2)= ## Comment authors -This comment was written by: Joost de Folter, BioImaging-NL +```{document-authors} + +``` ## Conflicts of interest (optional) diff --git a/rfc/9/comments/3/index.md b/rfc/9/comments/3/index.md index d0f80c2cd..715da745c 100644 --- a/rfc/9/comments/3/index.md +++ b/rfc/9/comments/3/index.md @@ -1,10 +1,20 @@ +--- +authors: + - name: Chris Barnes + affiliation: German BioImaging + github: clbarnes +date: "2025-12-12" +--- + # RFC-9: Comment 3 (rfcs:rfc9:comment2)= ## Comment authors -This comment was written by: Chris Barnes, German BioImaging +```{document-authors} + +``` ## Conflicts of interest (optional) diff --git a/rfc/9/comments/4/index.md b/rfc/9/comments/4/index.md index e2bfe5088..573e31e78 100644 --- a/rfc/9/comments/4/index.md +++ b/rfc/9/comments/4/index.md @@ -1,12 +1,22 @@ +--- +authors: + - name: Lenard Spiecker + github: l-spiecker + affiliation: Miltenyi Biotec B.V. & Co. KG + - name: Matthias Grunwald + affiliation: Miltenyi Biotec B.V. & Co. KG +date: "2026-02-05" +--- + # RFC-9: Comment 4 (rfcs:rfc9:comment4)= ## Comment authors -This comment was written by: Lenard Spiecker1 and Matthias Grunwald1 +```{document-authors} -1 Miltenyi Biotec B.V. & Co. KG +``` ## Conflicts of interest diff --git a/rfc/9/comments/5/index.md b/rfc/9/comments/5/index.md index d8a8c64cb..5ef255b83 100644 --- a/rfc/9/comments/5/index.md +++ b/rfc/9/comments/5/index.md @@ -1,14 +1,28 @@ +--- +authors: + - name: Anna Kreshuk + orcid: 0000-0003-1334-6388 + affiliation: ilastik + - name: Dominik Kutra + github: k-dominik + orcid: 0000-0003-4202-3908 + affiliation: ilastik + - name: Benedikt Best + github: btbest + orcid: 0000-0001-6965-1117 + affiliation: ilastik +date: "2026-01-09" +--- + # RFC-9: Comment 5 (rfcs:rfc9:comment5)= ## Comment authors -This comment was written by the ilastik team: +```{document-authors} -* Anna Kreshuk, https://orcid.org/0000-0003-1334-6388 -* Dominik Kutra, https://orcid.org/0000-0003-4202-3908 -* Benedikt Best, https://orcid.org/0000-0001-6965-1117 +``` ## Conflicts of interest (optional) diff --git a/rfc/9/comments/6/index.md b/rfc/9/comments/6/index.md index 19689c6c4..dbef1997a 100644 --- a/rfc/9/comments/6/index.md +++ b/rfc/9/comments/6/index.md @@ -1,10 +1,20 @@ +--- +authors: + - name: Assa Diabira + affiliation: Institut Cochin (IMAG'IC / CID), Université Paris Cité, France + github: assadiab +date: "2026-06-22" +--- + # RFC-9: Comment 6 (rfcs:rfc9:comment6)= ## Comment authors -This comment was written by: Assa Diabira, Institut Cochin (IMAG'IC / Cochin Image Database), Université Paris Cité, Paris, France. +```{document-authors} + +``` ## Conflicts of interest (optional) diff --git a/rfc/9/index.md b/rfc/9/index.md index 768d7bbf9..7e7384cf7 100644 --- a/rfc/9/index.md +++ b/rfc/9/index.md @@ -1,3 +1,32 @@ +--- +authors: + - name: Jonas Windhager + github: jwindhager + affiliation: SciLifeLab / Uppsala University, Sweden + role: Corresponding Author + date: "2025-07-02" + - name: Norman Rzepka + github: normanrz + affiliation: scalable minds GmbH, Germany + role: Co-author + date: "2025-08-27" + - name: Mark Kittisopikul + github: mkitti + affiliation: HHMI Janelia, United States + role: Co-author + date: "2025-08-27" +editors: + - name: Josh Moore + github: joshmoore + affiliation: German BioImaging e.V. + role: Editor + date: "2025-11-05" +reference_pr: https://github.com/ome/ngff/pull/316 +manual_status: R4 +description: Zipped OME-Zarr +date: "2025-07-02" +--- + # RFC-9: Zipped OME-Zarr ```{toctree} @@ -13,23 +42,9 @@ Add a specification for storing an OME-Zarr hierarchy within a ZIP archive. ## Status -This RFC is currently in state `R2` (waiting on reviewers). - -| Role | Name | GitHub Handle | Institution | Date | Status | -| --------- | ------------------------------------ | ----------------------------------------------------------------------------- | ---------------------------------------- | ---------- | ---------------------------------------------------------------- | -| Author | Jonas Windhager | [jwindhager](https://github.com/jwindhager) | SciLifeLab / Uppsala University, Sweden | 2025-07-02 | Corresponding Author [PR](https://github.com/ome/ngff/pull/316) | -| Author | Norman Rzepka | [normanrz](https://github.com/normanrz) | scalable minds GmbH, Germany | 2025-08-27 | Co-author [PR](https://github.com/ome/ngff/pull/316) | -| Author | Mark Kittisopikul | [mkitti](https://github.com/mkitti) | HHMI Janelia, United States | 2025-08-27 | Co-author [PR](https://github.com/ome/ngff/pull/316) | -| Editor | Josh Moore | [joshmoore](https://github.com/joshmoore) | German BioImaging e.V. | 2025-11-05 | Editor | -| Reviewer | Pete Bankhead | [petebankhead](https://github.com/petebankhead) | University of Edinburgh, United Kingdom | 2026-01-26 | [Review](./reviews/1/index) | -| Reviewer | Kola Babalola, Matthew Hartley | [kbab](https://github.com/kbab), [matthewh-ebi](https://github.com/matthewh-ebi) | BioImage Archive, EMBL-EBI | 2026-01-29 | [Review](./reviews/2/index) | -| Reviewer | Curtis Rueden | [ctrueden](https://github.com/ctrueden) | University of Wisconsin-Madison, United States | 2026-01-30 | [Review](./reviews/3/index) | -| Commenter | Matt McCormick | [thewtex](https://github.com/thewtex) | Fideus Labs LLC | 2025-11-15 | [Comment](./comments/1/index) | -| Commenter | Joost de Folter | [folterj](https://github.com/folterj) | BioImaging-NL | 2025-12-03 | [Comment](./comments/2/index) | -| Commenter | Chris Barnes | [clbarnes](https://github.com/clbarnes) | German BioImaging | 2025-12-12 | [Comment](./comments/3/index) | -| Commenter | Anna Kreshuk, Dominik Kutra, Benedikt Best | [k-dominik](https://github.com/k-dominik), [btbest](https://github.com/btbest) | ilastik | 2026-01-09 | [Comment](./comments/5/index) | -| Commenter | Lenard Spiecker, Matthias Grunwald | [l-spiecker](https://github.com/l-spiecker) | Miltenyi Biotec B.V. & Co. KG | 2026-02-05 | [Comment](./comments/4/index) | -| Commenter | Assa Diabira | [assadiab](https://github.com/assadiab) | Institut Cochin (IMAG'IC / CID), Université Paris Cité, France | 2026-06-22 | [Comment](./comments/6/index) | +```{rfc-status} + +``` ## Overview diff --git a/rfc/9/reviews/1/index.md b/rfc/9/reviews/1/index.md index cb081f6a0..60af34a7e 100644 --- a/rfc/9/reviews/1/index.md +++ b/rfc/9/reviews/1/index.md @@ -1,10 +1,21 @@ +--- +authors: + - name: Pete Bankhead + affiliation: University of Edinburgh + github: petebankhead +date: "2026-01-26" +recommendation: accept +--- + # RFC-9: Review 1 (rfcs:rfc9:review1)= ## Comment authors -This comment was written by: Pete Bankhead, University of Edinburgh +```{document-authors} + +``` ## Conflicts of interest (optional) diff --git a/rfc/9/reviews/2/index.md b/rfc/9/reviews/2/index.md index 23f1e9d0f..1933a80e4 100644 --- a/rfc/9/reviews/2/index.md +++ b/rfc/9/reviews/2/index.md @@ -1,10 +1,24 @@ +--- +authors: + - name: Kola Babalola + affiliation: BioImage Archive, EMBL-EBI + github: kbab + - name: Matthew Hartley + affiliation: BioImage Archive, EMBL-EBI + github: matthewh-ebi +date: "2026-01-29" +recommendation: minor_changes +--- + # RFC-9: Review 2 (rfcs:rfc9:review2)= ## Review authors -Kola Babalola, Matthew Hartley, the BioImage Archive, EMBL-EBI. +```{document-authors} + +``` ## Conflicts of interest diff --git a/rfc/9/reviews/3/index.md b/rfc/9/reviews/3/index.md index 6227b45f9..a050a5255 100644 --- a/rfc/9/reviews/3/index.md +++ b/rfc/9/reviews/3/index.md @@ -1,10 +1,21 @@ +--- +authors: + - name: Curtis Rueden + affiliation: University of Wisconsin-Madison + github: ctrueden +date: "2026-01-30" +recommendation: major_changes +--- + # RFC-9: Review 3 (rfcs:rfc9:review3)= ## Review authors -Curtis Rueden, University of Wisconsin-Madison. +```{document-authors} + +``` ## Conflicts of interest diff --git a/rfc/index.md b/rfc/index.md index 82367c9ae..7151e0bc4 100644 --- a/rfc/index.md +++ b/rfc/index.md @@ -44,8 +44,5 @@ and open a PR. If there are any questions, please contact the editors under -```{csv-table} RFC Listing -:header-rows: 1 -:widths: 5, 30, 5, 10, 10 -:file: listing.csv +```{rfc-listing} ``` diff --git a/rfc/listing.csv b/rfc/listing.csv deleted file mode 100644 index e131ee737..000000000 --- a/rfc/listing.csv +++ /dev/null @@ -1,12 +0,0 @@ -RFC,Description,Date,Status,OME-Zarr Version -[0](0/index.md),Original consensus model for decision making,2021,N/A,N/A -[1](1/index.md),RFC Process,2024,Adopted,N/A -[2](2/index.md),Zarr V3 Support,2024,Adopted,0.5 -[3](3/index.md),Remove axis restrictions,2024,Under review, -[4](4/index.md),Axis Anatomical Orientation,2024,Accepted, -[5](5/index.md),Coordinate systems and transformations,2024,Implementation, -[6](6/index.md),Flattening the multiscales array,2025,Superseded, -[7](7/index.md),Channel provenance,TBD,TBD, -[8](8/index.md),Collections,2026,Under review, -[9](9/index.md),Zipped OME-Zarr,2025,Under review, -[10](10/index.md),NGFF Governance and the Editorial Board,2026,Under review, diff --git a/rfc/schema/front_matter.yaml b/rfc/schema/front_matter.yaml new file mode 100644 index 000000000..d205928de --- /dev/null +++ b/rfc/schema/front_matter.yaml @@ -0,0 +1,196 @@ +id: https://w3id.org/ome/ngff/rfc-front-matter +name: NGFF_RFC_Front_Matter +version: 0.1.0 +description: >- + This schema describes the YAML front matter of the NGFF RFC documents. Every RFC page + carries a block of metadata at the top of its `index.md`, and so does every review, + comment and response filed against it. The website renders the record tables, the + status line and the RFC listing from those blocks (see `_ext/rfc_status.py` and + `_ext/document_authors.py`). This schema is what + `rfc/schema/validate.py` checks each document against. + +prefixes: + ome: https://w3id.org/ome/ + ngff: https://w3id.org/ome/ngff/ + linkml: https://w3id.org/linkml/ + orcid: https://orcid.org/ +imports: + - linkml:types +default_range: string +default_prefix: ngff + +created_on: "2026-09-09" + +classes: + + Person: + description: >- + Somebody listed on an RFC or on one of its reviews, comments or responses. Only + the name is required; the remaining fields enrich the rendered tables, and each + one that is present is turned into a link or a column entry. + attributes: + name: + description: Full name, written as the person wishes to be credited. + required: true + github: + description: GitHub handle, without the leading "@" or the profile URL. + orcid: + description: >- + ORCID identifier in its bare 0000-0000-0000-0000 form, without the + https://orcid.org/ prefix. The final character may be an X, which ORCID + uses as a checksum digit. + pattern: "^\\d{4}-\\d{4}-\\d{4}-\\d{3}[0-9X]$" + email: + description: Contact e-mail address. + affiliation: + description: Institution the person is credited under, as plain text. + affiliation_url: + description: Link for the institution, e.g. a ROR record or its homepage. + range: uri + role: + description: >- + The person's role on this RFC, shown in the "Status" column, e.g. + "Corresponding Author", "Co-author", "Editor" or "Implemented". + date: + description: >- + Date the person joined the document; people are added throughout the process, + so this differs from the document's own date. Write it as YYYY-MM-DD, quoted + so YAML keeps it a string rather than parsing it into a date object. + range: date + reference: + description: >- + Link backing an endorsement, e.g. the PR comment where it was given. Only + meaningful for entries under `endorsers`. + range: uri + + RFCFrontMatter: + description: The front matter of an RFC itself, i.e. of `rfc//index.md`. + tree_root: true + attributes: + manual_status: + description: >- + The status code the RFC currently sits at. Editors set it by hand as the RFC + moves through the process; it is never inferred from the reviews or responses + present in the directory. + range: StatusCode + required: true + description: + description: >- + A few words naming what the RFC changes, used as its row in the RFC listing. + required: true + status_note: + description: >- + Optional fragment explaining the status, e.g. "superseded by RFC-8". Shown in + parentheses after the status and in the listing's "Note" column. + ome_zarr_version: + description: >- + The OME-Zarr version this RFC landed in, once it has landed in a release. + date: + description: >- + Date the RFC moved from DRAFT to RFC status, ideally that of the reference + PR's merge. Its year is the listing's "Date" column. + range: date + reference_pr: + description: The pull request that introduced the RFC. + range: uri + authors: + description: The RFC's authors, in the order they should be credited. + range: Person + multivalued: true + inlined_as_list: true + editors: + description: The editors shepherding the RFC. + range: Person + multivalued: true + inlined_as_list: true + endorsers: + description: >- + Community members who have publicly endorsed the RFC. Optional, and each may + carry a `reference` link to where the endorsement was made. + range: Person + multivalued: true + inlined_as_list: true + + ReviewFrontMatter: + description: >- + The front matter of a review, comment or response, i.e. of + `rfc//{reviews,comments,responses}/