From eee5c419168df172f8bc220c70df8d25d0dd1583 Mon Sep 17 00:00:00 2001 From: Jaro-c <75870284+Jaro-c@users.noreply.github.com> Date: Mon, 20 Jul 2026 07:50:07 -0500 Subject: [PATCH] docs: drop the em dashes and diagram how a reusable change propagates Four em dashes across the two README surfaces, rewritten rather than substituted: two became sentence breaks, one a colon, one a subordinate clause. Adds a Mermaid diagram of the propagation path, which is the thing this repository most needs a reader to understand and the hardest to carry in prose: edit, merge, prove on one consumer pinned at the merge SHA, tag only then, Dependabot bumps each consumer, and the pin moves only when that consumer's own CI passes. The red branch back to the edit is the point, because a tag is immutable and reaches every repository at once. No badge. The reader here is a maintainer deciding which version to pin, and an Actionlint status does not answer that. GitHub serves no native release badge, so there is nothing honest to add. Signed-off-by: Jaro-c <75870284+Jaro-c@users.noreply.github.com> --- README.md | 20 ++++++++++++++++++-- profile/README.md | 8 ++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4acb715..f4ca28a 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,28 @@ jobs: - **Release contracts:** `installer-contract` - **Policy gates:** `dco`, `main-guard`, `line-limit` -Pin to a release **commit SHA** with the version in a comment — Dependabot bumps +Pin to a release **commit SHA** with the version in a comment. Dependabot bumps it when a newer release ships. Allowed action sources: `actions/*`, `Glyndor/*`, and `oven-sh/setup-bun` (needed by `bun-ci`). +## How a change reaches a repository + +```mermaid +flowchart LR + E["Edit a reusable here"] --> M["Merge to main"] + M --> P["Prove it on one consumer
pinned at the merge SHA"] + P -->|green| T["Tag vX.Y.Z"] + T --> D["Dependabot opens a bump
in each consumer"] + D --> C["Consumer CI passes
then the pin moves"] + P -.->|red| E +``` + +The SHA pin is the buffer: a change here never reaches a repository until that +repository's own CI has passed on it. Tag only after a real consumer is green, +because a tag is immutable and reaches the whole organisation at once. + ## Versioning -Releases are semver tags on `main` — **major** for a breaking change to a +Releases are semver tags on `main`: **major** for a breaking change to a reusable's inputs or behavior, **minor** for additive changes, **patch** for fixes. diff --git a/profile/README.md b/profile/README.md index 27ab44f..8fbcbf1 100644 --- a/profile/README.md +++ b/profile/README.md @@ -16,7 +16,7 @@ Website: glyndor.net | [podup](https://github.com/Glyndor/podup) | Rust | docker-compose translator and runner for rootless Podman | | [epistle](https://github.com/Glyndor/epistle) | Rust | Self-hosted, headless mail server (SMTP/IMAP/JMAP) | | [epistle-panel](https://github.com/Glyndor/epistle-panel) | TypeScript | Web admin panel for epistle | -| [authcore](https://github.com/Glyndor/authcore) | Go | Auth primitives library — passwords, tokens, OAuth2/OIDC | +| [authcore](https://github.com/Glyndor/authcore) | Go | Auth primitives library: passwords, tokens, OAuth2/OIDC | | [unitpm](https://github.com/Glyndor/unitpm) | Go | systemd-native process manager | | [klyradb](https://github.com/Glyndor/klyradb) | Rust | Local database instance manager (desktop app) | | [specio](https://github.com/Glyndor/specio) | TypeScript | Browser extension: on-device website tech-stack detection | @@ -24,8 +24,8 @@ Website: glyndor.net ## Contributing -Issues are open to everyone. Pull requests are invitation-only — this code -touches kernel-level surfaces (SSH, firewall, ports). Report vulnerabilities -privately via [`SECURITY.md`](https://github.com/Glyndor/.github/blob/main/SECURITY.md); +Issues are open to everyone. Pull requests are invitation-only, because this +code touches kernel-level surfaces (SSH, firewall, ports). Report +vulnerabilities privately via [`SECURITY.md`](https://github.com/Glyndor/.github/blob/main/SECURITY.md); contribution flow and conventions are in [`CONTRIBUTING.md`](https://github.com/Glyndor/.github/blob/main/CONTRIBUTING.md).