fix(pipeline-docs): unify N/M placeholder notation in agents and skills #84

Merged
slaid098 merged 4 commits from fix/pipeline-docs/placeholder-notation into main 2026-08-16 19:38:40 +03:00
Owner

Что сделано

  • memory-syncer.md: плейсхолдеры pulls/<N>, issues/<issue_N>, Closes #N, PR#N → <PR_NUMBER>/<ISSUE_NUMBER>; receipt-пример - [YYYY-MM-DD, PR#<PR_NUMBER>] с пояснением о подстановке реального номера.
  • reviewer.md: git diff main...HEAD → git diff origin/HEAD...HEAD (ADR-076); PR #N, pulls/<N>, PR#N в receipt-паттернах → <PR_NUMBER>.
  • issue SKILL.md: merge-pr({ pr_number: N }) → pr_number: <PR_NUMBER>; Part of #N/Closes #N → <ISSUE_NUMBER>.
  • check-permissions.py: подсказки pipeline_status/spec_status → kebab-case pipeline-status/spec-status (только строки сообщений, функционально идентичен).
  • Копии всех 4 файлов в ~/.config/opencode/ синхронизированы байт-идеально.

Почему

Конвенция run-pipeline (N=issue, M=PR) нарушалась в смежных agent-facing документах, где N означал PR — путаница номеров. Самодокументируемые плейсхолдеры <PR_NUMBER>/<ISSUE_NUMBER> устраняют буквенные коллизии без конфликта с нотацией run-pipeline (чинится отдельным issue).

Watch out

  • Устаревшая ссылка на строки memory-syncer.md («## Setup» line 38, строки 47–48) уже исправлена в PR #81 (коммит c23b058: memory-syncer.md:38 → memory-syncer.md:47-48) — текущая ссылка в run-pipeline SKILL.md корректна, правок не требовалось.
  • run-pipeline SKILL.md не тронут (вне scope, отдельный issue).
  • Формат receipts - [YYYY-MM-DD, PR#N] как regex в pipeline-status.py не менялся — только пример-плейсхолдер в документации.

Pending

—

Closes #78

Closes #78

## Что сделано - memory-syncer.md: плейсхолдеры `pulls/<N>`, `issues/<issue_N>`, `Closes #N`, `PR#N` → `<PR_NUMBER>`/`<ISSUE_NUMBER>`; receipt-пример `- [YYYY-MM-DD, PR#<PR_NUMBER>]` с пояснением о подстановке реального номера. - reviewer.md: `git diff main...HEAD` → `git diff origin/HEAD...HEAD` (ADR-076); `PR #N`, `pulls/<N>`, `PR#N` в receipt-паттернах → `<PR_NUMBER>`. - issue SKILL.md: `merge-pr({ pr_number: N })` → `pr_number: <PR_NUMBER>`; `Part of #N`/`Closes #N` → `<ISSUE_NUMBER>`. - check-permissions.py: подсказки `pipeline_status`/`spec_status` → kebab-case `pipeline-status`/`spec-status` (только строки сообщений, функционально идентичен). - Копии всех 4 файлов в `~/.config/opencode/` синхронизированы байт-идеально. ## Почему Конвенция run-pipeline (N=issue, M=PR) нарушалась в смежных agent-facing документах, где N означал PR — путаница номеров. Самодокументируемые плейсхолдеры `<PR_NUMBER>`/`<ISSUE_NUMBER>` устраняют буквенные коллизии без конфликта с нотацией run-pipeline (чинится отдельным issue). ## Watch out - Устаревшая ссылка на строки memory-syncer.md («## Setup» line 38, строки 47–48) уже исправлена в PR #81 (коммит c23b058: `memory-syncer.md:38` → `memory-syncer.md:47-48`) — текущая ссылка в run-pipeline SKILL.md корректна, правок не требовалось. - run-pipeline SKILL.md не тронут (вне scope, отдельный issue). - Формат receipts `- [YYYY-MM-DD, PR#N]` как regex в pipeline-status.py не менялся — только пример-плейсхолдер в документации. ## Pending — Closes #78 Closes #78
fix(scripts): kebab-case tool names in check-permissions hints
All checks were successful
CI (always) / bootstrap (pull_request) Successful in 5s
CI / bootstrap (pull_request) Successful in 8s
Permission Security Check / check (pull_request) Successful in 9s
CI / lint (pull_request) Successful in 26s
CI / typecheck (pull_request) Successful in 26s
CI / complexity (pull_request) Successful in 26s
CI / test (3.13) (pull_request) Successful in 1m54s
8f8675f95e
Author
Owner

Code Review Summary

Документационный фикс: унификация плейсхолдеров номеров в agent-facing документах (<PR_NUMBER>/<ISSUE_NUMBER> вместо буквенных N/M), замена git diff main...HEAD → origin/HEAD в reviewer.md (ADR-076), kebab-case подсказки в check-permissions.py. Правки текстовые, поведение агентов и скриптов не меняется. CI green, тесты не затронуты.

Positives

  • Cross-file impact проработан корректно: regex receipt в pipeline-status.py:892 (- [YYYY-MM-DD, PR#{pr_number}]) не менялся — только пример-плейсхолдер в документации; после подстановки реального номера формат совпадает с regex. Связь writer↔reader не нарушена.
  • git diff origin/HEAD...HEAD в reviewer.md согласован с ADR-076 (docs/decisions/076-pr-179-run-pipeline-origin-head-templates.md) и уже используемым в run-pipeline SKILL.md:101.
  • kebab-case в check-permissions.py соответствует реальным именам tool'ов (pipeline-status, spec-status); тесты test_check_permissions.py не завязаны на строки подсказок.
  • PR body полный: все 4 секции заполнены, Watch out документирует осознанные решения (run-pipeline SKILL.md вне scope, regex не менялся).
  • Scope соблюдён: issue #78 выполнен полностью, включая байт-идеальный синк копий в ~/.config/opencode/.

Suggestions (info, not blocking)

  • PR body [style] Closes #78 продублирован дважды (create-pr.ts добавляет его автоматически при issue_number). Мелочь, не влияет на парсинг CLOSURE_RE.
  • .opencode/skills/memory/SKILL.md:83,100,103,125 [style] Остались старые плейсхолдеры PR#N — несогласованность с обновлённым memory-syncer.md (который загружает memory skill через skill("memory")). Вне scope #78, но стоит закрыть отдельным issue/follow-up PR для полной унификации.
  • .opencode/scripts/pipeline-status.py:915-923 [style] NEXT_ACTIONS содержат литералы PR #N — runtime-строки, вне scope PR; при желании можно унифицировать позже.

Verdict: APPROVE

## Code Review Summary Документационный фикс: унификация плейсхолдеров номеров в agent-facing документах (`<PR_NUMBER>`/`<ISSUE_NUMBER>` вместо буквенных N/M), замена `git diff main...HEAD` → `origin/HEAD` в reviewer.md (ADR-076), kebab-case подсказки в check-permissions.py. Правки текстовые, поведение агентов и скриптов не меняется. CI green, тесты не затронуты. ### Positives - Cross-file impact проработан корректно: regex receipt в `pipeline-status.py:892` (`- [YYYY-MM-DD, PR#{pr_number}]`) не менялся — только пример-плейсхолдер в документации; после подстановки реального номера формат совпадает с regex. Связь writer↔reader не нарушена. - `git diff origin/HEAD...HEAD` в reviewer.md согласован с ADR-076 (`docs/decisions/076-pr-179-run-pipeline-origin-head-templates.md`) и уже используемым в run-pipeline SKILL.md:101. - kebab-case в check-permissions.py соответствует реальным именам tool'ов (`pipeline-status`, `spec-status`); тесты `test_check_permissions.py` не завязаны на строки подсказок. - PR body полный: все 4 секции заполнены, Watch out документирует осознанные решения (run-pipeline SKILL.md вне scope, regex не менялся). - Scope соблюдён: issue #78 выполнен полностью, включая байт-идеальный синк копий в `~/.config/opencode/`. ### Suggestions (info, not blocking) - **PR body** [style] `Closes #78` продублирован дважды (create-pr.ts добавляет его автоматически при `issue_number`). Мелочь, не влияет на парсинг `CLOSURE_RE`. - **.opencode/skills/memory/SKILL.md:83,100,103,125** [style] Остались старые плейсхолдеры `PR#N` — несогласованность с обновлённым memory-syncer.md (который загружает memory skill через `skill("memory")`). Вне scope #78, но стоит закрыть отдельным issue/follow-up PR для полной унификации. - **.opencode/scripts/pipeline-status.py:915-923** [style] NEXT_ACTIONS содержат литералы `PR #N` — runtime-строки, вне scope PR; при желании можно унифицировать позже. ### Verdict: APPROVE
slaid098 deleted branch fix/pipeline-docs/placeholder-notation 2026-08-16 19:38:40 +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!84
No description provided.