chore(memory): align ADR guidance with PR-link format #79

Merged
slaid098 merged 2 commits from chore/memory/adr-pr-link into main 2026-08-16 18:13:48 +03:00
Owner

Что сделано

  • .opencode/skills/memory/SKILL.md — секция «ADR — только указатель» переписана: новый формат - [YYYY-MM-DD, PR#N] <суть решения>, источник истины — PR#N, ссылки на docs/decisions/ и нумерация ADR-NN отменены, фраза «Не копируй содержание ADR — только указатель на файл» заменена на указатель на PR.
  • .opencode/agents/memory-syncer.md — пункт про ADR pointers приведён к тому же PR-link формату, убрано рудиментарное «исторические».
  • Глобальная память (через memory-save):
    • repos/slaid098/opencode-config.md — раздел «ADR Index» помечен HISTORICAL, конвенция sequential max+1 убрана, сам индекс старых записей оставлен как архив; summary обновлён.
    • technical/regex-scanner-blocks-own-documentation.md — помечен STALE (сканер удалён в PR#210), общий gotcha про placeholder ADR-NNN сохранён.
    • technical/pipeline-status-test-scaffold.md — помечен STALE (check_adr удалён в PR#208), секции про ADR_DIR monkeypatch — исторические.
    • workflows/code-factory-event-driven-plan.md — помечен STALE (упоминает удалённого docs-reviewer и создание ADR).
  • Исторические ADR-NNN ссылки и docs/decisions/ не тронуты.

Почему

Инструкции для модели не должны расходиться с практикой: ADR-файлы в docs/decisions/ больше не создаются (PR#208/209/210), живой формат указателя — [date, PR#N] <суть решения> со ссылкой на PR. Конфликтующие форматы порождают мусорные записи в памяти.

Watch out

  • В memory-syncer.md:121 осталась опциональная строка про чтение docs/decisions/*-pr-<N>-*.md — помечена как historical, не удалена (исторические файлы остаются архивом).
  • Правки памяти закоммичены через memory-save (отдельный git-репо opencode-memory, коммит 2917b5f).
  • В рабочей директории есть untracked файлы (draw-image templates, node_modules) — не относятся к задаче, не закоммичены.

Pending

  • Нет. Память доступна, memory-save выполнен, gap не обнаружен.

Closes #71

Closes #71

## Что сделано - `.opencode/skills/memory/SKILL.md` — секция «ADR — только указатель» переписана: новый формат `- [YYYY-MM-DD, PR#N] <суть решения>`, источник истины — PR#N, ссылки на `docs/decisions/` и нумерация ADR-NN отменены, фраза «Не копируй содержание ADR — только указатель на файл» заменена на указатель на PR. - `.opencode/agents/memory-syncer.md` — пункт про ADR pointers приведён к тому же PR-link формату, убрано рудиментарное «исторические». - Глобальная память (через memory-save): - `repos/slaid098/opencode-config.md` — раздел «ADR Index» помечен HISTORICAL, конвенция sequential max+1 убрана, сам индекс старых записей оставлен как архив; summary обновлён. - `technical/regex-scanner-blocks-own-documentation.md` — помечен STALE (сканер удалён в PR#210), общий gotcha про placeholder ADR-NNN сохранён. - `technical/pipeline-status-test-scaffold.md` — помечен STALE (check_adr удалён в PR#208), секции про ADR_DIR monkeypatch — исторические. - `workflows/code-factory-event-driven-plan.md` — помечен STALE (упоминает удалённого docs-reviewer и создание ADR). - Исторические ADR-NNN ссылки и `docs/decisions/` не тронуты. ## Почему Инструкции для модели не должны расходиться с практикой: ADR-файлы в `docs/decisions/` больше не создаются (PR#208/209/210), живой формат указателя — `[date, PR#N] <суть решения>` со ссылкой на PR. Конфликтующие форматы порождают мусорные записи в памяти. ## Watch out - В `memory-syncer.md:121` осталась опциональная строка про чтение `docs/decisions/*-pr-<N>-*.md` — помечена как historical, не удалена (исторические файлы остаются архивом). - Правки памяти закоммичены через memory-save (отдельный git-репо `opencode-memory`, коммит 2917b5f). - В рабочей директории есть untracked файлы (draw-image templates, node_modules) — не относятся к задаче, не закоммичены. ## Pending - Нет. Память доступна, memory-save выполнен, gap не обнаружен. Closes #71 Closes #71
docs(memory-syncer): align ADR pointer format with PR-link convention
All checks were successful
CI (always) / bootstrap (pull_request) Successful in 2s
Permission Security Check / check (pull_request) Successful in 8s
7955c5137a
Author
Owner

Code Review Summary

Чистый docs-only PR: формат ADR-указателей в памяти приведён к [YYYY-MM-DD, PR#N] <суть> в обоих writer'ах (memory skill + memory-syncer), исторические ADR-NNN записи и docs/decisions/ не тронуты. Cross-file impact проверен: единственный reader формата — pipeline-status.py:861 (receipt regex - \[\d{4}-\d{2}-\d{2}, PR#N\]) — уже принимает новый формат (search, не fullmatch), т.е. правка фактически выравнивает формат указателя с ожидаемым оракулом receipt-паттерном. Paired update не требуется. CI green, PR body полный.

Positives

  • Формат выровнен между обоими writer'ами (SKILL.md:100 и memory-syncer.md:60) — расхождение инструкций устранено.
  • Новый формат [YYYY-MM-DD, PR#N] совпадает с receipt-регексом pipeline-status.py:861 — правка улучшает, а не ломает контракт с оракулом.
  • Исторические записи и docs/decisions/ осознанно не тронуты; остаточная строка memory-syncer.md:121 про чтение docs/decisions/*-pr-<N>-*.md явно помечена как historical в Watch out.
  • Правки памяти закоммичены отдельно через memory-save (изолированный git-репо) — guard соблюдён.

Suggestions (info, not blocking)

  • PR body [style] «Closes #71» продублирован дважды в конце body — косметика, не влияет на парсинг.
  • memory-syncer.md:80 / run-pipeline/SKILL.md:127 [style] Плейсхолдер квитанции - [date, PR#N] — (нет durable-записей) использует date без формата, тогда как ADR-указатель теперь [YYYY-MM-DD, PR#N]. Для единообразия можно привести плейсхолдер квитанции к [YYYY-MM-DD, PR#N] — не блокирует, т.к. агент подставляет реальную дату.

Verdict: APPROVE

## Code Review Summary Чистый docs-only PR: формат ADR-указателей в памяти приведён к `[YYYY-MM-DD, PR#N] <суть>` в обоих writer'ах (memory skill + memory-syncer), исторические ADR-NNN записи и `docs/decisions/` не тронуты. Cross-file impact проверен: единственный reader формата — `pipeline-status.py:861` (receipt regex `- \[\d{4}-\d{2}-\d{2}, PR#N\]`) — уже принимает новый формат (search, не fullmatch), т.е. правка фактически выравнивает формат указателя с ожидаемым оракулом receipt-паттерном. Paired update не требуется. CI green, PR body полный. ### Positives - Формат выровнен между обоими writer'ами (SKILL.md:100 и memory-syncer.md:60) — расхождение инструкций устранено. - Новый формат `[YYYY-MM-DD, PR#N]` совпадает с receipt-регексом `pipeline-status.py:861` — правка улучшает, а не ломает контракт с оракулом. - Исторические записи и `docs/decisions/` осознанно не тронуты; остаточная строка `memory-syncer.md:121` про чтение `docs/decisions/*-pr-<N>-*.md` явно помечена как historical в Watch out. - Правки памяти закоммичены отдельно через memory-save (изолированный git-репо) — guard соблюдён. ### Suggestions (info, not blocking) - **PR body** [style] «Closes #71» продублирован дважды в конце body — косметика, не влияет на парсинг. - **memory-syncer.md:80 / run-pipeline/SKILL.md:127** [style] Плейсхолдер квитанции `- [date, PR#N] — (нет durable-записей)` использует `date` без формата, тогда как ADR-указатель теперь `[YYYY-MM-DD, PR#N]`. Для единообразия можно привести плейсхолдер квитанции к `[YYYY-MM-DD, PR#N]` — не блокирует, т.к. агент подставляет реальную дату. ### Verdict: APPROVE
slaid098 deleted branch chore/memory/adr-pr-link 2026-08-16 18:13:48 +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!79
No description provided.