fix(check-permissions): replace stale ADR-NNN placeholder in spec-status reasons #110

Merged
slaid098 merged 1 commit from fix/check-permissions/replace-adr-placeholder into main 2026-08-19 01:13:51 +03:00
Owner

Что сделано

Заменён плейсхолдер ADR-NNN на ADR-019 в обоих reason-строках для spec-status.py в .opencode/scripts/check-permissions.py (строки 26 и 31). Теперь паттерны для spec-status.py симметричны соседним (pipeline-status.py, project-status.py), которые уже ссылаются на ADR-019.

Почему

Плейсхолдер ADR-NNN никогда не был заполнен — нумерация ADR-NN отменена согласно memory skill. Несуществующая ссылка вводит в заблуждение при чтении violation-сообщений: агент видит See ADR-NNN, но такого ADR не существует, и не понимает, куда смотреть. Соседние паттерны используют корректную ссылку ADR-019 — расхождение было несимметричным. Issue #109.

Watch out

—

Pending

—

Closes #109

## Что сделано Заменён плейсхолдер `ADR-NNN` на `ADR-019` в обоих reason-строках для `spec-status.py` в `.opencode/scripts/check-permissions.py` (строки 26 и 31). Теперь паттерны для `spec-status.py` симметричны соседним (`pipeline-status.py`, `project-status.py`), которые уже ссылаются на `ADR-019`. ## Почему Плейсхолдер `ADR-NNN` никогда не был заполнен — нумерация ADR-NN отменена согласно memory skill. Несуществующая ссылка вводит в заблуждение при чтении violation-сообщений: агент видит `See ADR-NNN`, но такого ADR не существует, и не понимает, куда смотреть. Соседние паттерны используют корректную ссылку `ADR-019` — расхождение было несимметричным. Issue #109. ## Watch out — ## Pending — Closes #109
fix(check-permissions): replace stale ADR-NNN placeholder in spec-status reasons
All checks were successful
CI (always) / bootstrap (pull_request) Successful in 4s
CI / bootstrap (pull_request) Successful in 8s
Permission Security Check / check (pull_request) Successful in 8s
CI / lint (pull_request) Successful in 23s
CI / typecheck (pull_request) Successful in 24s
CI / complexity (pull_request) Successful in 33s
CI / test (3.13) (pull_request) Successful in 1m33s
3a6e29c5fc
Author
Owner

Code Review Summary

Тривиальный, но корректный фикс: замена stale-плейсхолдера ADR-NNN на ADR-019 в двух reason-строках для spec-status.py в DANGEROUS_PATTERNS. Изменение восстанавливает симметрию с соседними паттернами (pipeline-status.py, project-status.py), которые уже ссылаются на ADR-019.

Positives

  • Точный минимальный diff (2 строки, без побочных изменений)
  • Ссылка ADR-019 валидна — ADR существует (docs/decisions/019-pr-46-review-posting-tools.md), и это та же ссылка, что используется в reviewer.md и memory-syncer.md для deny-rule оракул-скриптов
  • PR body заполнен осмысленно, Closes #109, title в conventional формате
  • Cross-file impact проверен: rg "ADR-NNN" не находит вхождений в активном коде (только исторические docs/handoff, которые по конвенции не трогаются); тесты не ассертят старый литерал; оракулы не парсят reason-строки — breakage risk отсутствует

Suggestions (info, not blocking)

  • check-permissions.py:26 [style] Reason-строки для всех трёх оракул-скриптов теперь идентичны по структуре — при желании можно вынести общий шаблон сообщения в константу, но для 6 строк это оверинжиниринг (YAGNI), оставляю как есть.

Verdict: APPROVE

## Code Review Summary Тривиальный, но корректный фикс: замена stale-плейсхолдера `ADR-NNN` на `ADR-019` в двух reason-строках для `spec-status.py` в `DANGEROUS_PATTERNS`. Изменение восстанавливает симметрию с соседними паттернами (`pipeline-status.py`, `project-status.py`), которые уже ссылаются на `ADR-019`. ### Positives - Точный минимальный diff (2 строки, без побочных изменений) - Ссылка `ADR-019` валидна — ADR существует (`docs/decisions/019-pr-46-review-posting-tools.md`), и это та же ссылка, что используется в `reviewer.md` и `memory-syncer.md` для deny-rule оракул-скриптов - PR body заполнен осмысленно, `Closes #109`, title в conventional формате - Cross-file impact проверен: `rg "ADR-NNN"` не находит вхождений в активном коде (только исторические docs/handoff, которые по конвенции не трогаются); тесты не ассертят старый литерал; оракулы не парсят reason-строки — breakage risk отсутствует ### Suggestions (info, not blocking) - **check-permissions.py:26** [style] Reason-строки для всех трёх оракул-скриптов теперь идентичны по структуре — при желании можно вынести общий шаблон сообщения в константу, но для 6 строк это оверинжиниринг (YAGNI), оставляю как есть. ### Verdict: APPROVE
slaid098 deleted branch fix/check-permissions/replace-adr-placeholder 2026-08-19 01:13:52 +03:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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
slaid098/opencode-config!110
No description provided.