chore: REUSE заход 3 — шапки, LICENSES, REUSE.toml #16

Merged
iuriishikov merged 3 commits from task/reuse-scratch into main 2026-07-20 17:50:45 +00:00

REUSE заход 3 по брифу docs/tasks/reuse-scratch.md (ADR-011 Амендмент D). Репозиторий — архив прототипа: код заморожен, дифф — только лицензионная обвязка.

Что сделано

  • Три исходника (src/main.rs, src/glass.rs, src/glass.wgsl): однострочный тег заменён плотным двухстрочным REUSE-блоком, после блока — настоящая пустая строка. Вручную, без reuse annotate, точным совпадением исходного состояния.
  • Первичные шапки: Cargo.toml (#), README.md и docs/glass-pr1.md (<!-- -->, форма как в managed-файлах шаблона).
  • LICENSES/LicenseRef-PolyForm-Strict-1.0.0.txt — относительный симлинк на корневой LICENSE (паттерн shikos-template / shikos-iced-liquid-glass).
  • REUSE.toml (version 1): одна аннотация на Cargo.lock, assets/backdrop.png, .claude/settings.json, .sync.yml, deny.toml, CODEOWNERS (держатель 2026 Iurii Shikov, лицензия LicenseRef-PolyForm-Strict-1.0.0); отдельная — NOTICE c precedence = "aggregate".
  • Последним коммитом удалён отработавший бриф.

Сверка шага 0

Инвентарь reuse lint (6.2.0) совпал со списком брифа без расхождений. Единственный красный пункт до последнего коммита — сам бриф (непокрыт + invalid SPDX expression от тега в бэктиках в его тексте); ушёл вместе с файлом.

Два микрорешения, одобрены основателем на шаге 0:

  1. В glass.wgsl пустая комментарная строка // между тегом и доками заменена настоящей пустой строкой (+2/−1 вместо чистого +2) — это и требует «после блока — настоящая пустая строка», склейка блоков и была причиной запрета reuse annotate.
  2. Аннотация NOTICE несёт только лицензию: его собственная copyright-строка остаётся источником держателя, aggregate её дополняет, а не дублирует.

Локально vs шаблон

  • Локально легло: шапки собственных файлов, LICENSES/, REUSE.toml.
  • Шаблону принадлежит: внесение reuse lint в гейт/justfile (явный non-goal, отдельный заход в shikos-template); шапки managed-файлов уже приезжают из шаблона и здесь не тронуты.

Проверки

  • reuse lint — зелёный: 25/25 файлов с copyright и лицензией, REUSE spec 3.3.
  • just ci — exit 0 (fmt, clippy, nextest, cargo-deny).
  • git diff --stat до удаления брифа: 6 файлов, +19/−1 (только строки шапок) + два новых файла (REUSE.toml, симлинк).

Наблюдения по пути (в отчёт, не в дифф)

  • README.md до сих пор несёт плейсхолдеры шаблона (# shikos-<name>, «одно предложение…») — для архива прототипа, возможно, так и оставить, но решение за основателем, отдельным заходом.
  • Бенчи не гонялись: код не менялся ни на символ, цифры бенчей к заходу не применимы.

Отклонения от брифа

Нет.

🤖 Generated with Claude Code

REUSE заход 3 по брифу `docs/tasks/reuse-scratch.md` (ADR-011 Амендмент D). Репозиторий — архив прототипа: код заморожен, дифф — только лицензионная обвязка. ## Что сделано - **Три исходника** (`src/main.rs`, `src/glass.rs`, `src/glass.wgsl`): однострочный тег заменён плотным двухстрочным REUSE-блоком, после блока — настоящая пустая строка. Вручную, без `reuse annotate`, точным совпадением исходного состояния. - **Первичные шапки**: `Cargo.toml` (`#`), `README.md` и `docs/glass-pr1.md` (`<!-- -->`, форма как в managed-файлах шаблона). - **`LICENSES/LicenseRef-PolyForm-Strict-1.0.0.txt`** — относительный симлинк на корневой `LICENSE` (паттерн shikos-template / shikos-iced-liquid-glass). - **`REUSE.toml`** (version 1): одна аннотация на `Cargo.lock`, `assets/backdrop.png`, `.claude/settings.json`, `.sync.yml`, `deny.toml`, `CODEOWNERS` (держатель `2026 Iurii Shikov`, лицензия `LicenseRef-PolyForm-Strict-1.0.0`); отдельная — `NOTICE` c `precedence = "aggregate"`. - Последним коммитом удалён отработавший бриф. ## Сверка шага 0 Инвентарь `reuse lint` (6.2.0) совпал со списком брифа **без расхождений**. Единственный красный пункт до последнего коммита — сам бриф (непокрыт + invalid SPDX expression от тега в бэктиках в его тексте); ушёл вместе с файлом. Два микрорешения, одобрены основателем на шаге 0: 1. В `glass.wgsl` пустая комментарная строка `//` между тегом и доками заменена настоящей пустой строкой (+2/−1 вместо чистого +2) — это и требует «после блока — настоящая пустая строка», склейка блоков и была причиной запрета `reuse annotate`. 2. Аннотация `NOTICE` несёт только лицензию: его собственная copyright-строка остаётся источником держателя, `aggregate` её дополняет, а не дублирует. ## Локально vs шаблон - **Локально легло**: шапки собственных файлов, `LICENSES/`, `REUSE.toml`. - **Шаблону принадлежит**: внесение `reuse lint` в гейт/justfile (явный non-goal, отдельный заход в shikos-template); шапки managed-файлов уже приезжают из шаблона и здесь не тронуты. ## Проверки - `reuse lint` — зелёный: 25/25 файлов с copyright и лицензией, REUSE spec 3.3. - `just ci` — exit 0 (fmt, clippy, nextest, cargo-deny). - `git diff --stat` до удаления брифа: 6 файлов, +19/−1 (только строки шапок) + два новых файла (`REUSE.toml`, симлинк). ## Наблюдения по пути (в отчёт, не в дифф) - `README.md` до сих пор несёт плейсхолдеры шаблона (`# shikos-<name>`, «одно предложение…») — для архива прототипа, возможно, так и оставить, но решение за основателем, отдельным заходом. - Бенчи не гонялись: код не менялся ни на символ, цифры бенчей к заходу не применимы. ## Отклонения от брифа Нет. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
docs: add task/reuse-scratch brief (REUSE pass 3)
All checks were successful
ci / ci-1 (push) Successful in 2m39s
ci / ci (push) Successful in 0s
a517e35261
Two-line SPDX headers in own sources and primary files, LICENSES/
symlink to the root LICENSE, REUSE.toml for comment-incapable and
template-managed paths (NOTICE via precedence = "aggregate").

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs: drop reuse-scratch task brief
All checks were successful
ci / ci-1 (push) Successful in 2m39s
ci / ci (push) Successful in 0s
ci / ci-1 (pull_request) Successful in 2m35s
ci / ci (pull_request) Successful in 0s
4df25fdbb4
Contract fulfilled; the one-off brief leaves with its task.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
iuriishikov left a comment

Сверено против брифа task/reuse-scratch и Амендмента D. Дифф — строго заявленное: шапки +19/−1 по шести файлам (три исходника — плотный двухстрочный блок, тег заменён без задвоения; glass.wgsl — склейка // → настоящая пустая строка, как одобрено на шаге 0), симлинк LICENSES/ → ../LICENSE, REUSE.toml version 1 с провенанс-комментариями. Формулы, константы и managed-файлы не тронуты ни на символ. Бриф в диффе отсутствует — добавлен первым коммитом, удалён последним, контракт отработан. Аннотация NOTICE — «только лицензия» при aggregate, как решено основателем на шаге 0.

Одно косметическое замечание комментарием к строке — правки не требует. APPROVED; мерж — за основателем.

Сверено против брифа `task/reuse-scratch` и Амендмента D. Дифф — строго заявленное: шапки +19/−1 по шести файлам (три исходника — плотный двухстрочный блок, тег заменён без задвоения; `glass.wgsl` — склейка `//` → настоящая пустая строка, как одобрено на шаге 0), симлинк `LICENSES/` → `../LICENSE`, `REUSE.toml` version 1 с провенанс-комментариями. Формулы, константы и managed-файлы не тронуты ни на символ. Бриф в диффе отсутствует — добавлен первым коммитом, удалён последним, контракт отработан. Аннотация `NOTICE` — «только лицензия» при `aggregate`, как решено основателем на шаге 0. Одно косметическое замечание комментарием к строке — правки не требует. APPROVED; мерж — за основателем.
@ -0,0 +4,4 @@
version = 1
# Собственные файлы без возможности комментария и файлы, локально не
# редактируемые (собственность shikos-template или Forgejo-инфраструктура).
Owner

Косметика, не блокер, правки не прошу — заметка для будущей задачи про манифест синхронизации: «Forgejo-инфраструктура» к путям этого списка не относится (это про trigger-sync.yml боевого репо, которого здесь нет), а CODEOWNERS — не собственность shikos-template: он вне managed-списка, владение отложено (хвост в вольте). Точнее было бы «собственность shikos-template или артефакт рождения из шаблона».

Косметика, не блокер, правки не прошу — заметка для будущей задачи про манифест синхронизации: «Forgejo-инфраструктура» к путям этого списка не относится (это про trigger-sync.yml боевого репо, которого здесь нет), а CODEOWNERS — не собственность shikos-template: он вне managed-списка, владение отложено (хвост в вольте). Точнее было бы «собственность shikos-template или артефакт рождения из шаблона».
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
shikos/shikos-glass-scratch!16
No description provided.