[Процесс] Согласовать локальный процесс разработки и проверки #24

Closed
opened 2026-10-11 21:52:13 +03:00 by codex-bot · 2 comments
Owner

Цель

Сделать локальный процесс разработки быстрее, не снижая итоговый уровень проверки: во время работы запускать проверки, соответствующие изменённому поведению, а полный verify выполнять один раз перед завершением задачи. CI остаётся независимой обязательной проверкой финальной ревизии.

Проблема

Ранее локальные инструкции смешивали разные уровни проверки: итерации, проверку задачи и финальную интеграционную проверку. Из-за этого небольшие изменения могли приводить к лишней подготовке окружения и повторным полным проверкам.

Принятый процесс

Во время работы над изменением

  • Запускать проверку типов, линтер и тесты, относящиеся к изменённому поведению и выявленным рискам.
  • Для изменения поведения добавлять или обновлять содержательную регрессионную проверку.
  • Для косметического изменения не требовать искусственные тесты.
  • Повторять команду только после изменения diff, при сомнении в актуальности доказательства или по явному запросу пользователя.

При завершении задачи

  • Выполнить проверку типов, релевантные тесты и линтер.
  • Зафиксировать доказательства: неизменившийся diff, команду, код завершения и результат.

Перед интеграцией и в CI

  • Выполнить один полный verify для итоговой ревизии, если изменялись код приложения, зависимости или контур проверки.
  • Не выполнять npm ci при каждой правке, если не менялись зависимости или подготовленное окружение.
  • Сохранить независимую обязательную CI-проверку финальной ревизии.

Реализовано

  • Уточнены локальные инструкции в AGENTS.md, .ai/conventions/engineering.md и связанных правилах main, backend, frontend и specs.
  • Зафиксировано различие между косметическим изменением, изменением поведения и неактуальным/сомнительным доказательством.
  • Для изменения поведения установлена содержательная регрессия или целевой повторный запуск; для косметического изменения не создаются искусственные тесты.
  • Доказательство связано с неизменившимся diff, командой, кодом завершения и результатом; повторный запуск выполняется только при названной причине или запросе пользователя.
  • Конфликты по финансовой логике, контрактам, проводам и одобрению возвращаются существующему владельцу или change-control.
  • Добавлена безопасная неинтерактивная загрузка установленного nvm.sh с выбором версии Node из локального .nvmrc.
  • Сохранены стандартные OpenSpec workflows и независимая семантическая проверка.

Проверка

В четырёх репозиториях выполнены и зафиксированы:

  • git diff --check — успешно;
  • условная загрузка $HOME/.nvm/nvm.sh, затем nvm use --silent && node --version — успешно, v24.21.0;
  • frontend pre-commit: Gitleaks, lint-staged и проверка зависимостей — успешно;
  • статическая проверка трёх сценариев: cosmetic change, изменение поведения и неактуальное evidence.

Изменялись только инструкции, поэтому локальный application verify не запускался искусственно. Независимые проверки CI выполнялись в PR.

Не входит в эту задачу

  • Изменение стандартных OpenSpec skills, generic skills и правил model override.
  • Создание новых skills, hooks, dispatcher, реестра кэшей или глобальная переработка конфигурации.
  • Изменение конкретных команд, CI-конфигурации и hook для ускорения verification workflow. Это отдельные задачи:

Связанные PR

Результат

Инструкции теперь требуют соразмерные проверки на итерациях, одну полную локальную проверку для итоговой ревизии и независимую CI-проверку. Техническая оптимизация самих verification-команд остаётся в связанных задачах.

## Цель Сделать локальный процесс разработки быстрее, не снижая итоговый уровень проверки: во время работы запускать проверки, соответствующие изменённому поведению, а полный `verify` выполнять один раз перед завершением задачи. CI остаётся независимой обязательной проверкой финальной ревизии. ## Проблема Ранее локальные инструкции смешивали разные уровни проверки: итерации, проверку задачи и финальную интеграционную проверку. Из-за этого небольшие изменения могли приводить к лишней подготовке окружения и повторным полным проверкам. ## Принятый процесс ### Во время работы над изменением - Запускать проверку типов, линтер и тесты, относящиеся к изменённому поведению и выявленным рискам. - Для изменения поведения добавлять или обновлять содержательную регрессионную проверку. - Для косметического изменения не требовать искусственные тесты. - Повторять команду только после изменения diff, при сомнении в актуальности доказательства или по явному запросу пользователя. ### При завершении задачи - Выполнить проверку типов, релевантные тесты и линтер. - Зафиксировать доказательства: неизменившийся diff, команду, код завершения и результат. ### Перед интеграцией и в CI - Выполнить один полный `verify` для итоговой ревизии, если изменялись код приложения, зависимости или контур проверки. - Не выполнять `npm ci` при каждой правке, если не менялись зависимости или подготовленное окружение. - Сохранить независимую обязательную CI-проверку финальной ревизии. ## Реализовано - [x] Уточнены локальные инструкции в `AGENTS.md`, `.ai/conventions/engineering.md` и связанных правилах main, backend, frontend и specs. - [x] Зафиксировано различие между косметическим изменением, изменением поведения и неактуальным/сомнительным доказательством. - [x] Для изменения поведения установлена содержательная регрессия или целевой повторный запуск; для косметического изменения не создаются искусственные тесты. - [x] Доказательство связано с неизменившимся diff, командой, кодом завершения и результатом; повторный запуск выполняется только при названной причине или запросе пользователя. - [x] Конфликты по финансовой логике, контрактам, проводам и одобрению возвращаются существующему владельцу или change-control. - [x] Добавлена безопасная неинтерактивная загрузка установленного `nvm.sh` с выбором версии Node из локального `.nvmrc`. - [x] Сохранены стандартные OpenSpec workflows и независимая семантическая проверка. ## Проверка В четырёх репозиториях выполнены и зафиксированы: - `git diff --check` — успешно; - условная загрузка `$HOME/.nvm/nvm.sh`, затем `nvm use --silent && node --version` — успешно, `v24.21.0`; - frontend pre-commit: Gitleaks, lint-staged и проверка зависимостей — успешно; - статическая проверка трёх сценариев: cosmetic change, изменение поведения и неактуальное evidence. Изменялись только инструкции, поэтому локальный application `verify` не запускался искусственно. Независимые проверки CI выполнялись в PR. ## Не входит в эту задачу - Изменение стандартных OpenSpec skills, generic skills и правил model override. - Создание новых skills, hooks, dispatcher, реестра кэшей или глобальная переработка конфигурации. - Изменение конкретных команд, CI-конфигурации и hook для ускорения verification workflow. Это отдельные задачи: - [backend #66](https://git.personal.ksv741.ru/WealthLedger/backend/issues/66); - [frontend #62](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/62); - [frontend #60](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/60). ## Связанные PR - [main #26](https://git.personal.ksv741.ru/WealthLedger/main/pulls/26) — merged, `ed8221a`; - [backend #75](https://git.personal.ksv741.ru/WealthLedger/backend/pulls/75) — merged, `2f7c152`; - [frontend #65](https://git.personal.ksv741.ru/WealthLedger/frontend/pulls/65) — merged, `9ad3245`; - [specs #31](https://git.personal.ksv741.ru/WealthLedger/specs/pulls/31) — merged, `ea7beea`. ## Результат Инструкции теперь требуют соразмерные проверки на итерациях, одну полную локальную проверку для итоговой ревизии и независимую CI-проверку. Техническая оптимизация самих verification-команд остаётся в связанных задачах.
codex-bot added this to the Technical Audit Remediation — 2026-10-11 milestone 2026-10-11 21:52:13 +03:00
codex-bot added the Kind/Enhancement
Priority
Medium
3
audit/2026-10-11
labels 2026-10-11 21:52:13 +03:00
hermes-agent changed title from [Process] Согласовать generic agent workflow с local evidence и approval boundaries to [Процесс] Согласовать локальный workflow разработки и проверки 2026-10-11 22:33:53 +03:00
hermes-agent changed title from [Процесс] Согласовать локальный workflow разработки и проверки to [Процесс] Согласовать локальный процесс разработки и проверки 2026-10-11 22:34:10 +03:00
Author
Owner

Решение владельца по scope #24: выполняются только версионируемые инструкции main/backend/frontend/specs. Generic skills и model override не изменяются; критерий о выборе модели исключён из приёмки этой задачи как не относящийся к изменяемым repo-инструкциям. Конкретные команды/CI/hook остаются backend #66 и frontend #62. Проверка процесса: адресные risk checks в итерации; один полный local verify на итоговых code/dependency inputs до передачи к интеграции; CI независимо. Для чисто инструкционных изменений — тексты/ссылки/diff и Node bootstrap, без искусственного application verify.

PR: main #26, backend #75, frontend #65, specs #31.

Решение владельца по scope #24: выполняются только версионируемые инструкции main/backend/frontend/specs. Generic skills и model override не изменяются; критерий о выборе модели исключён из приёмки этой задачи как не относящийся к изменяемым repo-инструкциям. Конкретные команды/CI/hook остаются backend #66 и frontend #62. Проверка процесса: адресные risk checks в итерации; один полный local verify на итоговых code/dependency inputs до передачи к интеграции; CI независимо. Для чисто инструкционных изменений — тексты/ссылки/diff и Node bootstrap, без искусственного application verify. PR: [main #26](https://git.personal.ksv741.ru/WealthLedger/main/pulls/26), [backend #75](https://git.personal.ksv741.ru/WealthLedger/backend/pulls/75), [frontend #65](https://git.personal.ksv741.ru/WealthLedger/frontend/pulls/65), [specs #31](https://git.personal.ksv741.ru/WealthLedger/specs/pulls/31).
Author
Owner

Результат: четыре PR слиты в develop: main #26 (ed8221a), backend #75 (2f7c152), frontend #65 (9ad3245), specs #31 (ea7beea). Все PR CI statuses — success: main commits; backend/frontend commits+security+verify; specs commits+security+verify.

Проверки на целевом diff: git diff --check во всех четырёх checkout — exit 0; условная загрузка $HOME/.nvm/nvm.sh из non-interactive shell + nvm use --silent && node --version в каждом — exit 0, v24.21.0; frontend pre-commit Gitleaks/lint-staged/deps — exit 0. Статическая проверка трёх сценариев: cosmetic — без искусственного теста; behavior — содержательная regression/targeted check; устаревшее или сомнительное evidence — повтор по значимым входам либо явному запросу. Проверены локальные маршруты и semantic review. Изменены только инструкции, поэтому локальный application verify не запускался; CI выполнил независимые repo gates. Принятое владельцем исключение model override/generic skills из scope зафиксировано в предыдущем комментарии. Измерения сокращения времени итераций не проводились.

Результат: четыре PR слиты в `develop`: [main #26](https://git.personal.ksv741.ru/WealthLedger/main/pulls/26) (`ed8221a`), [backend #75](https://git.personal.ksv741.ru/WealthLedger/backend/pulls/75) (`2f7c152`), [frontend #65](https://git.personal.ksv741.ru/WealthLedger/frontend/pulls/65) (`9ad3245`), [specs #31](https://git.personal.ksv741.ru/WealthLedger/specs/pulls/31) (`ea7beea`). Все PR CI statuses — success: main commits; backend/frontend commits+security+verify; specs commits+security+verify. Проверки на целевом diff: `git diff --check` во всех четырёх checkout — exit 0; условная загрузка `$HOME/.nvm/nvm.sh` из non-interactive shell + `nvm use --silent && node --version` в каждом — exit 0, `v24.21.0`; frontend pre-commit Gitleaks/lint-staged/deps — exit 0. Статическая проверка трёх сценариев: cosmetic — без искусственного теста; behavior — содержательная regression/targeted check; устаревшее или сомнительное evidence — повтор по значимым входам либо явному запросу. Проверены локальные маршруты и semantic review. Изменены только инструкции, поэтому локальный application verify не запускался; CI выполнил независимые repo gates. Принятое владельцем исключение model override/generic skills из scope зафиксировано в предыдущем комментарии. Измерения сокращения времени итераций не проводились.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/main#24