From 821ea997feb8b209fd32dc8cf9be9f8d5b68d24d Mon Sep 17 00:00:00 2001 From: Sylvain Duchesne Date: Mon, 17 Aug 2026 10:53:32 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20dire=20pourquoi=20le=20tag=20est=20nu,?= =?UTF-8?q?=20pour=20qu'il=20cesse=20de=20l'=C3=AAtre=20au=20bon=20moment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../concepts/indexing/indexing-layer/contract_indexing-layer.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.project/concepts/indexing/indexing-layer/contract_indexing-layer.md b/.project/concepts/indexing/indexing-layer/contract_indexing-layer.md index 0f5ca23..a201e9c 100644 --- a/.project/concepts/indexing/indexing-layer/contract_indexing-layer.md +++ b/.project/concepts/indexing/indexing-layer/contract_indexing-layer.md @@ -141,6 +141,8 @@ What each level means here, in this package's own terms: **A tag says where it comes from.** A release cut on `main` carries a **full version** (`1.0.0`), and the three rules above govern what changes between two full versions. Work still on a branch carries a **pre-release** of the version it is heading for (`1.0.0-dev.3`), which sorts *below* that version by construction — so you can pin what exists today while the tag itself tells you the surface has not been released and may still move before it is. Between two pre-releases of the same version nothing is promised: re-pull and read this leaf again. When the branch lands, the full version appears alongside; the pre-release keeps resolving, so no reference you pinned is ever withdrawn from under you. +**The tag is bare — `v1.0.0` — because this repository publishes exactly one engagement**, so there is nothing for a prefix to disambiguate. Should a second one ever ship here, tags take the package name from that point on (`indexing/v…`), because a bare tag stops saying which surface it froze the day two versions move independently. Bare tags already laid stay valid as history. + `1.0.0` is a baseline, not a claim of maturity: it is the number that makes your pin mean something. Nothing was released before it. This engagement is cut on `main`, so `1.0.0` is what you pin, and your `usage_` leaf anchors `against:` on that exact string — `against: @ng-helpers/indexing@1.0.0`. Had you pinned a pre-release, `against:` would carry that string, pre-release suffix included. There is no changelog file and no deprecation window: **the sections above are the release note.** A removal or a narrowing lands in `## Surface` and `## Guarantees` in the same version that ships it. Diff this leaf between two pulls — `## Guarantees` and `## Non-guarantees` before `## Surface`, because that is where a narrowing shows up first.