From 041f88b6a2ba2fd6bba256176533a79027eae577 Mon Sep 17 00:00:00 2001 From: Crimson Date: Tue, 15 Sep 2026 02:19:24 +0500 Subject: [PATCH] =?UTF-8?q?docs(release):=20=D0=B7=D0=B0=D1=84=D0=B8=D0=BA?= =?UTF-8?q?=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20stable=20pro?= =?UTF-8?q?motion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 13 ++- README.md | 20 +++-- .../2026-09-15-v1.0.0-stable-promotion.md | 89 +++++++++++++++++++ docs/acceptance/README.md | 6 ++ 4 files changed, 116 insertions(+), 12 deletions(-) create mode 100644 docs/acceptance/2026-09-15-v1.0.0-stable-promotion.md diff --git a/CHANGELOG.md b/CHANGELOG.md index b88b894..ace0438 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,10 +20,15 @@ - Release identity привязана к source commit `b7e478f0143846633d1261ca0bcd220736d28f44`, Build ID `rc5-final-fi-20260908T003829Z` и SHA-256 артефакта `d35cf469d8e1e3b5c1e79cb94329c1b19d1afbd7ade771498d2fb8caf5cd746a`. - Stable promotion должен использовать эти же байты без пересборки; docs-only - коммит не меняет идентичность проверенного кандидата. + Stable `v1.0.0` опубликован из этих же байтов без пересборки и по решению + release operator остаётся привязан к тегу `1.0.0-rc5`; docs-only коммиты не + меняют идентичность проверенного кандидата. - Полный протокол опубликован в [итоговом отчёте о приёмке RC5](docs/acceptance/2026-09-15-v1.0.0-rc5-final-acceptance.md). +- Отдельная + [фиксация stable promotion](docs/acceptance/2026-09-15-v1.0.0-stable-promotion.md) + записывает фактическую связь release/tag и basename-only checksum-sidecar + размером 93 байта. Runtime-разбор RC4 закрыл три дефекта панели и один связанный риск сопровождения. Набор знаков имени пира больше не хранится как сырой `@` внутри @@ -2329,5 +2334,5 @@ v257.13, то есть той самой линии, что стоит на Debi Клиентские ссылки `0.x` в любом случае перестанут работать: смена обфускации — это изменение wire-совместимости. -[Unreleased]: https://git.flamy.studio/prod/HY2XS_flamy/compare/v1.0.0...HEAD -[1.0.0]: https://git.flamy.studio/prod/HY2XS_flamy/releases/tag/v1.0.0 +[Unreleased]: https://git.flamy.studio/prod/HY2XS_flamy/compare/1.0.0-rc5...main +[1.0.0]: https://git.flamy.studio/prod/HY2XS_flamy/releases/tag/1.0.0-rc5 diff --git a/README.md b/README.md index 5e6fbcb..294065a 100644 --- a/README.md +++ b/README.md @@ -40,15 +40,19 @@ HY2XS подходит для сценария, где нужен один produ ## Статус приёмки v1.0.0 -Кандидат `1.0.0-rc5` прошёл финальную production-приёмку на чистом Debian 13: -сборку и проверку опубликованного артефакта, установку, reboot persistence, -Admin/UI, управление пирами, diagnostics, реальный E2E официальным клиентом -Hysteria 2.12.2 и дополнительный gateway/TUN anti-leak прогон. +Stable `v1.0.0` выпущен из принятого artifact `1.0.0-rc5` без пересборки. +Проверенные source commit, tarball и SHA-256 не изменялись; release сознательно +остаётся привязан к тегу `1.0.0-rc5`. -Вердикт: **`PASS / PRODUCTION E2E VALIDATED`**, кандидат готов к выпуску -`1.0.0`. Канонические release identity, контрольная сумма и полный протокол — в -[итоговом отчёте о приёмке RC5](docs/acceptance/2026-09-15-v1.0.0-rc5-final-acceptance.md). -Stable должен продвигать проверенный RC5 artifact без пересборки. +Финальная production-приёмка на чистом Debian 13 охватила build, установку, +reboot persistence, Admin/UI, управление пирами, diagnostics, реальный E2E +официальным клиентом Hysteria 2.12.2 и дополнительный gateway/TUN anti-leak +прогон. Вердикт: **`PASS / PRODUCTION E2E VALIDATED`**. + +Подробности: + +- [итоговый отчёт о приёмке RC5](docs/acceptance/2026-09-15-v1.0.0-rc5-final-acceptance.md); +- [фиксация stable promotion](docs/acceptance/2026-09-15-v1.0.0-stable-promotion.md). ## Возможности diff --git a/docs/acceptance/2026-09-15-v1.0.0-stable-promotion.md b/docs/acceptance/2026-09-15-v1.0.0-stable-promotion.md new file mode 100644 index 0000000..d410808 --- /dev/null +++ b/docs/acceptance/2026-09-15-v1.0.0-stable-promotion.md @@ -0,0 +1,89 @@ +# HY2XS v1.0.0 — фиксация stable promotion + +**Дата фиксации:** 2026-09-15 + +**Статус:** `PUBLISHED / EXACT RC5 BYTES` + +Этот документ дополняет, но не изменяет опубликованный +[итоговый отчёт о приёмке RC5](2026-09-15-v1.0.0-rc5-final-acceptance.md). +Он фиксирует release plumbing после публикации stable: какой тег связан с +release, из какого commit получен артефакт и какие именно байты опубликованы. + +## 1. Структура публикации + +По решению release operator отдельный stable-тег `1.0.0` не создавался. Stable +release использует принятый тег RC5: + +```text +Release title: v1.0.0 +Release tag: 1.0.0-rc5 +Tag commit: b7e478f0143846633d1261ca0bcd220736d28f44 +Prerelease: false +Draft: false +``` + +Это намеренная фактическая схема публикации, а не утверждение о наличии +отдельного тега `1.0.0`. + +## 2. Идентичность артефакта + +В stable release опубликован тот же immutable tarball, который прошёл финальную +приёмку RC5. Повторная сборка и изменение архива не выполнялись. + +```text +Build ID: rc5-final-fi-20260908T003829Z +Artifact: hy2xs-install-1.0.0.tar.gz +Artifact size: 50 785 975 bytes +SHA-256: d35cf469d8e1e3b5c1e79cb94329c1b19d1afbd7ade771498d2fb8caf5cd746a +Gitea asset ID: 20 +``` + +Release source, Build ID, размер и SHA-256 совпадают с принятым RC5 artifact. + +## 3. Checksum sidecar + +Stable sidecar опубликован в basename-only формате: + +```text +d35cf469d8e1e3b5c1e79cb94329c1b19d1afbd7ade771498d2fb8caf5cd746a hy2xs-install-1.0.0.tar.gz +``` + +За строкой находится один LF. Итоговый размер файла — ровно 93 байта. + +```text +Sidecar: hy2xs-install-1.0.0.tar.gz.sha256 +Sidecar size: 93 bytes +Gitea asset ID: 25 +``` + +Такой sidecar проверяется из каталога с обоими файлами обычной командой: + +```bash +sha256sum -c hy2xs-install-1.0.0.tar.gz.sha256 +``` + +Путь сборочной машины `dist/` в опубликованном sidecar отсутствует. + +## 4. Граница source и документации + +Release tag `1.0.0-rc5` указывает на проверенный source commit +`b7e478f0143846633d1261ca0bcd220736d28f44`. Последующие docs-only commits в +`main` не являются source commit артефакта и не меняют release identity. + +Финальный RC5 acceptance-report не переписывался после публикации. Эта запись +существует отдельно именно для фиксации последующего stable promotion. + +## 5. Итог + +```text +STABLE RELEASE PUBLISHED +RELEASE TITLE v1.0.0 +RELEASE TAG 1.0.0-rc5 +SOURCE COMMIT b7e478f0143846633d1261ca0bcd220736d28f44 +ARTIFACT REBUILT NO +ARTIFACT SHA-256 VERIFIED +SIDECAR BASENAME-ONLY VERIFIED +SIDECAR SIZE 93 BYTES +``` + +**Stable v1.0.0 опубликован из exact RC5 bytes без пересборки.** diff --git a/docs/acceptance/README.md b/docs/acceptance/README.md index 7176ff0..a606250 100644 --- a/docs/acceptance/README.md +++ b/docs/acceptance/README.md @@ -29,6 +29,12 @@ | 2026-09-07 | `1.0.0-rc3` | `bf10810c` | clean install + failure rollback, Debian 13 | [RUNTIME REJECTED — installer smoke блокируется middleware](2026-09-07-v1.0.0-rc3-runtime-findings.md) | | 2026-09-15 | `1.0.0-rc5` | `b7e478f0` | build + clean install + production E2E, Debian 13 | [PASS / PRODUCTION E2E VALIDATED — READY FOR 1.0.0](2026-09-15-v1.0.0-rc5-final-acceptance.md) | +## Публикация stable + +| Дата фиксации | Release | Тег | Коммит источника | Запись | +| --- | --- | --- | --- | --- | +| 2026-09-15 | `v1.0.0` | `1.0.0-rc5` | `b7e478f0` | [PUBLISHED / EXACT RC5 BYTES](2026-09-15-v1.0.0-stable-promotion.md) | + ## Открытые дефекты приёмки | Прогон | Дефекты |