From 4b6265e4b79cad55c057d15417b6f74157594fce Mon Sep 17 00:00:00 2001 From: Raul Jimenez Ortega Date: Thu, 5 Nov 2026 11:21:32 +0100 Subject: [PATCH] docs: record the two release chores nothing checks for you MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The spec support window is computed, so a spec release needs one edit in app.js — but the README badge that states the range is prose, and `npm run check` reads the npm registry and the published schema, never the README. It would have gone stale silently on 0.7. The widget is the other one: `` is pinned by URL and is a separate version line from the spec (its own `oteSpecVersion` says which spec release it targets, and it lags — v0.8.2 targets OTE 0.4.0). The reader renders nothing itself, so a widget regression is invisible to every check this repo has and only shows up in a browser. Also adds the badges to the README, and states the supported minors in prose above the fold so the answer to "can it open my feed?" does not require reading to the middle of the page. Co-Authored-By: Claude Opus 5 --- CLAUDE.md | 36 ++++++++++++++++++++++++++++++++++++ README.md | 11 +++++++++++ 2 files changed, 47 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 0ee50ef..8ea81e9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -19,3 +19,39 @@ update these together before considering the task done: Internal/invisible changes (refactors, tooling, comments) don't need a version bump or changelog entry. + +## When the OTE spec publishes a new version + +The support window is the last three minors, computed — not listed — so +one edit moves it: + +1. Append the new version to `PUBLISHED_SPEC_VERSIONS` in `app.js`. The + window, the latest version and every message derive from it. +2. Update the **OTE spec badge range** at the top of `README.md` (e.g. + `v0.4 – v0.6`). This is the one thing nothing checks for you — see + below. + +`npm run check` reads the npm registry and the published event schema and +fails when `PUBLISHED_SPEC_VERSIONS` or `INHERITED_FEED_FIELDS` in +`app.js` have drifted from them. It does **not** look at the README, so +the badge goes stale silently. + +A document is always judged against the version it *declares*, never +against the latest one, and a feed outside the window still opens — being +on an older release is a notice, never a defect, and no message blames +the publisher. Deliberately no dependency on `@opentechevents/validate`: +a reader must be more tolerant than a validator. The reasoning is in +README under "OTE spec version support"; don't re-litigate it without +reading that first. + +## When `` publishes a new version + +The widget is pinned by URL in `index.html` (`/embed/vX.Y.Z/`) and is a +separate version line from the OTE spec — the widget's own +`oteSpecVersion` says which spec release it targets, and it lags. Before +bumping, check the widget's **source** for the attributes and properties +this app sets (`layout`, `group-events`, `fields-preview`, +`fields-detail`, `show-past`, `sort`, `event-actions`, `theme`, and +`events` / `eventActions` / `eventClassName` / `eventBadges`), then +verify in a browser — the reader renders nothing itself, so a widget +regression is invisible to `npm run check`. diff --git a/README.md b/README.md index 61508b6..4150e1b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,16 @@ # OTE Reader +[![Deploy GitHub Pages](https://github.com/OpenTechEvents/ote-reader/actions/workflows/pages.yml/badge.svg)](https://github.com/OpenTechEvents/ote-reader/actions/workflows/pages.yml) +[![OTE spec](https://img.shields.io/badge/OTE%20spec-v0.4%20%E2%80%93%20v0.6-2563eb)](#ote-spec-version-support) +[![Reader](https://img.shields.io/badge/reader-opentechevents.org-2563eb)](https://reader.opentechevents.org) +![PWA](https://img.shields.io/badge/PWA-offline--first-5b21b6) +![Build step](https://img.shields.io/badge/build%20step-none-555555) +![License](https://img.shields.io/badge/license-MIT-339933) + +Supported OTE spec minors: **0.4, 0.5, 0.6** — the last three published minors, +computed at runtime from `PUBLISHED_SPEC_VERSIONS` in `app.js`. Feeds outside +that window still open; see [OTE spec version support](#ote-spec-version-support). + Attendee-facing MVP for OpenTechEvents feeds. The first version is a static PWA that lets people: