Changelog
История версий и заметки о релизах
Краткий исторический журнал: старые записи описывают поведение соответствующей версии, а не текущую установку. Полный канонический журнал: CHANGELOG.md.
v4.3.7
Latest 6 октября 2026- FIX Язык объяснения сохраняется вокруг инструментов. Обычные сообщения, включая первое и итоговое, используют язык ответа; создаваемые документы — независимый язык артефакта. Просьба изменить язык одного документа не меняет язык объяснения.
-
NEW
Claude получает актуальные предпочтения после инструментов. Собственные синхронные
PostToolUseиPostToolUseFailureиспользуют общий помощник. Вывод инструментов, решения, разрешения и чужие хуки сохраняются. - DOCS Границы доставки контекста описаны явно. После инструмента вход ограничен 1 МиБ; при запуске и запросе — 64 КиБ. Ошибочные и слишком большие данные не превращаются в инструкции. Отказ в разрешении, проверка до выполнения и отмена не вызывают хук ошибки; передача контекста не гарантирует язык модели.
- FIX Проверки не зависят от личного языка разработчика. Две проверки английских подписей выбирают английский явно. Контрольные суммы установщика обновлены; настройки пользователей и защитные механизмы сохраняются.
-
DOCS
Отдельная отчётность обновлена до 0.3.3. Установка, карточка навыка и ссылки на шаблоны следуют текущему релизу. Оркестрация,
/dr-auto, Jev и/dr-quickостаются основными сценариями; оригинальные логотипы сохраняются.
v4.3.6
6 октября 2026- FIX Проверка срока истории измеряет нужную фазу. Таймер регрессии начинается при проверке истории и заканчивается после записи итогового ответа. Предыдущая работа сохраняет собственный общий срок; четырёхсекундный предел теста и условия отказа не меняются.
- FIX Регрессия обнаруживает сброс срока для каждого процесса. Короткие задержки нескольких вызовов Git и счётчик запусков проверяют общий бюджет времени. Поведение рабочего валидатора остаётся прежним.
-
FIX
HTTP-сервер честно закрывает соединение. Встроенный сервер обрабатывает один запрос на соединение и сообщает
Connection: close, чтобы клиент открывал новое соединение для следующего запроса. Проверки контракта сохраняют прежние условия. -
FIX
Ответы UTF-8 сохраняют точную длину. Размер HTTP-тела считается в байтах, поэтому многобайтный текст не получает слишком короткий
Content-Length. Локаль разбора запроса сохраняется. -
DOCS
Проверки разрешений работают с GNU и BSD. Регрессии версий используют подходящий вариант
statи сохраняют строгие условия для файлов, каталогов и отказа при групповой записи. -
FIX
Приватные языковые настройки остаются в своём проекте. Ближайший
datarim/config.local.yamlвыбирает этот проект вместо наследования родительского фреймворка; ошибочные настройки остаются ошибкой. -
FIX
Claude обновляет предпочтения перед новым запросом. Собственный синхронный
UserPromptSubmitпередаёт текущие языки ответа и документа перед каждым отправленным запросом. Он не запускается при каждом продолжении работы с инструментами и не гарантирует соответствие модели. Штатное доверие хукам и разрешения сохраняются. - FIX Хуки выполняют актуальный исходник помощника. Стартовые хуки и хук нового запроса не выполняют существующий bytecode-кэш помощника, не записывают его и сохраняют чужие кэши.
-
DOCS
Отдельная отчётность обновлена до 0.3.2. Инструкции и ссылки на шаблоны следуют релизу. Проверка файлов не измеряет поведение, стартовую активацию или активацию для каждого запроса; нужны реальные наблюдения. Оркестрация,
/dr-auto, Jev и/dr-quickостаются заметными точками входа. Утверждённые логотипы сохраняют исходные байты.
v4.3.3
5 октября 2026- FIX Проверка записи стратегического решения работает на macOS. Идентичность файла теперь читается из открытого файлового дескриптора, а не из метаданных виртуального пути BSD. Проверки владельца, разрешений и замены файла сохраняются.
-
FIX
Проверяется выбранная версия PRD и плана. Проверки ожиданий, спецификации, связей, этапов и детерминированный уровень
/dr-verifyчитают поляprdиplanиз описания задачи. Поддерживаются явные версии документов; без указателя сохраняется прежний выбор файлов. - FIX Старая копия больше не скрывает ошибку. Если задача выбирает новую редакцию, чистый прежний файл не подменяет её при проверке. Повреждённый указатель или несовпадающая принадлежность задаче вызывают ошибку выбора; проверка не угадывает последнюю версию и не возвращается к другому файлу.
- FIX Некорректные входные данные отклоняются. Проверяются идентификаторы, плоские поля описания, повторные ключи, кавычки и допустимые пути. Абсолютные пути, переходы за корень, чужие документы и символические ссылки в выбранных путях отклоняются. Проверка выбора не сертифицирует произвольные метаданные документа и не блокирует параллельных редакторов.
- CHANGE Официальная айдентика входит в пакеты фреймворка. Подписанный выпуск включает утверждённые логотипы и варианты для светлого и тёмного оформления; оригинальные файлы сохранены без изменения байтов. Сайт сохраняет ту же айдентику.
- DOCS Контракт проверки описывает выбор документов и его границы. Каталог по-прежнему содержит 19 агентов, 29 команд, 80 навыков и 43 файла шаблонов. Отдельный Human Outcome Reporting остаётся версии 0.3.1; языковые настройки и четыре главных сценария сохраняются.
v4.3.2
4 октября 2026-
FIX
Предпочтения читаются до первого сообщения. Отдельная отчётность регистрирует синхронный
SessionStartдля поддерживаемых Codex и Claude Code. Он передаёт независимые языки ответа и документа; настройки читаются при каждом запуске или возобновлении без переустановки. Cursor сохраняет свой механизм начала разговора. -
DOCS
Установка и активация различаются. Новое определение хука Codex требует штатной проверки доверия через
/hooks. Установщик не выдаёт доверие, не меняет разрешения и сохраняет чужие хуки. Проверка файлов не подтверждает работу хука или язык первого сообщения; это проверяется в новой сессии. - FIX Заметка внутри ответа остаётся документом. Создаваемые заметки и фрагменты документов используют язык артефакта для текста и примеров; окружающее объяснение — язык ответа. Незапрошенный перевод примера не добавляется. Явные двуязычные запросы, перевод, цитаты, код и машинные значения сохраняют свои исключения.
-
DOCS
Каталог и установка следуют релизу. Human Outcome Reporting 0.3.1, карточки и ссылки на шаблоны используют исходники 4.3.2. Оркестрация,
/dr-auto,/dr-quickи независимый пол безопасности Jev сохраняются.
v4.3.1
4 октября 2026-
FIX
Английские документы проходят штатные проверки ожиданий. Общий разборщик поддерживает существующие заголовки
Operator expectations,Status history,Current statusи связанные поля, сохраняя машинные ключи, русские документы и строгие проверки ошибок. - FIX Граф учитывает каждую связь с критерием. Несколько ссылок на V-AC в одном ожидании проверяются целиком; дополнительные ожидания в журнале изменений и секции дополнений больше не теряются.
- DOCS Языковые настройки сохраняются. Независимые языки ответов и документов, добавленные в 4.3.0, работают без переустановки настроек. Ссылки на установку, исходники и карточки ведут на исправляющий релиз.
v4.3.0
4 октября 2026-
FEAT
Язык ответа и документа выбираются отдельно.
language.repliesиlanguage.artifactsпо умолчанию равныen. Личные, общие проектные и приватные проектные настройки читаются одним помощником; их изменение не требует переустановки. - FEAT Те же настройки работают без фреймворка. Отдельный Human Outcome Reporting читает личные предпочтения, а Cursor получает актуальный языковой контекст в новом разговоре. Родные правила клиента, защита и разрешения сохраняют приоритет.
- CHANGE Фиксированные подписи отчётов используют языковые каталоги. При отсутствии нужного каталога явно сообщается об английском варианте. Цитаты, код, машинные значения и уже написанный текст автоматически не переводятся.
-
DOCS
Настройка и её границы описаны вместе. Инструкция, справочник, учебный пример и карточки объясняют приоритет источников, миграцию
Artifact languageи проверку новой сессии. Проверка файлов не выдаётся за проверку поведения модели. - FIX Проверки охватывают новые языки целиком. Реестр CI включает новые сценарии; полная подписанная цепочка доказательств для французского и арабского отклоняет недостающие, лишние и повторные записи. Проверки конфигурации и локальных анализаторов исправлены без ослабления правил приёмки.
v4.2.3
4 октября 2026- FIX Слова и числа сохраняют пробелы. Human Outcome Reporting 0.2.3 прямо требует естественное оформление дат, количеств и номеров ролей. Проверка предупреждает об очевидном склеивании, сохраняя код и точные идентификаторы.
- FIX Нативные проверки изолированы. Проверки после запуска процесса отделены от подготовки других сценариев; намеренно внесённая ошибка должна быть обнаружена в нужном сценарии. Ошибка подготовки или истечение времени не считаются успешной проверкой.
- FIX Приватное происхождение удалено из публичных примеров. Оставшиеся ссылки на внутренние проекты заменены нейтральными контрактами; неиспользуемая проверка, привязанная к частному проекту, удалена.
- FIX Ссылки в заметках нового выпуска сохраняются. Выпуск новой корневой истории ссылается на changelog текущего тега, а не на сравнение с тегами, которые будут удалены после проверки. Обычные выпуски сохраняют автоматически сформированные заметки.
- CHANGE Одна публичная ветка main. Актуальные исходники начинаются с одного подписанного корневого коммита. Прежние публичные теги и файлы релизов удаляются только после независимой проверки нового выпуска; ссылки старых pull request, чужие копии и кэши могут сохранять старые объекты.
- DOCS История согласована с каноническим журналом. Повторная запись объединена без потери сведений; сайт отражает все уникальные версии актуального CHANGELOG и явно отмечает неопубликованных кандидатов.
- DOCS Обновление через проверенную новую копию. Для прежнего Git checkout описан переход без смешивания историй и потери локальных изменений. Оркестрация, /dr-auto, /dr-quick и Jev остаются главными сценариями.
v4.2.2
Candidate only 3 октября 2026- CHANGE Тегированный кандидат, не стабильный релиз. Корневой коммит и тег созданы, но проверки обнаружили ошибку нативного тестового сценария и оставшиеся ссылки на частные проекты. Стабильные пакеты не опубликованы; установки этой версии не выполнялись. Исправления выпущены в 4.2.3.
v4.2.1
3 октября 2026- FIX Уточнена приватность исходников. Две оставшиеся ссылки на внутреннее название в тестовых примерах архива заменены нейтральными примерами; с сайта удалены устаревшие карточки внутренних проектов. Исправление выпущено отдельной версией; подписанный релиз 4.2.0 не изменяется.
- DOCS Ссылки ведут на исправляющий релиз. Установка, карта связей и карточки шаблонов используют 4.2.1. Четыре главных сценария и понятная отчётность, добавленная в 4.2.0, сохраняются; каталог по-прежнему содержит 19 агентов, 29 команд, 80 навыков и 43 файла шаблонов.
v4.2.0
3 октября 2026- FEAT Отчёт о результате понятен без предыдущего разговора. Human Outcome Reporting связывает исходную просьбу, полученный результат, проверенные условия и доказательства; показывает недостающие проверки и ограничения. Работает в Datarim и отдельно для Claude Code, Codex и Cursor.
-
FEAT
/dr-explainобъясняет ещё раз. Можно попросить рассказать проще о существующем результате или термине; команда не запускает работу и не меняет состояние задачи. - CHANGE Полнота важнее краткости. Human Summary сохраняет четыре привычных подраздела, применяя общий контракт отчётности без жёсткого ограничения числа слов. Команды, агенты, шаблоны и карта связей используют единые правила.
- FIX Помощник выпуска требует доказательства. Проверки привязаны к точной версии исходников; неизвестное состояние не считается успехом. Создаётся и проверяется подписанный тег, отправляется только его точная ссылка; ошибка отправки или последующей проверки установки сохраняется как ошибка.
- DOCS Установка и каталог обновлены. Отдельная отчётность и проектный фреймворк описаны раздельно. Добавлены карточки шаблонов и ссылки на исходники релиза; каталог включает 19 агентов, 29 команд и 80 навыков.
v4.1.0
30 сентября 2026-
CHANGE
Claude Code читает
AGENTS.mdсамостоятельно. Установщик не создаётCLAUDE.md;--claude-importи--no-claude-importустарели, принимаются с предупреждением и ничего не делают. Обновление удаляет только старую ссылку, записанную как собственная.
v4.0.5
25 сентября 2026-
FIX
dr-orchestrateworks on macOS. The open-file identity check readstat -L /dev/fd/N, which on macOS reports the device of/dev/fdrather than the file’s own, so every context-window setup and every audit append was refused (“requires both explicit trust flags”, “append path changed during open”). The descriptor is now read with fstat. -
FIX
The audit ledger no longer needs util-linux
flock, which macOS does not ship; without it the same lock is taken through perl. -
FIX
A failing context-window test no longer leaves its tmux session behind. On macOS 49 of the plugin’s 92 failing tests now pass; the other 43 depend on GNU
realpath -mand onflockin the resolver and learned-rules store. Linux is unchanged.
v4.0.4
25 сентября 2026- FIX The report lines come in a fenced block to copy unchanged. After an install or update the installer prints them inside a fenced block, led by “Copy the block below into your reply to the user unchanged (you may add your own text after it):”. An agent had paraphrased the unfenced “verbatim” lines and dropped half of them.
-
FIX
The shell-startup line names the variables first:
never in .zshrc/.bashrc: JEV_* or DATARIM_* variables (e.g. JEV_PERMISSIONS) or the key; set them per shell or per launch. -
FIX
The report says what happened to
AGENTS.md. When the project has one, the block saysAGENTS.md is not modified by the installer, orAGENTS.md is not modified; CLAUDE.md links to itwhenCLAUDE.mdis linked to it.
v4.0.3
25 сентября 2026-
FIX
A fresh install needs the user’s answers and a one-time token. Without a terminal,
install.sh --project <path>stops withSTOP. Nothing was installed., lists the six questions with their defaults, tells the agent to relay them word for word without recommending an answer, and prints a one-time--answers <token>. The token is valid for 60 minutes, for that project only; each new refusal replaces it. Answer flags passed without a valid token are listed as ignored. There is no switch that skips the token. - FIX At a terminal the installer asks the questions itself, one by one, with Enter taking the default; no token is needed.
-
FIX
--permissions ask|fullis an installer answer. A fresh install requires it, an update keeps it. It sets the same switch asjev permissions. -
FIX
Report lines to copy verbatim. After every install or update the installer prints lines for the report to the user: the permission mode and the file that stores it, the key path, and a warning never to put the key or any
JEV_*/DATARIM_*variable in.zshrc/.bashrc. -
FIX
Scripted and CI installs take two steps: capture the token from the first run’s refusal, then rerun with the same reviewed answers and
--answers. -
FIX
jev doctor --agent=<client>lists liveness (native_agents_live) for every registered client, not only the one requested; a client with no deliveries shows “no deliveries yet”. -
FIX
Step 1 for agents: run
./install.sh --project <path>with no answer flags and ask the user nothing before that run; the installer prints the questions.
v4.0.2
24 сентября 2026-
FIX
The installer asks, the docs do not answer. A fresh install needs both a Jev answer (
--with-jev/--without-jev) and an explicit--clientlist; without either it stops, writes nothing and prints the questions to put to the user, with the flag for each answer. It states that Jev’s safety floor works without a key. No guide shows a fresh-install command with the answers already filled in. -
FIX
jev trustin a project install now says when Codex has not reviewed the project hooks yet, instead of reporting them as trusted.
v4.0.1
24 сентября 2026-
FIX
The Jev question is actually asked. No quick install command carries
--with-jevor--without-jevany more, soinstall.sh --project … --initstops and prints the questions to put to the user. The explicit flags appear only in the per-option sections that follow the questions. -
FIX
--dry-runrefuses too on a fresh install without a Jev choice, and prints no plan. The printed questions matchINSTALL.md: Jev, clients, permission mode,--init,--expose-skills, release tag ormain. - FIX No empty client directories left behind. When an update drops a client, or on uninstall, a client directory the install created and that is now empty is removed.
v4.0.0
24 сентября 2026-
BREAKING
A fresh install needs an explicit Jev choice. Without
--with-jevor--without-jev,install.shon a project with no installation exits with code2and prints the questions to ask the user: Jev (none, project or host), clients, and the permission mode for thejev*launchers. Scripts that raninstall.sh --project P --initmust add--without-jev(the previous behaviour) or--with-jev.--dry-runstill works without a choice and prints the same questions. Updates keep the recorded choice and are unaffected. -
FEAT
Choose your clients with
--client.--client claude|codex|cursor|all(repeatable or a comma list) writes command files and, with--with-jev, hooks only for the chosen clients. The default is the recorded selection, else all three. An update with a shorter list removes the command files and Jev hook entries of the clients left out. -
FIX
Install choices are remembered.
--with-jev,--host-jev,--context,--client,--expose-skillsand--claude-importare recorded, so a plainupdate.sh --projectkeeps them. Before this, an update without--with-jevquietly removed the project’s Jev hooks and an update without--contextdropped the approved nested repositories.--without-jev,--no-host-jevand--no-contextturn a recorded choice off. -
FIX
jev doctormeasures what it used to guess. Codex hook trust is now measured for project installs (<project>/.codex/hooks.jsonagainst the grants in~/.codex/config.toml;jev trustinside the project re-grants it). A missing hook file, hook event or command file for a selected client is a finding.native_agents_livereports, per client, whether the ledger holdshook_deliveryrecords, with a count and the last delivery time. New fields:config_path(the Jev settings file actually read) andhook_clients. -
FIX
Stable hook interpreter. Hook commands and host launchers no longer name a version-specific Python path, which stopped every hook after a minor Python upgrade; they use an unversioned interpreter on
PATH. The command changes once, so Codex asks to approve the hooks again (jev trustor the Codex prompt). The hostjev-hookentry point is executable. -
FEAT
Opt-in
--claude-import. Claude Code readsCLAUDE.md, notAGENTS.md. The flag createsCLAUDE.mdas a symlink to the project’sAGENTS.md, only when noCLAUDE.mdexists; an existing file or link is never changed, and--no-claude-importor uninstall removes only a link the install made. -
DOCS
One install guide:
INSTALL.md. A single guide for people and AI agents: the choices to make, the exact commands for each, a configuration and secrets table taken from the code, verification with the expectedjev doctoroutput and checks that need no key, update, uninstall and troubleshooting. It opens with the questions an AI agent must ask before installing. The README, tutorials and how-to guides now link to it instead of restating it. A--with-jevinstall prints the key file path and says to paste the key in an editor, never throughecho.
v3.1.2
24 сентября 2026-
FIX
Project templates no longer point into the home directory.
accepted-risk.yml,module.yamlanddatarim-config.yamlnamed their validator as${DATARIM_RUNTIME:-$HOME/.claude}/dev-tools/...; 3.x installs nothing there, so they now use${DATARIM_RUNTIME:?}. -
FIX
Documentation matches the 3.x code. The
dr-orchestrateresolver chain isclaude → codex → cursor, set through environment variables; plugin links live under.datarim-runtime/local/; counts, the retired Coworker/RTK and symlink-install text, andprogress.mdreads are corrected; the publishing skill uses generic placeholders. (Tagged as 3.1.1, which was not published because its range held only documentation commits.)
v3.1.1
Candidate only 24 сентября 2026- DOCS Документация приведена в соответствие с проектной установкой 3.x: цепочка клиентов, пути плагинов, каталог и переменные среды. Тег не стал опубликованным релизом; изменения вошли в 3.1.2.
v3.1.0
24 сентября 2026-
FEAT
Opt-in plugin
controller-continuation. Adds the worker entry/dr-continue-checkpointfor projects that run their own external controller: it reads controller-owned immutable resources, checks workspace provenance and resumes exactly the recorded stage with production HOLD kept. Roots are explicit arguments; no environment variable is read. Linux only: other platforms are refused before any I/O withcontinuation_unsupported_platform. It is not a core command; the core stays at 28 commands. - FEAT Evidence-bound verdicts. Pipeline verdicts are bound to recorded acceptance criteria, test cases, source scope and execution evidence. A failed attempt requires a correction and invalidates dependent evidence instead of keeping an earlier pass; heartbeats snapshot exact receipts and reject stale, foreign or malformed ones.
-
FEAT
Node test suites in CI on Linux and macOS. Every tracked
*.test.{mjs,js,cjs}suite runs with Node 24; discovery fails closed on zero files, and any skipped test on Linux fails the job. -
FIX
jev trust. Codex keys hook trust by position, so another tool rewritinghooks.jsoncould silently switch the Jev safety floor off.jev trustre-grants trust to Jev’s own hooks only (exact command match, disabled hooks left alone, previous config kept as a backup);jevcodexruns it at every launch unlessJEV_NO_AUTO_TRUST=1. - FIX Hardened evidence, receipts and handoffs. The evidence gate rejects JSON with repeated keys; session saves fail instead of truncating protected content; source-reading roles verify sanitised-source bindings before reading sensitive inputs; deferred deploy checks are scheduled rather than waived.
- SECURITY Public surface depersonalised. Personal, project and host names, home paths and third-party task IDs were removed from the shipped files. The personal-identifier gate now scans every tracked file; the public denylist keeps shape patterns only, and names live in a private overlay.
v3.0.0
23 сентября 2026-
BREAKING
Datarim is project-local. Nothing is installed into
~/.claude,~/.codexor~/.cursor;--with-claude/--with-codex/--with-cursor, copy mode and the~/.claude/localoverlay are gone. Install with./install.sh --project <path> --init; the migration note is in the framework CHANGELOG. -
FEAT
Datarim runs only when a
/dr-*command is invoked. The install writes nothing toAGENTS.md,CLAUDE.mdor.gitignore; generated paths are hidden through.git/info/exclude, sogit statusstays clean in repositories shared with people who do not use Datarim.--expose-skillsis opt-in. -
FEAT
Jev without Datarim.
scripts/jev_host_install.py --client claude|codex|cursorinstalls routing advice and the deterministic safety floor for every project of a user, withjev doctor,jev stats,jev on|off. -
FEAT
jev permissions fullstarts Claude Code, Codex and Cursor without permission prompts (off by default); the safety floor still denies force pushes and protected deletes. Client flags such as--dangerously-skip-permissionspass straight through the launchers. -
FIX
Codex trust survives Jev upgrades. Hooks register a stable command, and
jev doctorrecomputes the hash Codex compares, reporting each hook as trusted, modified, untrusted or disabled. -
FIX
Install hygiene. Git-ignored source files are no longer shipped;
/dr-initno longer edits.gitignore; retired files leave no empty directories; the version check reads the workspace and site again.
v2.67.5
4 сентября 2026-
FIX
Digit-bearing task prefixes now work end to end. Registered prefixes such as
C2Mare accepted consistently by dispatch, ID allocation, snapshots, heartbeat parsing, and integrity gates. - SECURITY The task-ID boundary remains strict. Prefixes must begin with an uppercase letter, stay within ten uppercase letters or digits, and end in exactly four digits; digit-leading, lowercase, and malformed IDs remain rejected.
v2.67.4
4 сентября 2026- FIX Preflight severity overrides now take effect. Validated disk-threshold overrides survive into the composite action run step instead of being silently replaced by input defaults.
- CHANGE Executable end-to-end regression coverage. Tests now prove both the default path and the full JSON override → GitHub environment → preflight resolution path.
v2.67.3
4 сентября 2026- FIX Known-fix recall now exposes invalid corpora. Query output reports scanned, parsed, and unparseable records plus a bounded first error. A corpus with candidates but no valid records returns a non-zero status instead of masquerading as an ordinary empty result.
-
CHANGE
Mixed corpora remain queryable and visible. Valid evidence is still returned with an explicit
partialstatus when other candidate records fail validation. - FIX Changelog latest-release contract. The configured framework version must be the first visible release and carry the Latest marker; deployment tests now reject malformed release-array nesting.
- SECURITY Public fixture hygiene. Retired infrastructure-address fixtures use RFC 5737 documentation space, and obsolete scan suppressions have been removed.
- SECURITY Fleet-detail minimization. Public workflow evidence uses anonymous runner roles instead of publishing operational hostnames.
- SECURITY Protected-main completeness. Version consistency, task-ID and regression checks, and all eight Bats shards are required alongside SAST and secret scanning.
v2.67.2
3 сентября 2026- CHANGE Portable catalogue and test parity. Public inventory and spec-graph regression fixtures now remain exact across GNU/Linux and macOS.
- SECURITY Protected-main release authority. A release must use an SSH-signed annotated tag that resolves to the exact protected-main commit and publishes checksum, Cosign, SBOM, and GitHub provenance evidence.
- SECURITY Exact-head SAST. Repository-owned Semgrep rules and Python CodeQL now scan the exact pull-request or main commit with stable SARIF categories.
- SECURITY Reduced privileged automation. Obsolete replay and mutable SHA-bridge workflows are retired, while Dependabot authority is bound to the complete trusted event tuple.
v2.67.1
2 сентября 2026- FIX Bound macOS customer-delivery shards. The trusted-review registry cases are split across two exact functional shards so the mandatory macOS workflow stays below its authoritative timeout ceiling, with a portable test interpreter fixture for BSD/macOS and GNU/Linux.
v2.67.0
16 августа 2026- FEAT Execution-host health state. The resolver now distinguishes an on-host pass from an unconfigured workspace, and the health check proves both a positive and a negative control instead of treating silence as health.
- CHANGE Catalogue parity. Public documentation now tracks the committed framework inventory: 19 agents, 78 skills, and 28 commands, including the five Fleet tier skills.
v2.66.2
13 августа 2026- FIX Hard-gated autonomy enforcement. Automatic policy decisions now honour the configured hard-gate list first, failing closed when the hard-gate configuration is missing or malformed.
v2.66.1
13 августа 2026- CHANGE Framework-batch reconciliation. The current-main-adjudicated framework residue is now the canonical tree; superseded rescue branches were retired after exact-main verification.
-
FIX
Shared-mode pre-archive schema reachability. The schema gate now runs after per-file hunk attribution and before every shared-mode return, so own, mixed, or unattributed dirty state cannot mask malformed ledgers. The explicit
--no-schema-checkescape remains unchanged.
v2.66.0
12 августа 2026-
FEAT
Module manifest gate.
dev-tools/check-module-manifest.shvalidates amodule.yamlbundle descriptor (schema version, semver, kebab-case id, non-empty skill list, per-skill summary,requires), with a shipped example template and a reference doc. -
FEAT
MCP server for the Datarim catalog.
cli/mcp/datarim-mcp-server.shexposes commands, skills and agents over MCP (list / resolve / body, path-confined, size-capped); a registrar writes[mcp_servers.datarim]into~/.codex/config.toml, wired intoinstall.sh(--no-codex-mcpopts out). -
FEAT
Three review skills split out of the monolithic adversarial pass —
adversarial-review(break the artifact),edge-case-hunter(boundary and degenerate inputs),structure-review(does the document hold together). Loaded at the /dr-plan Transition Checkpoint and /dr-qa. Skill count 69 → 72. -
FEAT
Preflight caller contract enforced — the composite preflight action validates its caller's inputs against
consumers.yml, exposes the notification outcome as an explicit output, and reports timesync state with a measurable offset. - CHANGE Telegram article publication contract. An article is exactly two sequential ordinary channel posts in one chat — media plus bold title, then title plus full text plus a single linked CTA — with no comment/thread routing and a read-back gate over both returned ids. The channel-comment recipe stays documented for non-article posts.
-
FIX
Reserved-prefix shadowing is reported instead of applied silently. A project registry row repeating a universal area prefix (
DEV,QA, …) was discarded with no output, stranding archives outside the corpus later searches cover; the doctor now emits a WARN naming both the reserved and the ignored value. Resolution precedence is unchanged. - FIX Pre-archive schema gate is reachable, and the indent bypass is closed. The gate ran only when every repo was clean, so any dirty repo skipped it; it now runs unconditionally. The violation scan anchored at flush-left bullets, exempting indented rows; indented rows are now held to the same shape. Both fixes are mutation-tested.
v2.65.0
9 августа 2026- FEAT Prefix-agnostic task-ID provenance gate. The history-agnostic scanner now covers public runtime instructions, four public documentation categories, root entry documents, and five shipped text extensions, with exact path exemptions, portable lexical boundaries and NUL-safe traversal closing the previous silent bypasses. The public-site contract now rejects every generic task prefix instead of maintaining a closed list.
-
FEAT
VERSION↔tag parity gate. A blocking CI job fails when the version declared in
VERSIONhas no matching tag on origin — the silent half-release (bumped manifest, never-pushed tag, no artefacts) that two earlier cuts fell into. -
FEAT
Runtime drift check.
check-runtime-drift.shfails when the agent runtime symlinks into a checkout sitting on a feature branch or detached off any release tag — the state where every agent on a host silently serves stale rules. Wired as a blocking step invalidate.sh. -
FIX
Closure-gate false block. Fixed-string verification via
git grep -Fbroke on patterns containing a literal\E; verification now pipes the base tree to GNU grep in a two-pass batched scan (minutes → ~15 s), with substring semantics unchanged. - FIX /dr-quick emitted a malformed tasks.md row — the step now shows the exact line to emit instead of naming field values as prose, and a deferral-prose line-scoped false positive is corrected. The v2.64.0 release was completed retroactively with its annotated tag and release run.
v2.64.0
5 августа 2026- FEAT rotation-runbook skill. Credential-rotation playbook distilled from three real rotation exercises: consumer inventory with a secret-store↔producer truth-check, deliberate grace-window choice, auth-scoped revoke/issue verification (the false-green trap), full producer-payload replay over a minimal probe, canonical secret-store path discipline, a rotation-log entry, and leak-response addenda. Skill count 68 → 69.
- CHANGE Outsider-friendly English pass on the shipped surface. Residual paraphrasable Russian prose behind allow-non-ascii markers is now English; framework jargon (FB rules, verifiable acceptance criteria, Class A/B proposals) is defined on first use with definition links; circular self-links removed. Canonical operator-output tokens and content-work skills keep their Russian by policy.
- FIX CI supply-chain repin. The rust-toolchain action pin was orphaned by an upstream rebase and tripped the impostor-commit audit on every PR; repinned to the live stable SHA.
v2.63.0
4 августа 2026- FEAT TDD-enforcement toggle plugin. Core-owned, metadata-only, default-on plugin with a stateless workspace resolver and a tombstone “Disabled Defaults” contract; dr-plugin doctor gains a tenth health check.
- FEAT Agent frontmatter gate. New blocking CI job validates agent frontmatter schema (and wires the previously-unwired skill frontmatter check).
- FEAT Narrative-parity dimension for the repo↔site drift detector, plus a release environment policy-as-code file with a live drift advisory.
- FEAT Anti-decay regressions for the pre-push local-validator wiring and the /dr-plan stdlib-symbol advisory, plus a wiki raw-content semantic orphan check.
- FIX next-free-id.sh fails closed on a ledger-less root; framework hygiene: tracked documentation/ was gitignored — rule removed, reassert lint promoted to its own blocking CI job; skill-count drift in shipped docs corrected.
- CHANGE PRD-amendment sidecars decision recorded (deliberately not landed; permanent rejection ADR) and the fb-rules one-cycle deprecation copy retired.
v2.62.0
3 августа 2026- CHANGE Backlog schema fork superseded. The later field-proven backlog contract already permits a single-line inline pending-work description without a task-description pointer, while the active-task index and the active-context mirror retain required pointers. The system skill, the doctor skill, and the backlog template now match the canonical regex split in the shared schema library; a focused regression pins both sides without changing doctor runtime behaviour.
v2.61.0
2 августа 2026- FEAT Archive-landing truth gate. Direction A checks archive artefact paths and cited commits against the content actually present on the verification ref, distinguishing removed, moved, foreign, unverifiable, and squash-landed evidence. Direction B is an advisory stale-label scan for open backlog rows. The gate is scope-guarded against cross-repository false verdicts, reports undated archives instead of guessing dates, and ships 16 focused test contracts including mutation coverage. It is wired into the framework gates, and the template-path gate is now enforced by CI.
- FIX Relanded the snapshot task-ID regex fix. Slug-suffix follow-up IDs remain resumable after the archived change was recovered and landed under a squash merge.
v2.60.1
2 августа 2026- FIX The snapshot size cap no longer silently disarms on macOS. An oversized options file makes the frontmatter alone consume the whole 8192-byte cap, so the body budget is deliberately clamped to zero — but the zero-byte truncation relied on a GNU-only byte-count behaviour that BSD/macOS rejects with an error. Under strict mode that aborted the writer before the cap check could fail closed, converting a hard guard into a silent pass while Linux-only CI stayed green. The zero case is now an explicit truncate, and the regression test is mutation-verified.
- FEAT Wrapper-level snapshot regressions. New coverage for the frontmatter/body separator (an ordinary body without a leading newline must not glue to the terminator) and for the decimal-width boundary of the declared byte size.
v2.60.0
31 июля 2026- FEAT Release-ledger drift gate. A new read-only report fails when the framework version was bumped but the matching changelog section was never cut. Version boundaries are derived from the version-header history rather than hardcoded; report mode prints the commit and pull-request mapping, bullet mode attributes unreleased entries to their real version, and check mode requires zero orphaned commits and zero undocumented versions.
- FEAT The closure gate now verifies the ledger as well as the code. A task could previously reach the main branch without ever gaining a row in the active or pending index and still pass closure. The gate now requires an anchored row beginning with the exact task ID, rejects citation-only and prefix-collision matches, supports an explicit ledger path and a fail-closed require-ledger mode, and remains backwards-compatible for repositories with no Datarim ledger.
-
FEAT
Interactive task-spec wizard —
/dr-wizard+ thewizardskill + a pure-bash state engine. Evolves the linear discovery →/dr-prdchain into a guided, one-question-at-a-time, tree-drilling interview that co-authors a PRD with the operator. State is an append-only JSONL event log per task whose current value is a projection over events — resumable by replay, branchable by a derived drill-stack. Operators can drill into a hard sub-question in a nested side-thread and pull the conclusion back without carrying a manual session id (context captured as references, not copies), convene a consilium on demand, and mark mid-flow re-scope through dirty flags (tracking only in v1 — the re-plan stays operator-confirmed). A knowledge/dependency graph is emitted as a documented ingestion contract with node labels redacted at the outbound sink boundary./dr-prdgains a finalized-gated, idempotent consume-hook; the plain discovery path is unchanged when no wizard artefact exists. -
FEAT
Cross-KB evolution digest, read at
/dr-archiveStep 0.5. Self-evolution runs per knowledge base, so when a task in a non-framework KB evolves the shared runtime the lesson lands in that KB’s log and never reaches the operator watching the framework KB. A new strictly read-only tool merges per-KB evolution logs into one source-tagged digest with two buckets — framework changes already made elsewhere (not to be re-proposed) and project-local lessons that may warrant promotion. Rows are treated as untrusted data throughout: never evaluated, never sourced, never opened as a path. No KB is ever silently absent — each root renders an explicit OK / missing-root / no-log / empty / parse-error / stale status. -
FEAT
Plan-time seam-vs-integration boundary detector, plus the matching skill.
/dr-planhad mandated this check for L3–L4 in prose only. The tool half is now shipped: a narrow, deterministic, advisory scanner that flags a backlog one-liner bundling a seam/contract concern (define an interface or dispatcher in one module) with an integration/call-site concern (wire it into a caller elsewhere). It exits clean whether or not it flags, so it never blocks a plan, and its signal lists are documented as a floor rather than a ceiling — a pass does not discharge planner judgement. -
FEAT
Task-ID collision hardening — atomic claim, reservation mutex, and a cross-instance advisory. Three independent windows are closed. A directory-based lock makes the
/dr-initclaim itself atomic, so of two concurrent sessions exactly one wins and the other bumps and retries; the id selector now atomically reserves the chosen id before printing it, adding a fourth claim surface alongside archive, active-task index, and backlog; and a read-only probe reports an id already claimed in a sibling instance (workspace root versus a nested project tree), which previously went unnoticed and caused a three-way collision. Markers are gitignored runtime state and self-expire on a configurable TTL. - FEAT Frontmatter-key mirror drift guard. A machine-readable contract that is not mirrored to a human-readable surface next to its call site decays silently, and existing checks did not cover it — one validates frontmatter shape, another validates its language. A new read-only two-pass guard, fed by a shipped key registry, verifies that every live top-level frontmatter key across commands, skills, and agents is categorised, that no live entry has vanished, that no reserved key appears live, and that keys requiring a mirror co-occur with their body marker in both directions. Runs as its own blocking workflow.
- FEAT Collision-safe task-prefix rename tool. The rename policy said «update all references atomically» and shipped no way to do it, while a task token is indistinguishable by regex from a homograph such as an ADR number — one blind sweep had already corrupted cross-references across a document set. Every token now passes through a pure, offline, anchored classifier: an exclude-anchor protects a whole line, and for numbers listed as colliding a token renames only when an include-anchor is also present. Anchors are compared as literal substrings, never compiled as patterns. Dry-run by default, with opt-in apply, file rename, and a verify pass that fails on half-rename residue.
-
FEAT
Cross-runtime
/dr-autoactivation smoke, wired blocking. Verifies the runtime-agnostic activation claim mechanically rather than by prose: that the marker is written and resolved so the question-suppression ladder engages off the marker and not off runtime identity; that a spawned subagent is classified correctly with the environment variable unset, since it does not inherit the parent shell; and that the hard-gated action list is non-empty. Complements the existing prose linter by exercising the primitives. -
FEAT
Gated local archive auto-commit.
/dr-archivecan capture a globally clean repository boundary and commit only the task’s archive document plus an optional final snapshot, through hook-free plumbing. Default-off, with foreign-change refusals and an explicit skip preserving shared-workspace safety. No remote, tag, release, or version action is ever performed. -
FEAT
Framework version accountability.
/dr-initnow records an immutable repository baseline. For shipped framework behaviour,/dr-doand/dr-qaindependently require either a version-and-changelog update or a committed, task-bound release deferral, preventing a version bump from drifting away from its release evidence. - FEAT Brand-hygiene policy for absorbed external skills. The evolution contract now requires provenance attribution, replacement of source-brand cross-references with Datarim equivalents, removal of undeclared external path interoperability, and a regression-gate extension for every newly absorbed source brand.
- FEAT Partial Milestone Closure Pattern for autonomy milestones spanning several child tasks. New shipped-surface contract documenting how one milestone is closed incrementally across two or more children: the parent append-log schema for partial and full closure entries, the closed/deferred status word set, the responsibility split (the parent owns the ledger; only the last closing child performs the level bump), and reopen-on-fallback semantics that revert a bump when a closed component regresses.
- FEAT Audit-log adapter and redaction layer for fleet skill evolution. A third source adapter reads the optional fleet audit stream and emits one evaluation record per entry through the shared JSONL contract. Every reason and trace is redacted before it can reach an external model; the adapter self-skips when its broker is unavailable, and the evolution loop now recognises broker URLs without applying filesystem-path checks to them.
- CHANGE Coworker-delegation mandate now exempts vetted architectural design docs. The written policy lagged already-shipped, already-tested runtime enforcement: the guard silently allowed a design document whose name matched an exemption glob, while the mandate text still listed design docs as unconditionally delegated. The exemption is now stated and gated on a four-condition conjunction — the document records a decision rather than a first-time exploration, its facts were vetted in-cycle, those facts are correctness-critical, and the specification already approximates the final text. No hook behaviour changed.
-
CHANGE
Secrecy-aware project scaffolding. When the operator brief carries a secrecy signal,
/dr-initnow scaffolds in secrecy-aware mode: mechanism-bearing reference stubs are written with redaction placeholders, the public documentation surface and README are forbidden from carrying mechanism vocabulary, and a secrecy declaration plus a grep gate is emitted into the project instructions at scaffold time rather than as a post-hoc repair. The non-secret scaffold path is byte-identical to before. - FIX The release ledger and version file no longer disagree. The version had advanced through six releases while the changelog stopped at 2.53.0. The linear version-header history supplied exact boundaries, so all 158 commits in the window were partitioned with zero orphans and the 40 accumulated entries were attributed to the versions that introduced them: 10 / 1 / 1 / 1 / 3 / 4 / 20 for 2.54.0 through 2.60.0. All 210 pre-existing changelog entries remained byte-identical after redistribution.
- FIX Cross-KB digest determinism test no longer flakes at a one-second boundary. The assertion compared two runs while their status blocks included a wall-clock-derived age, so otherwise identical output could differ when the calls straddled a second. The test now pins the tool’s documented clock hook and verifies the intended global ordering property.
- FIX The seam-boundary skill now resolves its validator from the installed runtime. A bare relative developer-tools path worked only from the framework repository and broke in consumer projects. The command is now runtime-qualified, and the path-convention detector is included whenever new shipped instructions name a developer tool.
-
FIX
/dr-initno longer hard-fails for framework tasks on a default-umask host. The version-accountability pair guarded the repository root with the predicate written for the record directory it creates, which additionally forbids the group-write bit. Under the common default umask every checkout is group-writable, so the baseline capture exited with an unsafe-repository error on an ordinary clone — and because that exit is declared a hard init failure,/dr-initwas blocked outright for every framework task on such a host. The repository root is only ever read, so it now uses the same guarantee applied elsewhere: owned by us, not a symlink, not world-writable. The stricter rule still guards the record directory. - FIX Recovered documentation lost when duplicate reland pull requests were closed. Three gates were relanded twice in parallel and the first set merged, closing the others. A file-path comparison said nothing was lost, but a content comparison found two deltas: the developer-tools catalogue was missing rows for six newly landed tools, and the multi-runtime guide had lost an operator-facing section. Both are restored, with one correction — the continuous-integration wiring is a blocking job, not the advisory arrangement the closed branch described.
- SECURITY Personal identifiers removed from the shipped surface. The pre-release audit removed personal home paths, internal machine names, routable addresses, and operator-authored init-task records from tracked public files. Public references now use placeholders, the plugin attribution matches the project licence, and ignore rules cover task-intake records, insights, and environment files. No live credential was found.
v2.59.0
30 июля 2026- NOTES Reconstructed release notes. This version was bumped in the framework version header but never cut as a changelog section at the time. The entries below were recovered retroactively during the 2.60.0 release audit by attributing each unreleased entry to the commit that introduced it. 27 commits landed in this range — the entries listed are those that carried a changelog entry, not the full commit set.
- SECURITY New rule cluster S11 — untrusted-content boundary review gate. A distinct adversarial security review becomes a mandatory pre-merge gate whenever a change implements or modifies a boundary where untrusted bytes enter a model context: retrieved knowledge-base documents, fetched web or tool output, user files, any external corpus rendered into a prompt or tool result a model reads. A green build alone does not clear it — the automated jobs do not model prompt-injection semantics. The review is findings-only, run by a reviewer in a context separate from the implementer, and must probe fence-escape, nonce-predictability, trust-class cross-promotion, provenance-forgery, size-guard bypass, and fail-open behaviour.
- FEAT Regeneration of the execution-host map from canon. The machine-local map the runtime guard consults was hand-maintained, so a stale or missing map degraded to fail-open and let commands run locally even where a required-host binding exists. The documented repair flag was declared in the script header but never implemented; it now upserts the binding from the committed canon and stamps a sync time, making the local map a derived artefact. Canon owns host identity, the local cache owns the machine-local workspace path, and the operation is idempotent and isolated from other bindings.
- FEAT Execution-host routing resilience. Three hardenings. A session-start advisory reports canon-versus-cache drift, staleness, or a missing cache in one line and never blocks. A canon-fallback resolver reads the space definition directly when the cache has no binding, so «unconfigured» now means canon truly has no execution mandate rather than «cache absent on a host that should be gated»; that also makes the flip to fail-closed safe, since mutating intent whose host cannot be resolved is denied while read-only intent stays fail-open. And the machine-local guard now catches raw branch and worktree creation shapes when off-host, while deliberately excluding plain commits and read-only operations so the operator’s own close-out flow is not broken.
-
CHANGE
/dr-quickoff-host routing now distinguishes read-only from mutating intent. Every off-host quick task was previously treated as observational and always ran locally, so a mutating one edited files and switched branches on the operator’s laptop in violation of the execution-host mandate. A genuinely read-only task still stays local and surfaces the delegation directive as information only; a mutating one auto-dispatches to the required host. Because a quick task’s intent is only settled mid-flow, the dispatch decision is deferred and re-evaluated, with a guard so a lookup that turns into a mutation dispatches before any local change.
v2.58.0
22 июля 2026- NOTES Reconstructed release notes. This version was bumped in the framework version header but never cut as a changelog section at the time. The entries below were recovered retroactively during the 2.60.0 release audit. 5 commits landed in this range — the entries listed are those that carried a changelog entry, not the full commit set.
- SECURITY Fail-closed public repository boundary and build-execution evidence gates. New read-only helpers verify an exact allowlisted file tree plus all reachable history against redacted-path policy and live secret scanning, and separately distinguish an actually executed, successful, required job on the exact commit from no execution, pending, failed, mismatched, or indeterminate evidence. The planning, compliance, and archive commands now require these gates when their trigger conditions apply.
- FIX Deploy-class classifier fails loud instead of fail-open on caller and input-output errors. Two paths silently resolved to «not deploy-class, gate skipped»: a flag given without a value crashed argument shifting under strict mode, and an existing but unreadable task description masked the read error inside a pipeline without failure propagation. Both now exit as usage errors with a message on standard error.
- FIX Deploy-class classifier no longer arms on negated prose. Indicator tokens were matched as substrings anywhere in the task description, so a narrative disclaimer such as «this task does not touch the unit manager» falsely armed the pre-archive production-merge gate on a non-deploy task. Indicator hits now pass through a negation-marker line filter that is deliberately minimal and fail-safe — unmatched phrasings leave the gate armed. The changed-paths surface is unaffected.
v2.57.0
15 июля 2026- NOTES Reconstructed release notes — thin section. This version was bumped in the framework version header but never cut as a changelog section at the time, and was recovered retroactively during the 2.60.0 release audit. 1 commit landed in this range and carried the single entry below; this is the complete set for this version.
- CHANGE Off-host delegation is now autonomous, with no operator round-trip. The execution-host contract previously told an off-host agent to emit a delegation directive and stop; it now auto-dispatches for mutating pipeline stages and the autonomous driver, on the reasoning that the required-host binding is the operator’s standing authorization and that dispatch is reversible transport while irreversible steps remain hard-gated on the remote agent. Read and utility stages stay local and never dispatch. Guards: attach to an existing session rather than relaunching; host-key pinning replaces the removed human check on the target; an off-host verdict has exactly two outcomes, remote dispatch or stop-and-report, with local execution never an outcome and a corrupted map failing closed; a bare task-id payload only; and a read-only monitor with a first-status deadline, a single re-send, and escalation rather than silent re-dispatch.
v2.56.0
15 июля 2026- NOTES Reconstructed release notes — thin section. This version was bumped in the framework version header but never cut as a changelog section at the time, and was recovered retroactively during the 2.60.0 release audit. 1 commit landed in this range and carried the single entry below; this is the complete set for this version.
- SECURITY Branch-integration floor — a pre-tool-use hook that hard-blocks unreviewed integration. Any direct merge or push of an integration branch into a protected branch is blocked; the only path to a protected branch is feature branch → pull request. Injection-resistant by construction: it reads only the structured command, strips heredoc and quoted bodies, and no environment variable, flag, or in-band text disables it. Fails closed on an ambiguous head. Blocks merge, push, and rebase shapes including force refspecs and the compound checkout-then-merge form, while read-only look-alikes and reverse pulls of a protected branch into your working branch pass.
v2.55.0
14 июля 2026- NOTES Reconstructed release notes — thin section. This version was bumped in the framework version header but never cut as a changelog section at the time, and was recovered retroactively during the 2.60.0 release audit. 1 commit landed in this range and carried the single entry below; this is the complete set for this version.
- FEAT Dispatch monitoring layer. A delegated agent now writes a synced heartbeat status file, and the monitoring side reads it to disambiguate a bare remote prompt. A classifier joins pane liveness with status freshness into a read-only verdict — running, awaiting, stalled, done, dead-orphan, or hold — with safety invariants: an awaiting-operator task is never reaped, a live child blocks a dead-orphan verdict, and a dead-orphan requires at least two consecutive stale probes. An aggregator reports all status files at once, pinning actionable states first and flagging stale syncs so a task is never falsely reported as done.
v2.54.0
14 июля 2026- NOTES Reconstructed release notes — substantially incomplete. This version was bumped in the framework version header but never cut as a changelog section at the time, and was recovered retroactively during the 2.60.0 release audit. 77 commits landed in this range and only the nine entries below carried a changelog entry — this is a partial record, not the full commit set.
- FEAT Shared execution-host resolver library. One sourceable resolver with no side effects, serving two consumers: a new step-zero execution-host block in the executional commands, and the machine-local pre-tool-use guard, which now sources the library and falls back to its embedded logic when the library is not yet installed on a given machine. Contract: resolve the workspace root, look up a binding, match the host, and return a verdict — on-host or unconfigured, off-host and delegate, or fail-closed on malformed configuration.
- FEAT Step-zero execution-host contract across the executional commands. After the existing path-resolution step, each command now consults the resolver and emits a delegation directive on an off-host verdict, otherwise proceeding unchanged and failing open when unconfigured. This is the cooperative soft layer; the machine-local hook remains the hard floor.
- FEAT Standalone execution-host drift validator, plus a doctor scope that consumes it. Compares the committed canon against the machine-local binding for the same space and reports time-to-live staleness. Canon always wins and the validator only reports, never rewriting canon. The doctor’s new scope merely invokes the standalone tool and aggregates findings, keeping the comparison logic out of the migrator per the framework’s orthogonal-tools rule. A local-repair flag documents and audit-logs that the doctor may run on the control machine even inside a bound workspace.
- FEAT Recorded-fixture tests for thin HTTP wrapper clients. A new testing gate mandates that a wrapper capture one real response into a fixtures document before implementation, that its spec include at least one integration-style test asserting against that recorded response rather than a synthetic stub, and that the spec decode through the real schema so a response-shape drift fails the test.
- FEAT Semantic-orphan check for raw knowledge-base captures. A new advisory-only doctor pass flags a file whose name shares no meaningful token with the opening of its content — a signal of an accidental paste into the wrong file. Report-only; the repair mode does not touch the raw tree.
- FEAT Legacy-hardware probe checklist template. A seven-step probe for legacy embedded integrations — processor architecture, tunnel device, free memory, key-derivation support, shell applet availability, scheduler spool permissions, and machine-identity sources — run before committing to an architectural approach, replacing speculative toolchain assumptions with a short probe.
- FEAT History-agnostic runtime-body probe moved left into plan review. The gate rejecting task-id provenance in shipped skill, agent, command, and template bodies now runs at plan time rather than only at review and hardening. When implementation steps name a runtime body as an edit target, the planner dry-runs the gate against the cited paths and any example text it will ship, and resolves every cited path through the existing exists-and-deprecation ladder — reusing both gates rather than re-deriving them.
- FEAT Installer syncs the delegation fragment into the operator’s personal instructions file. Mirrors what the other runtime already did, but for a hand-maintained personal file only the block between sentinel comments is replaced — everything else is preserved byte-exact. Idempotent, and fail-soft when the sentinels are absent or the file does not exist; the installer never creates or reformats an operator’s personal file.
- CHANGE Repository-root installer scripts scrubbed of task-id citations. The install, update, and validate scripts carried roughly thirty inline provenance citations, which the history-agnostic gate does not cover for root shell scripts. Citations were replaced with the version anchors already present alongside most of them, or generic phrasing where no anchor existed. Two occurrences are intentionally untouched: a backup filename suffix and a backup glob are literal on-disk naming tokens matched against backups created by earlier installer runs, and renaming them would break restore compatibility.
v2.53.0
10 июля 2026- FEAT Automatic post-step self-verification hook wired into the requirements, planning, and implementation stages. After every one of those stages the command now runs the tri-layer self-verification contract automatically — the pipeline-integrated counterpart of the manual verify command, reusing the same skill. Dispatch is complexity-tiered: the smallest tasks skip the hook because the overhead exceeds the value, mid-size tasks run the deterministic floor plus a single peer-review agent, and larger tasks add the three-way parallel native dispatch across reviewer, tester, and security. Advisory and findings-only by default, with an opt-in hard mode and a kill switch.
- FEAT Coworker type-signature mirror guard. When a delegated draft cites types or variants from a canonical source, the specification must now carry a verbatim canonical block, an exact-mirror instruction, and a post-generation grep pass, enforced by a new linter. Prevents fabricated type signatures reaching an artefact.
- FEAT Fleet router entry added. The five level fragments previously had no top-level skill file, which failed the skill-layout check.
- FIX Coworker context file-type gate documented accurately. The delegation fragment claimed write paths had no allowlist; corrected to describe the code gate on context files, the target-only exemption, and the self-recursion workaround for documentation generation.
- FIX Orchestrator context-window self-clearing. Default-off adapters now checkpoint the active task description and the completed snapshot phase before a fixed compact or clear instruction, then use snapshot-first resume for continuity. Taught labels remain data-only, and same-user runtime trust requires explicit opt-in.
v2.52.0
10 июля 2026- FEAT Confirmed auto-learning in the orchestrator. A successful trusted resolution can emit an actor- and session-bound «save as rule?» callback. An affirmative one-time confirmation persists an exact learned match with 24-hour re-validation and an immutable seven-day expiry; learned actions remain subject to per-space policy and to the hard-gated floor that never auto-executes.
-
FEAT
New skill:
image-prompting. A reusable playbook that turns a content brief into a precise, repeatable prompt for instruction-following image generators (the gpt-image family and equivalents) — blog covers, video thumbnails, social-post visuals, illustrations, infographics, logo marks, and edits of existing images. Covers the full method: intake → spec → prompt → verify loop, prompt anatomy, composition, style/medium, camera/lens, light, mood, palette, text-in-image constraints, negative constraints + invariants, native aspect/size handling for gpt-image-style tools, and iterative refinement. Ships aprompt-templates.mdfragment with nine fill-in-the-blank templates and a ship-readiness verification checklist. Wired into thewriterandeditoragents and the agent↔skill dependency map. -
CHANGE
Skill registries synced to 60 skills across
CLAUDE.md,README.md, and the skills reference; the "with supporting fragment directories" count corrected to its live value (13) with an inline definition, and/dr-addskillgained an all-occurrences count-sync reminder. - FIX English-only shipped surface passes cleanly. Canonical non-English schema and section names cited verbatim in the expectations-checklist skill, and the localized text-normalization examples in the publishing skill (a content-work skill), are now wrapped in explicit allow markers, so the language validator reports a pass across the whole commands, skills, and agents surface without relying on its advisory tolerance.
v2.51.1
9 июля 2026- FIX Codex skill fanout is atomic. The installer now builds generated skill adapters in a staging directory and swaps the completed tree into place, preventing transient missing-skill startup warnings when the runtime launches while the installer is regenerating wrappers.
- FIX Codex skill wrapper source paths point at nested skill files. Generated adapters now reference the real nested path for each skill instead of an invalid flat one, making diagnostics and manual source lookup accurate.
v2.51.0
8 июля 2026- FIX Coworker model routing is split by task semantics. Runtime delegation now uses a documentation-read profile and a classifier profile on a fast model for literal extraction and short routing only, while meaningful draft generation uses a dedicated write profile on a stronger model.
- FIX Adversarial verification no longer routes through the external delegate. The verify command rejects external coworker providers; acceptance-criterion verification, hidden-gap discovery, architecture judgment, root-cause analysis, and other semantic review stay in the selected agent runtime.
- FIX Legacy coworker profiles fail closed. The older generic profiles are documented as disabled defaults; source-code reading and voice-bearing content remain native to the selected agent model.
- CI Security workflow shell-linting install is resilient to transient runner package-source failures. The linting jobs now use a preinstalled binary when available and disable broken vendor package sources before installing the distribution package, so external repository drift no longer blocks releases.
v2.50.2
6 июля 2026- FIX Installer bypasses token-reduction shims for compound file-search predicates. The Codex install path now resolves a real search binary before cleaning skill wrappers and listing bundled plugins, preventing shim failures when the runtime launches the installer with those shims already on the path.
v2.50.1
6 июля 2026- FIX Codex installer self-heals stale temporary probe hooks. The install path now replaces missing temporary probe commands in the runtime hook configuration with the canonical guard, preventing repeated hook-exit failures after the temporary directory is cleaned. Valid custom hooks are preserved.
v2.49.0
28 июня 2026-
CHANGE
BREAKING (canon): the documentation root is renamed
docs/→documentation/. The framework’s 19 root docs were moved into the four Diátaxis categories (tutorials/,how-to/,reference/,explanation/), witharchive/,evolution/,release-audit/, andephemeral/reserved as sibling directories (a Diátaxis category may not take those names). History is preserved viagit mv.documentation/is now the single canonical documentation root ecosystem-wide — thediataxis-docsmandate, the/dr-initscaffold, the Documentation Taxonomy Mandate, and the/dr-optimizedrift detector all target it. -
CHANGE
Hard-flip compatibility — with a fix path, not just a reproach. The drift detector now treats a repo still on legacy
docs/as drift. A consumer repo is not left stranded:/dr-doctorgains an opt-in, idempotent, rollback-safe self-heal pass that performs the samegit mv+ Diátaxis split + reference rewrite, detecting legacy / partial / already-migrated layouts and restoring the original tree if any post-migration check fails.
v2.48.0
28 июня 2026- CHANGE Завершённые задачи больше не отправляются в упразднённый backlog-archive.md. Отдельный очиститель удаляет запись только при наличии соответствующего архивного документа; записи без архива сохраняются и показываются для проверки. /dr-doctor и /dr-dream используют этот контракт.
v2.46.0
23 июня 2026- FEAT Compliance gains a stale test-count classification rule. When a commit message claims N/N tests pass but a live re-run reports M/M with more tests, and those extra tests are verifiably present in the commit, the discrepancy is now classified as informational rather than a failure — the live count is recorded as authoritative and the run is not forced to re-commit. A normal polish-test addition no longer reads as a compliance breach.
- FEAT New deterministic classifier-script template. A reusable Bash template for type-signal classifiers ships with the framework — message-file parsing with an input guard, a priority-ordered match helper, and a documented exit-code table — so projects that route messages by intent start from a tested skeleton instead of an ad-hoc script.
- FEAT Verification-mode durability axis (carried from the prior cycle). Each acceptance wish can now declare whether its check is a one-off or a reproducible, committed artifact; a reproducible wish without a wired-in test or CI job is flagged (advisory during review, hard at compliance). The schema is additive and opt-in — existing checklists are unaffected.
v2.45.0
23 июня 2026- FEAT Orchestration autonomy policy is now a core capability, not a plugin. The autonomy policy data (the hard-gated safety floor and the action-to-policy map) and its loader moved from the opt-in orchestration plugin into the framework core, so the autonomous-execution command resolves its safety floor without enabling any plugin. With the policy stranded in a default-off plugin, the floor could silently collapse so that everything escalated; the floor now resolves from core and fails closed when its rules file is absent.
- FEAT The orchestration slash-command resolves as core. Its registration no longer points at a plugin path, so the command is available out of the box. The transport runner (terminal multiplexer driver, inference-backend chain, bot/HTTP interface, audit backends) stays an opt-in plugin via thin shims that prefer the core policy loader and fall back to a one-cycle deprecation copy.
- FIX Doc-only fast-path and deferral-prose path guard. The autonomous-execution command gained an L1 documentation-only fast-path, and the self-deferral prose scanner now tolerates spaces in the report path.
v2.44.0
22 июня 2026-
FEAT
Session resume command now carries a deterministic handle and a human-readable task label. The
/dr-saveresume block prints/dr-continue {SESSION-ID}as the copy-paste command — the session id selects exactly one saved session, so in a shared workspace with parallel agents a bare/dr-continuecan no longer pick up another agent's session by modification time. Beside it, an annotation line shows↳ {TASK-ID} — {title}(read from the active-task index, truncated and sanitised) plus a saved-time derived from the session id, so a human recognises which work they are resuming among many. -
FEAT
Multi-task sessions list only the other active task ids. When a save spans several tasks, the block names the recommended one in the annotation and lists the remaining ids on an
Also active this sessionline — the current task is never duplicated, and the line is suppressed entirely for a single-task save. -
FIX
Snapshot-writer ergonomics. The stage-snapshot skill now states that
--body-fileis mandatory and that the wrapper's standard error must not be swallowed — the clear «missing required flag» message was being hidden by callers piping the wrapper through a truncating tail.
v2.43.0
20 июня 2026- CHANGE Граф требований встроен в этапы: связь PRD, плана и реализации передаётся структурно, чтобы её не пришлось восстанавливать после работы.
v2.42.0
19 июня 2026-
FEAT
Native spec-traceability layer (auto-layer, embedded in pipeline stages). A new read-only verification façade builds and validates the requirement graph
wish_id → D-REQ → V-AC → plan-step → evidenceacross the artefacts a task already produces — no parallel specification tree, no external dependency, no second pipeline. AddressableD-REQ-NNidentifiers and aCovers: D-REQ-*binding turn the previously advisory wish→criterion link into a machine-checkable graph. The/dr-specstandalone command was later retired (v2.43.0) — spec-traceability now runs automatically inside/dr-prd,/dr-plan,/dr-do,/dr-qa, and/dr-complianceviaspec-graph-gate.sh, with no separate invocation needed. -
FEAT
Four pure-shell validators over one rule registry.
dr-spec-lint.sh(core graph validator, named rules,--scope git-diff),dr-trace.sh(coverage buckets: covered / uncovered / dangling / orphaned / deferred),dr-lint.sh(umbrella façade with rule-registry introspection and a fail-closed mandatory-rule guard), anddr-spec-grade.sh(a computed projection only — never hand-edited, never affects routing). All share one contract:--format json, exit0/1/2, and a mis-configured ruleset is a configuration error (exit 2), never a silent «0 violations». -
FEAT
Advisory-first rollout +
/dr-verifyintegration. Activation order is dry-run → baseline → advisory window → hard gate for new/changed artefacts only; L1 skips the graph, L2 is advisory, L3+ becomes mandatory after a transition window. On--stage plan|all,/dr-verify's deterministic floor shells the graph validator and re-emits findings withsource_layer: "floor"— reusing the existing severity and routing taxonomy, no new verdict enum.
v2.41.0
18 июня 2026- CHANGE Установщик повторно запускается через bash при вызове через sh; отсутствие bash вызывает понятную ошибку. Добавлена контейнерная матрица установок для семи дистрибутивов и исправлен прежний сценарий Codex в Git Bash.
v2.39.0
16 июня 2026- CHANGE Перед архивированием исправления, функции или рефакторинга проверяются локальные коммиты, ещё не отправленные в репозиторий. Неотправленная работа должна получить явное решение вместо молчаливого завершения задачи.
v2.37.0
14 июня 2026-
FEAT
Artifact Language Policy. The free-generated body of runtime artefacts (creative / PRD / plan / the analytical body of archive / reflection / compliance-report) now defaults to English, declared in a new
CLAUDE.md§ Artifact Language Policy adjacent to the English-Only shipped-surface section. The directive is auto-loaded into context at generation time; the coworker delegation path mirrors it via a new §12 inskills/coworker-context/SKILL.md. -
FEAT
Operator-configurable language override, no code. The default is overridable per project with a single documented line in the consumer’s own
CLAUDE.md§ Project-Specific Configuration (Artifact language: <lang>); a secondaryDATARIM_ARTIFACT_LANGconvention is documented for shell-aware coworker call sites. No new validator, no config file, no change to the closed init-task schema. Verbatim operator input, canonical operator-facing sections, and ordinary user-project content stay exempt. -
FIX
network-exposure gate no longer false-blocks init-task-only tasks. At early pipeline stages a task may have only an init-task artefact (no priority/type by schema); the tiered gate now resolves to
skip(oradvisory_warnwhen a network-diff signal is present) instead of fail-closing tohard_block. Fail-closed is preserved for genuinely malformed task descriptions. Three new regression tests pin the contract.
v2.36.0
14 июня 2026-
FEAT
/dr-auto surfaces the compliance outcome before the CTA. The
commands/dr-auto.mdterminal-cleanup step now prints one line stating how/dr-complianceresolved — the verdict (COMPLIANT/COMPLIANT_WITH_NOTES) when a compliance stage ran, or a skip-by-design reason at complexity levels whose routing has no compliance stage — immediately before the call-to-action block. Previously the operator saw only a bare archive CTA, which read as “compliance is never proposed”.
v2.34.0
14 июня 2026-
FEAT
Self-enforcing /dr-auto dispatch contract. The
commands/dr-auto.mdStep 5 re-assert sub-bullet is promoted from advisory “mechanics:” prose to a mandatory pre-dispatch MUST-gate. Before spawning any stage subagent the orchestrator MUST runauto-mode-marker.sh reassertas the first action of every per-stage dispatch. Skipping this step means skipping the dispatch gate. -
FEAT
Regression lint
check-dr-auto-reassert-wiring.sh. A new deterministic shell lint scanscommands/dr-auto.mdStep 5 and exits 1 whenever the executableauto-mode-marker.sh reassertinvocation regresses to prose-only (no adjacent mandatory cue). Registered in CI (.github/workflows/dev-tools-lint.yml) so the self-enforcement gate fires on every PR. Fence-exclusion logic ensures illustrative fenced blocks do not false-pass. -
CHANGE
New bats coverage.
tests/check-dr-auto-reassert-wiring.batsadds 3 tests pinning the lint contract: passes on the wired spec, fails on a prose-only synthetic fixture, exits 2 on a usage error. Existingtests/dr-auto-marker-resilience.bats(6 tests) re-verified green. -
CHANGE
Visual-map drift fixes. Two stale entries in the navigation maps are corrected:
command-dependencies.mdis registered in the routing-invariants drift-mapping, and a/dr-compliancerow is added to the panels-and-quality Quality Rules table.
v2.33.0
14 июня 2026-
FEAT
Auto-mode marker resilience. The
datarim/.auto-mode-activemarker now survives subagent dispatch. A new helperdev-tools/auto-mode-marker.sh(verbs:reassert/subagent-active) provides an idempotent re-assert mechanic: if the marker vanishes between Step 3 and a stage dispatch, it is rewritten before the next subagent is spawned. A bats regression suite locks the contract (5 tests: restore, idempotent, subagent-active without env-var, fail-safe, task-id mismatch). -
CHANGE
Relaxed activation contract for spawned subagents. The autonomous-mode skill (
skills/autonomous-mode/SKILL.md) gains a "Spawned subagents (relaxed activation)" sub-rule. A subagent dispatched via the Agent tool does not inheritDATARIM_AUTO_MODE; it now activates the skill when its dispatch prompt carries an explicit auto-signal AND the re-asserted marker is present with a matching task ID. The top-level cycle still requires all three conditions. -
CHANGE
/dr-auto Step 5 wired for resilience. Two new sub-bullets in
commands/dr-auto.mdStep 5 document the mechanic: re-assert the marker at its current path before each dispatch, and carry the auto-signal in the subagent prompt. The helper path is referenced viaMARKER_RELPATHso a future marker rename touches one constant, not every prose reference.
v2.32.0
14 июня 2026-
SECURITY
Public-surface de-personalisation. Personal names, handles, ecosystem hostnames, numeric GIDs, and Vault paths are removed from all shipped framework artefacts. A new CI gate
scripts/personal-id-gate.shscans the shipped surface againstdev-tools/personal-id-forbidden.regexon every PR, blocking any artefact that carries operator-private data. Operator-specific configuration now lives exclusively in the gitignored${DATARIM_LOCAL}/config/personal.env, loaded by a new genericcli/lib/load-local-config.sh(fail-soft, key-validated, noeval/source). -
FEAT
Personal config overlay (
~/.claude/local/config/).install.shnow creates aconfig/sub-directory inside the local overlay with a self-documentingREADME.mdtemplate. The generic loader readspersonal.envfrom that path and exports valid keys into the shell environment — without executing any value. Four bats tests cover the injection-safety, bad-key, valid-key, and missing-file contracts. -
FEAT
Command-dependency graph. A machine-readable YAML source of truth (
dev-tools/command-graph.yaml, 24 commands) records every command's stage, prerequisites, successors, and optional-at complexity levels. A derived Mermaid diagram (skills/visual-maps/command-dependencies.md) provides the human-readable and renderable view. Four bats tests validate YAML integrity, minimum command count, core-command presence, and diagram content. -
CHANGE
OG-1 resolved:
/dr-helpadded to orchestrator rules. The single outlier inplugins/dr-orchestrate/rules/default.yamlis closed —/dr-helpis now a resolvable pattern (confidence 0.95), aligning the classifier with the soak corpus, three existing surfaces, and the contract test. All 8 rules-loader tests pass. -
SECURITY
Security Mandate extended with S3.1. A new sub-rule in
CLAUDE.md§ Security Mandate andskills/security-baseline/SKILL.md§ S3.1 codifies the no-personal-data policy for shipped artefacts, references the gate and loader, and defines the inline exemption fence (<!-- gate:example-only -->).
v2.31.0
10 июня 2026-
FEAT
Anti-deferral gate. A deterministic three-layer gate stops an agent from labelling its own unfinished work «out of scope / informational / not a blocker / I’ll fix later» and still passing QA, compliance, and archive. A new scanner
dev-tools/check-deferral-prose.shreads a QA or compliance report for deferral-tell phrases and cross-checks each against the set of files the task actually touched (git merge-base HEAD origin/main..HEAD); a deferral phrase about a touched file, with no verifiable follow-up orblocked_byartefact, blocks. Prose is not trusted — the touched-file set is the ownership boundary. Quoted phrases inside fenced code blocks or blockquotes are excluded so an honest report about the gate does not false-block, and a repeatable--extra-repoflag extends the scope for dual-repo framework tasks. -
FEAT
Override-authorship check. The expectations validator gains
override_by/override_class/override_artifactfields. An agent can no longer self-certify apartial/missedwish with prose alone: an agent-authored override now requires an allowed class (time-dependent/external-blocker/operator-authorized/plan-scope-boundary) plus an artefact id that exists in the backlog or task index. Operator-authored overrides are accepted unconditionally. -
CHANGE
Gate wiring + operating rule FB-5a.
/dr-qaLayer 3b runs the deferral scan as an advisory;/dr-complianceStep 5c runs it as a hard gate (a finding is NON-COMPLIANT);/dr-archivegains Step 0.45, placed before reflection so the follow-up heuristic cannot launder a self-inflicted loose end into a backlog item. A new operating rule FB-5a requires the agent to complete reversible authorised work itself (e.g. an authorisedgit push) rather than hand it back. Legitimate deferral is reserved for time-dependent or hard-external-blocked work, and only with a traceable artefact.
v2.30.0
6 июня 2026-
FEAT
Prod-readiness gate for deploy-class tasks. A new two-stage blocking gate verifies that the production runner is symmetric to the test runner before the pipeline recommends a merge, and again before a task can be archived.
/dr-qagains Layer 4g (a read-only test↔prod probe of sudoers, PATH, ports, systemd units, and runtime versions) and/dr-archivegains Step 0.4 (archive is blocked until the production merge is done and verified). The gate arms only for deploy-class work — tasks touching systemd units, sudoers, CI cutover jobs, or.env-deploytemplates — detected by a new classifierdev-tools/check-deploy-class.sh. Production stays hard-gated: the probe is strictly read-only and predicts impact; any mutation is an explicit operator action. Closes the failure class where a change verified a hundred times on the test runner falls over on the first production command. -
FEAT
New skill: prod-readiness-probe. Defines what the gate checks and how it reports, with a four-verdict vocabulary (
SKIP/PASS/FAIL/BLOCKED;BLOCKEDnever auto-resolves toPASSon an unreachable host). Hybrid execution: a project may author an optionaldatarim/deploy-readiness.ymlcontract (validated bydev-tools/check-deploy-readiness.sh) for a deterministic probe, or the probe falls back to an agent-driven checklist. The framework core stays stack-agnostic; project-specific runner data lives only in the optional contract. -
CHANGE
Self-evolution gains an anti-self-suppression rule. A reflection lesson that recurs — matching a prior reflection or describing a repeat of a known failure — can no longer be declined as «redundant with existing contract» and demoted to a memory note. A new evolution category
promote-recurring-incident-to-gateturns such a recurring, advisory lesson into an enforced gate. The rule fires only on demonstrated recurrence, with cited evidence; genuinely novel lessons may still be declined.
v2.29.0
6 июня 2026-
FEAT
New /dr-quick fast-lane. A lightweight command for trivial fixes or quick lookups that skips the heavy
init → prd → planpipeline. It assigns aQCK-XXXXtask id (new universal area-prefix, archived underquick/), runs a fast context scan on the runtime’s cheapest reasoning tier to locate where the change belongs, applies the fix, and writes a short archive entry — no PRD, plan, QA, or compliance. For one-file edits where waiting for full analysis is pure overhead. -
FEAT
Reflection moves to /dr-compliance. Reflection (lessons-learned + evolution proposals) now runs at a passing
/dr-complianceverdict and stamps the reflection with areflection_basismarker derived from the compliance report./dr-archiveStep 0.5 becomes a freshness gate: it re-runs reflection only when the file is absent, the marker is absent, or the marker is stale versus the current compliance report — otherwise it reuses the existing reflection. The mandatory-reflection guarantee is preserved: a task archived without a prior compliance pass still force-generates. -
CHANGE
/dr-auto is now a subagent orchestrator. Instead of chaining slash commands,
/dr-autospawns the matching agent per stage (planner / architect / developer / reviewer / compliance), summarises each result, and routes to the next stage. It drives a task to a passing/dr-compliance+ reflection and stops there — archival stays an explicit operator step. Re-entering an already-completed stage after a review finding is first-class (the artefact is updated, not recreated). -
CHANGE
Command hygiene. The deprecated
/dr-continuealias (and thedr-continue-snapshot-replayskill alias) were removed — one canonical name per concept (/dr-nextanddr-next-snapshot-replay). Live inventory is now 24 commands and 54 skills.
v2.28.0
1 июня 2026-
FEAT
Tag-driven release environment provisioning. A new
dev-tools/provision-release-env.shsets up a GitHub deployment environment for a tag-driven publish (on: push: tags: [v*]). GitHub creates environments with a default policy that matches protected branches and silently excludes tags, so the first tag-driven publish of a brand-new package is rejected. The provisioner setscustom_branch_policies=trueplus a{name: v*, type: tag}deployment-branch-policy, and preserves required reviewers on the manual-approval environment. -
FEAT
Dry-run by default. The provisioner only prints the planned GitHub API calls unless
--applyis passed, mirroring the fail-closed posture of the rest of the release rails. It is idempotent: re-running skips a tag policy that is already present. The GitHub API edge is injected for deterministic testing (13 new regression cases). - CHANGE Release docs. A new how-to walks through provisioning (script quick-path, reviewer-id resolution, manual API equivalent, verification commands). The PyPI first-publish how-to and the release-process playbook now cross-reference it as a one-time prerequisite before the first publish.
v2.27.0
31 мая 2026-
FEAT
Anti-deferral gate. A new deterministic gate stops an agent from labelling its own unfinished work «out of scope / informational / not a blocker / I’ll fix later» and archiving anyway. New
dev-tools/check-deferral-prose.shscans QA and compliance reports for deferral-tell phrases and cross-checks each against the touched-file set (git merge-base..HEAD): a deferral phrase about a file the agent itself touched, with no verifiable follow-up /blocked_byartefact, is a hard block. A phrase about a genuinely foreign area, or one backed by a real follow-up ID that exists in the backlog, passes — keeping the false-positive rate low. -
FEAT
Override authorship.
check-expectations-checklist.shgainsoverride_by/override_class/override_artifact. Apartial/missedwish can no longer be waved through by an agent writing its own free-text override (the self-certification loophole): an agent override now needs an allowed deferral class plus a follow-up /blocked_byID that exists in the knowledge base. Operator-authored overrides are accepted unconditionally. -
FEAT
Archive Step 0.4 + FB-5a.
/dr-archivegains a mandatory Step 0.4 that re-validates expectations and re-runs the deferral scan before reflection — so reflection’s follow-up heuristic cannot launder a self-inflicted loose end into a backlog item ahead of the gate./dr-qaruns the scan as an advisory;/dr-complianceruns it as a hard NON-COMPLIANT gate. A new operating rule FB-5a codifies the principle: complete reversible authorized work yourself, do not hand it back; defer only when time-dependent or hard-external-blocked, and only with a traceable artefact. -
NOTES
A legitimate deferral — results that need a 1+ day soak, or a hard external blocker — still clears every gate by citing a follow-up ID or
blocked_byreference that exists in the KB. Scanners are fail-open on their own git-probe failure: an infrastructure hiccup never blocks an otherwise-clean archive. Four new regression suites cover the scanner, the override-authorship logic, the archive Step 0.4 surfaces, and the compliance gate. -
CHANGE
Repo↔site content parity. The framework README gained the naming-origin (the Latin datarium/dator root — «a store that gives»), a Website badge and reverse link to datarim.club, and a corrected component count (55 skills). The About page and bilingual content were realigned to the canonical 18 agents / 24 commands / 55 skills, and the repo
VERSIONwas brought up to 2.27.0 to match the site. Pilot of the ecosystem repo↔site sync discipline; the drift detector reports the datarim product clean.
v2.26.0
Previous 29 мая 2026-
FEAT
KB data-loss resilience. Every overwrite of a critical knowledge-base file (
backlog.md,backlog-archive.md,tasks.md,activeContext.md,progress.md) now triggers a fail-soft pre-overwrite backup todatarim/.backups/<file>.<timestamp>.bak(FIFO rotation, default 10). Enforced at the PreToolUse hook so it catches both the Write tool andawk/tee/>redirect overwrites — the exact incident class that once zeroed a live backlog. Backups are git- and sync-ignored host-local recovery ground-truth. -
FEAT
Unified path resolver. A single canonical
resolve-datarim-root.shreplaces three divergent walk-up re-implementations.--rootnow means the repo-root everywhere (the doctor previously meant thedatarim/dir — the mismatch silently suppressed the docs→history migration through the pipeline). A nesting guard rejects an already-nested root, eliminating thedatarim/datarim/directory class. A one-release shim normalises the legacy datarim-dir argument and warns. -
FEAT
Recovery how-to. New
docs/how-to/recover-datarim-files.mddocuments the per-file source-of-truth priority chain (backup → sync-conflict → task artefacts → archive frontmatter → transcripts) and thedatarim-doctor --fixrepair recipe. -
CHANGE
Consumer-KB log storage retired the misleading
datarim/docs/directory. Append-only ledgers now live in the honestly-nameddatarim/history/, committed to git via a.gitignorenegation block.datarim-doctor.sh --fix(or--scope=history) migrates the ledgers, relocates any ADR todocumentation/architecture/, rewrites the consumer.gitignore, and removes the emptydocs/— idempotently and losslessly. Auto-heals on/dr-init. -
NOTES
The framework source-tree
code/datarim/docs/is unchanged — only consumer knowledge bases migrate. Six new regression suites cover the resolver, backup primitive, nesting guard, doctor --root contract, hook backup, and the migration. Bash-redirect backup detection is best-effort (literal targets); obfuscated redirects are out of scope.
v2.24.0
28 мая 2026- CHANGE Исторический Coworker guard оценивал объём чтения по байтам и типу файла вместо количества строк. Верхний предел направлял к поиску по фрагментам, а чтение небольшого Git blob отделялось от объёмного diff. Эта интеграция позднее была удалена в 3.x.
v2.23.0
Previous 28 мая 2026-
FEAT
Canonical Runtime Support Matrix. New
§ Runtime supportindocs/use-cases.mddocuments the three supported runtimes with a 5-column matrix (Runtime / Install command / Hook integration / Bulk-read economy via RTK / Status). Claude Code stays primary; Codex CLI achieves parity through thecoworker rtkshim; Cursor reaches parity through its nativebeforeShellExecutionhook (rtk hook cursorin~/.cursor/hooks.json). The earlier «no native hook / inherits via shared settings.json» framing was inaccurate and is replaced across all shipped surfaces. README.md, CLAUDE.md, docs/getting-started.md, and the Coworker README all link back to the canonical matrix as single source of truth. -
FEAT
RTK realities documented.
templates/coworker-delegation-fragment.md§ RTK plugin (opt-in) gains a paragraph on out-of-boxrtkpitfalls — measured impact on macOS (git status+108%,git log --oneline -50+6924%, lostgit pushcompletion marker on some repos) per upstream issue rtk-ai/rtk#2121 — and contrasts the raw binary with thecoworker rtkplugin, which guards 13 signal-bearing git/gh commands via a default passthrough allowlist while still applying bulk-read economy to log dumps and file content reads. Multi-runtime parity preserved via the bundled Codex CLI shim. -
CHANGE
Skill / command counts corrected. CLAUDE.md and README.md updated from stale «45 skills, 23 commands core + 1 plugin» to live inventory «55 skills, 11 with supporting fragment directories; 24 commands core + 1 plugin». Drift accumulated across the <TASK-ID> universal skill-layout migration through v2.22.0.
The data catalogues on this site (
data/skills/,data/commands/,data/agents/) are also fully resynced to the live inventory under the same release. -
CHANGE
Multi-agent narrative honest.
docs/getting-started.md § Choose your runtimerewritten to enumerate Claude Code / Codex CLI / Cursor with full 3-runtime RTK parity (Cursor via its nativebeforeShellExecutionhook) and explicit guidance on picking a runtime.install.sh --with-cursornow appears in the install command block alongside--with-claudeand--with-codex. -
NOTES
CHANGELOG.md gained both the v2.23.0 entry and a retroactive v2.22.0 entry (the latter was missed at v2.22.0 release time even though VERSION had been bumped). Verification:
grep -c '2\.22\.0' CLAUDE.md README.md VERSION→ 0 hits in any shipped file;scripts/check-doc-refs.sh --root .zero delta vs pre-task baseline.
v2.22.0
Previous 26 мая 2026-
FEAT
Outsider-friendly English instruction surface (<TASK-ID> epic: <TASK-ID> Wave 1 + <TASK-ID> Wave 2 + <TASK-ID> Wave 3). 164 files of shipped instruction surface (
commands/+skills/+agents/+ framework root + plugin tree) rewritten from Russian-heavy jargon-dense prose to outsider-friendly English with first-use gloss for every framework term-of-art. The shipped surface now reads end-to-end for a developer who has never seen Datarim. -
FEAT
New validator:
check-jargon-gloss.sh(V-AC-5). POSIX bash validator + manifestdev-tools/data/jargon-bank.txt(10 canonical terms — FB-1..8, Question Suppression Ladder, L1 Inline Resolution Rule, autonomous-ops, V-AC, AAL, Diátaxis, Class A/B gate, hard-gated, fail-soft). Enforces inline gloss or one-click link on first use per file. 7 bats cases, shellcheck clean. -
CHANGE
/dr-archivebody-english gate: advisory → fail-hard. Step 0.5(e) now blocks archive with non-zero exit when Cyrillic appears incommands//skills//agents//plugins/without an explicit allowlist marker (<!-- allow-non-ascii: <reason ≥10ch> -->per line or block-scope). Allowlist markers reserved for cases where the skill's meaning literally requires the foreign-language string (content-work skills, canonical schema names cited verbatim). -
FEAT
English-Only Shipped Instruction Surface mandate. Canonical text encoded in four CLAUDE.md surfaces (global, Arcanada ecosystem, Datarim project root, framework
code/datarim/CLAUDE.md). Operator clarification «инструкции не могут содержать русские слова, если это не требует смысл скила» now lives as canonical rule, not just a feedback-memory note. -
FEAT
init-task Q&A round-trip: third disposition
process-rule-artefact(<TASK-ID>).dev-tools/append-init-task-qa.sh --decided-by process-rule-artefactcaptures mid-task operator clarifications that produce persisted rule documents (memory + CLAUDE.md additions) as first-class append-log entries. NewProcess-rule artefacts:sub-heading replaces the standard rationale block. Validation: rationale must contain at least one path-like token. 6 bats cases green, backwards compatible withoperatorandagentdispositions. -
FEAT
V-AC axis-split skill — Pattern 2: gate-activation axis dry-run.
skills/v-ac-axis-split/SKILL.mdgrows a second pattern: validator-activation tasks must dry-run-size their gate--scopeduring/dr-planComponent Breakdown. PRD Out-of-Scope deferrals under the same scope are self-blocking at/dr-archivetime and must be resolved as either in-task rewrite or documented--scopereduction. -
NOTES
Test coverage: 22 bats cases for body-english + jargon-gloss validators (15+7), 6 for the new Q&A disposition. shellcheck clean on new and modified scripts.
check-body-english.sh --scope commands,skills,agents,pluginsPASS over 162 files;check-jargon-gloss.shPASS over 162 files.
v2.21.0
25 мая 2026- CHANGE Навыки переведены в переносимый формат skills/<name>/SKILL.md; соседние ссылки и нейтральные метаданные моделей проверяются отдельными инструментами. Добавлены адаптеры обнаружения для клиентов того времени; прежняя установка в домашнюю папку позднее заменена проектной в 3.x.
v2.19.0
24 мая 2026- CHANGE Появился /dr-auto: продолжение существующей задачи или запуск цикла по текстовой просьбе. Команда включает правила автономной работы, устраняет небольшие пробелы в пределах задачи и сохраняет границы действий, требующих отдельного разрешения.
v2.14.0
Previous 22 мая 2026-
FEAT
Business-facing archive and compliance report contract (<TASK-ID>). The archive and
/dr-compliancereport templates now answer the operator's question «что я просил и что вы сделали» in plain Russian, in four mandatory top-level sections in strict order — «Начальная задача», «Как решили», «Артефакты задачи», «Следующие шаги» — followed by an audit addendum under a---horizontal rule that carries the technical surface (verification_outcomemirror, AC table, lessons learned, operator handoff, related). -
FEAT
«Как решили» bullet-list contract. Single-level bullet list. One bullet per item in the operator brief, in original order, with quoted item + Russian status word («выполнено» / «частично» / «не выполнено» / «неприменимо» — never the schema enum
met/partial/missed/n-a) + one or two plain-language sentences. Expectations fromtasks/{ID}-expectations.mdfold into the same list with marker «(уточнение брифа)». The previous top-level## Выполнение ожиданий оператораheading is retired. -
FEAT
New canonical
templates/compliance-report-template.md. Mirror of the archive shape (four operator-facing top sections + audit addendum carrying the 7-step verdict table wrapped in<!-- gate:literal -->, remaining risks, related links). Frontmatter:task_id,date,verdict(COMPLIANT / COMPLIANT_WITH_NOTES / NON-COMPLIANT), optionalscope. -
FEAT
New
dev-tools/check-banlist-on-prose.shvalidator. Bash wrapper does argparse + path-traversal regex (^[A-Za-z0-9._/-]+\.md$). Awk one-shot skips YAML frontmatter (first---block) and honours<!-- gate:literal -->+<!-- gate:example-only -->fence markers; tokenises ASCII tokens of length ≥ 3, lowercases, looks upskills/human-summary/whitelist.txtthenskills/human-summary/banlist.txt. Exit 0 clean / 1 offences (file:line:token) / 2 usage.shellcheck -S warningclean. -
CHANGE
Sync of
commands/dr-archive.mdStep 2,commands/dr-compliance.mdStep 7,skills/compliance.md§ Output,skills/human-summary.md§ See also. The four-section + audit-addendum contract is the single source of truth across the command, the skill and the templates. The 7-step compliance verdict table is wrapped in<!-- gate:literal -->so English column headings bypass the banlist on the prose body. Existing archive documents underdocumentation/archive/are grandfathered. -
NOTES
New:
tests/tune-0255-archive-business-structure.bats(10 cases) +tests/tune-0255-compliance-template-shape.bats(4 cases). Retired:tests/tune-0210-archive-expectations-section.bats(T6–T10 ported into the <TASK-ID> suite, T1–T5 retired with the heading removal). Validator passes on both new templates. Regression bats (init-archive-structural-guards,archive-contract-lint) stay green. The pre-existing baselinetask-id-gate+description-length+workflow-lintfailures persist (not introduced by this release).
v2.13.0
Previous 21 мая 2026-
FEAT
Per-task stage snapshots (<TASK-ID>). Every
/dr-*command now persists its final operator-visible response (Summary + Gate Results + CTA) todatarim/snapshots/{TASK-ID}.snapshot.mdwith overwrite semantics, 8 KB hard cap, mkdir-based atomic lock andchmod 600. Producer side wired through a single touchpoint:skills/cta-format.md§ Snapshot Emission — no per-command patches. -
FEAT
Snapshot-First context resume.
/dr-next {TASK-ID}(formerly/dr-continue) Step 2.5 reads the snapshot before task-description / init-task / activeContext and emits a replay-prompt with the recommended CTA, a bilingual autonomy reminder (RU + EN), and a literaldone before:body./dr-orchestrateSnapshot-First Resume forwardsrecommended_nexttosubagent_resolver.shas--hint. Missing or malformed snapshot → silent fallback to legacy behaviour. -
FEAT
Archive lifecycle.
/dr-archiveStep 0.95 moves the final snapshot fromdatarim/snapshots/todocumentation/archive/<subdir>/snapshots/{TASK-ID}-final-stage.mdvia the existingprefix_to_area()resolver — final stage stays grep-able in the long-term archive. -
FEAT
Two new skills + validator + how-to.
skills/stage-snapshot-writer.md(producer contract) +skills/dr-next-snapshot-replay.md(formerlyskills/dr-continue-snapshot-replay.md, consumer contract with ≥ 3 worked examples of the CTA-selection heuristic) +scripts/lib/snapshot-writer.sh+dev-tools/check-stage-snapshot-on-exit.sh+docs/how-to/stage-snapshots.md(Diátaxis how-to category bootstrapped). Kill switch:DATARIM_DISABLE_SNAPSHOT=1. -
NOTES
44 new bats cases across 10 suites (exceeds the 22+ plan target): writer overwrite + size cap + frontmatter schema + shellcheck + flock race + cta-format integration + dr-continue / dr-orchestrate replay + cleanup-on-archive + prefix-to-subdir cross-check.
cta-format.batsregression unchanged green. Stack-agnostic gate PASS; task-id gate PASS;shellcheck -S warningclean on both new shell artefacts.
v2.11.1
16 мая 2026- CHANGE Черновик PRD получает рекомендательную проверку условий приёмки на конфликт с правилами публичных материалов. Предупреждение не изменяет документ и не считается блокирующей проверкой.
v2.11.0
Previous 16 мая 2026-
FEAT
Agent autonomy restored on
/dr-initand/dr-archive. Symmetric revert of the operator-only contract introduced in 2.10.0 per the FB-rules (Autonomous Agent Operating Rules) mandate. Removed thedisable-model-invocation: truefrontmatter flag, the 🔒 lock-emoji in command H1 and table rows, the Operator-only marker blockquotes (rewritten as neutral «Contract» blockquotes that name the in-code guards), the planner / compliance STOP-rule paragraphs, thecta-format § Operator-only commandssection with its 🔒 badge convention, and the pipeline-routing MermaidclassDef operatorOnlystyling on both lifecycle commands. -
FEAT
Structural guards stay enforced in code. The
pre-archive-check.shschema gate + staged-diff audit at/dr-archiveStep 0.1, thedatarim-doctor.sh --quietprobe at/dr-initStep 2.4, the blob-swap recipe for non-interactive shells, the prefix → archive-subdir routing, and the Operator Handoff section template intemplates/archive-template.mdare all unchanged. Relaxation touches only the discovery layer (Skill enumeration) and cosmetic surfaces — never the data-integrity protections. -
FEAT
Inverted regression bats.
tests/operator-only-commands.batsrenamed totests/no-operator-only-on-init-archive.batswith all 13 assertions inverted from «marker present» to «marker absent». Preserves git-history signal that the contract once existed and fires red if it ever drifts back in. Continuity for CI artefact tracking (bats count stable). -
FEAT
New structural-guards regression bats.
tests/init-archive-structural-guards.bats(9 invariants) locks the in-code guards listed above —pre-archive-check.sh≥ 3 references indr-archive.md,datarim-doctor.shindr-init.md, PRE-ARCHIVE CLEAN-GIT CHECK header, blob-swap recipe, Archive Area Mapping, Operator Handoff section reference, STRUCTURAL COMPLIANCE CHECK, WORKSPACE CROSS-TASK HYGIENE CHECK, and the Operator Handoff section template inarchive-template.md. -
NOTES
Stack-agnostic gate PASS on touched files; task-id gate PASS; bats green (640/640 — baseline 631 + 9 new structural-guards invariants);
scripts/datarim-doctor.sh --quietexit 0. Supersedes <TASK-ID>. Single-commit reversible viagit revert.
v2.9.0
Previous 14 мая 2026-
FEAT
Init-task Q&A auto-append. Every operator clarification round captured by a pipeline command now lands in
tasks/{TASK-ID}-init-task.md § Append-logas a structured block — verbatim question, verbatim answer, one-line summary, and aDecided by: operator|agentmarker. When the operator does not answer, the agent decides autonomously per the Autonomous Agent Operating Rules (FB-1..FB-5) and records a ≥ 50-character rationale in the same block. Six pipeline commands write the block viadev-tools/append-init-task-qa.shat a newAPPEND Q&A IF ANYstep (/dr-prd,/dr-plan,/dr-design,/dr-do,/dr-qa,/dr-compliance)./dr-initand/dr-archivestay read-only by contract. Backwards-compatible: tasks without an init-task file are not blocked. -
FEAT
Extended skill
init-task-persistence. New## Q&A round-trip contractsection defines the block format (five mandatory subheadings — Question, Answer, Decided by, Summary, Conflict with existing wish; sixth Decision rationale ≥ 50 chars when decided_by is agent), theoperator|agentdecision-author enum, conflict-routing rules (Conflict with existing wish → return task via/dr-do --focus-items <wish_id>or/dr-prd), and the legacy fallback for tasks without an init-task file. -
FEAT
New utility
dev-tools/append-init-task-qa.sh. Atomic Q&A block append with mkdir-based per-task lock (macOS-portable, no flock assumption), temp-file +mvwrite, realpath boundary check (target MUST resolve insidedatarim/tasks/), 100 KB per-file size cap (DATARIM_QA_MAX_INPUT_BYTES), and Security Mandate § S1 file-only free-form input contract (no operator text as literal CLI strings). Exit codes 0 / 1 / 2 (appended / IO / usage). -
FEAT
Extended validator
dev-tools/check-init-task-presence.sh. Newvalidate_qa_blocksawk pass detects### <ISO> — Q&A by /dr-<stage> (round N)headings, asserts five mandatory subheadings, allowedDecided byenum, and ≥ 50-charDecision rationalebody whenDecided by: agent. Backwards-compatible: init-task files without Q&A blocks continue to pass. -
FEAT
/dr-qaLayer 3b gains a Q&A round-trip verification sub-section. Two checks: agent-decision implementation grep (everyDecided by: agentblock must be reflected in changed files / task description / archive draft — unreflected raises Layer 3b FAIL, operator-overridable) and Conflict closure verification (everyConflict with existing wish: <wish_id>block must have a matching closure entry — unclosed raises Layer 3b BLOCKED and routes the task back to/dr-do --focus-items <wish_id>). Both checks fail-soft when no Q&A blocks exist. -
NOTES
Stack-agnostic gate PASS;
shellcheckzero on the new utility and the extended validator; bats green (18 newtune-0216-qa-roundtripcases on top of the 570-case v2.8.0 baseline; legacy 13 init-task cases unchanged).
v2.8.0
14 мая 2026-
FEAT
Operator-memory pipeline upgrade. Seven related improvements ship under one umbrella: «remember what the operator asked for, across the full pipeline». Verbatim init-task persistence, operator wishlist with verification gate, browser-based frontend QA, plain-language operator recap across three commands, archive section that mirrors the wishlist outcome, refreshed visual maps, and a coherent docs/site fanout. Backwards-compatible for legacy tasks via a 30-day rolling soft window; new gates default to
info-severity advisories that never block legacy pipelines. -
FEAT
Init-task persistence (F1). Every
/dr-initwrites a per-taskinit-task.mdwith closed-schema frontmatter and a verbatim## Operator briefsection. Every later pipeline command reads it at first step; divergences from operator intent land in the task-description Implementation Notes. New validatordev-tools/check-init-task-presence.shwith--task/--allmodes and a 30-day rolling soft window (info < 30 d, warn ≥ 30 d, never blocker for legacy tasks). 13 bats cases. -
FEAT
Expectations checklist + verification gate (F2 + F3).
/dr-prd(L3-L4) and/dr-plan(L2 without PRD) write an operator-readable wishlist in plain Russian — kebab-slug wish_id (cyrillic allowed), История статусов running log, Текущий статус enum, optional override line ≥ 10 chars./dr-qaLayer 3b and/dr-complianceStep 5b verify the checklist; missed items without operator override route the task back to/dr-do --focus-items <wish_ids>via the FAIL-Routing CTA. New validatordev-tools/check-expectations-checklist.sh; cyrillic wish_ids round-trip through shell arguments safely. 16 + 8 bats cases. -
FEAT
Browser-based frontend QA (F4). When a task touches any frontend markup,
/dr-qaLayer 4f resolves an available browser tool (CLI → MCP → env-browser → none), acquires a per-task lock, opens the local dev surface, and writes screenshot + trace + summary intodatarim/qa/playwright-{TASK-ID}/run-<ISO-ts>/. Skipped silently for non-frontend tasks. Three headed modes: default headless, lenient--headed(no display ⇒ finding + fall through), strict--headed-strict(no display ⇒ exit 2). New detectordev-tools/detect-playwright-tooling.sh; mkdir-fallback lock; path-traversal guard. 15 bats cases. -
FEAT
Plain-language reports across all three operator-facing commands (F5, absorbs the standalone preview from v2.7.0).
/dr-qa,/dr-compliance, and/dr-archiveend with a four-sub-section recap («Что было сделано» / «Что получилось» / «Что не получилось / осталось открытым» / «Что дальше») between the technical block and the next-step block. Anglicism banlist (around 50 ASCII tokens) + universal-term whitelist (around 30 terms —JSON,OAuth,HTTP,CLI,RFC,CI/CD, …) + per-paragraph<!-- gate:literal -->escape hatch (≤ 2 fenced paragraphs per recap). Severity ladder: 1st offence ⇒ info, 3rd ⇒ warn, 5th ⇒ block. Archive documents written before this contract are grandfathered and never re-validated. 24 bats cases. -
FEAT
Archive expectations section (F6). Every archive document carries a new
## Выполнение ожиданий оператораsection between Final Acceptance Criteria and Known Outstanding State / Operator Handoff. Each wish from the expectations checklist is rendered as a single-level bullet with the plain-language status word (выполнено / частично / не выполнено / неприменимо — never the raw schema enum) plus one or two sentences of comment sourced from the most recent История статусов reason. No tables; banlist applies; missing expectations file ⇒ explicit «Чек-лист ожиданий не заводился» line preserves the canonical archive shape. 10 bats cases. -
FEAT
Visual maps refreshed (F7). The fragment-index visual maps gain three new artefact nodes (
init-task,expectations,playwright-run) in a new «Artifact Flow Across the Pipeline» Mermaid diagram, four new skill nodes (init-task-persistence,expectations-checklist,playwright-qa,human-summary) in the Agent ↔ Skill dependency graph, and Layer 3b + Layer 4f branches in the/dr-qastage flow. 18 bats cases. -
FEAT
Skill count: 41 → 45. Four new operator-facing skills ship:
init-task-persistence,expectations-checklist,playwright-qa,human-summary. All consumer surfaces (CLAUDE.md, README.md, docs/skills.md, public site) brought to the same count. -
NOTES
Stack-agnostic gate PASS; gate sweeps green;
shellcheckzero on new shell tools; security gates green. Bats green (13 + 16 + 8 + 15 + 24 + 10 + 18 = 104 new cases, on top of 466 existing — 570 total, 565 passing with 5 pre-existing failures unrelated to this release).
v2.7.0
13 мая 2026-
FEAT
Topic-overlap advisory in
/dr-initStep 2.5b. A non-blocking check compares the fresh task description against the pending backlog and surfaces any item that shares ≥2 keyword stems. RU + EN tokenisation, hand-curated stopwords, crude suffix stemmer — Python 3 stdlib only, no pip dependencies. Operator picks duplicate / refine-scope / orthogonal before committing to a new task ID. Exit 0 by contract — pipeline ordering unchanged. -
FEAT
dev-tools/check-topic-overlap.py— top-N significant stems against pending backlog titles;text(default) andjsonoutput formats;--include-statusflag for pilots that need to scanin_progressitems too. -
FEAT
dev-tools/data/stopwords-{en,ru}.txt— ≥200 entries per language, including Datarim domain noise. -
FEAT
commands/dr-init.md— Step 2.5b inserted after the workspace-hygiene check. Skips silently whenpython3is absent, the backlog has no pending items, or the detector is missing on an older install. -
FEAT
tests/dr-init-topic-overlap.bats+...-fp-budget.bats+...-latency.bats— PRD cases a/b/c, FP rate <10%, TP rate ≥4/5, ≤300 ms on a 500-item synthetic backlog. -
FEAT
Human-readable operator summary at the end of
/dr-complianceand/dr-archive. A new skill defines a 4-sub-section recap (what was done / what worked / what didn't work or is still open / what's next) that both operator-facing commands now emit between their technical block (verdict / archive write) and the CTA block. The recap follows the operator's most recent message language (Russian default for Arcanada consumers, English otherwise), bans tables and jargon, and is capped at 150–400 words. The technical output is unchanged. -
FEAT
skills/human-summary.md— contract: 4 fixed sub-headings, length budget 150–400 words, anti-patterns (tables, English loanwords in Russian text, bare task IDs, multi-level nested lists, acronyms without expansion, emoji, mixed-language summaries), RU and EN mini-examples. -
FEAT
commands/dr-compliance.mdStep 8 — HUMAN SUMMARY. Runs on every verdict; on NON-COMPLIANT the «what didn't work» sub-section carries the failure detail in plain language and «what's next» mirrors the FAIL-Routing CTA without command syntax. -
FEAT
commands/dr-archive.mdStep 8 — HUMAN SUMMARY. Sourced from the just-written archive document plus the reflection file. Chat-only — archive and reflection are not mutated. -
FEAT
tests/test-human-summary-contract.bats— 9 spec-regression tests guarding skill existence, four mandated sub-headings, RU+EN mini-examples, length budget declaration, and cross-references from both commands. - NOTES Stack-agnostic gate PASS; task-id gate PASS; bats green (topic-overlap 6/6 + human-summary 9/9).
v2.6.1
12 мая 2026- CHANGE /dr-doctor распознаёт составные идентификаторы и дополнительные старые форматы. Архивный комментарий удаляется только при проверенном архивном документе; ошибочно размещённый Backlog сохраняется для ручного исправления.
v2.3.0
11 мая 2026-
FEAT
First non-core plugin:
dr-orchestratePhase 1, a lean tmux runner for advancing a Datarim pipeline one bounded step at a time. - SECURITY Fail-closed input floor with a character allowlist, terminal-escape rejection, two cooldown layers, and a temporary pane block after repeated violations.
- SECURITY Operator configuration stays outside git with mode-0600 enforcement. Audit events store a SHA-256 digest of matched pane text instead of the raw text.
- TEST Six Bats suites cover the runner, tmux management, parser, security controls, audit sink, and plugin registration. Key injection remains disabled until the operator opts in.
v2.2.0
10 мая 2026-
FEAT
<TASK-ID> —
skills/diataxis-docs.md(NEW). Documentation Taxonomy Mandate: 4 closed Diátaxis categories —tutorials/(learning),how-to/(problem-solving),reference/(lookup),explanation/(understanding). Closed mapping table covers architecture / testing / deployment / gotchas / api / cli / config / faq / glossary / troubleshooting / examples. 6 anti-patterns explicitly forbidden. Stack-agnostic (no SSG/CMS lock-in). -
FEAT
<TASK-ID> —
templates/docs-diataxis/{tutorials,how-to,reference,explanation}/README.md(NEW, 4 stub files). Per-category onboarding stubs ("when to write here" / "when NOT to write here" / naming convention) used by/dr-initproject scaffolding. -
FEAT
<TASK-ID> —
/dr-optimizeStep 6 docs-drift detector (commands/dr-optimize.md). Filesystem-presence + threshold ≥3 docs check (Bash, exemption-aware). On drift proposesINFRA-* — Diátaxis docs reorg для <repo>in backlog. Soft warning only; hard CI gate intentionally deferred to a separate backlog item, trigger: ≥3 live consumers post-mandate (same detector flips toexit 1). -
CHANGE
<TASK-ID> —
skills/project-init.mdStep 4. Scaffold default replaces flatdocs/{architecture,testing,deployment,gotchas}.mdwithdocs/{tutorials,how-to,reference,explanation}/4-category split. Legacy stubs auto-mapped per skill mapping table: testing/deployment/gotchas →how-to/, architecture →reference/. Backwards-compat smooth (idempotency rule preserves existing files; never overwrite). -
CHANGE
<TASK-ID> —
code/datarim/CLAUDE.md§ Documentation Taxonomy Mandate (NEW section, between Security Mandate and Defensive Invariants). Consumer workspaceCLAUDE.md§ Documentation Taxonomy Mandate added (after Operational Resilience). Both sections point toskills/diataxis-docs.mdas single source of truth. -
DOCS
<TASK-ID> — Public-surface sync:
data/skills/diataxis-docs.phpNEW (EN+RU),config.php2.1.0 → 2.2.0,pages/getting-started.phpDiátaxis project-scaffolding section,pages/home.php+content/{en,ru}.phpstats counts swept skills 39 → 40, frameworkdocs/skills.md+docs/getting-started.md+README.md+ project-level CLAUDE.md/README.md updated. -
CHANGE
<TASK-ID> reframed as first consumer of <TASK-ID> mandate.
datarim.clubremains pilot site for live deployment of the 4-category taxonomy. - NOTES v2.2.0 cumulative — Class B (operating-model / contract change). PRD-<TASK-ID> ratifies the mandate; comparative analysis vs Google dev docs / Write the Docs / Microsoft Concept-Task-Reference / "no mandate" / "discoverability lint only" alternatives recorded for first time. Hard CI gate deliberately deferred — empirical drift data first.
v2.1.0
10 мая 2026-
FEAT
<TASK-ID> —
/dr-verifytri-layer architecture (v2). Layer 1 deterministic floor (dev-tools/dr-verify-floor.sh, shell pipeline, zero LLM cost) + Layer 2 cross-model peer-review (DeepSeek default viacoworker, ~14× cheaper than Sonnet, clean external context — no self-agreement bias) + Layer 3 native runtime dispatch (Claude 3-agent canonical; Codex single-prompt demoted to[experimental]fallback). Findings carry explicitsource_layertag for tri-layer provenance and dedupe. -
FEAT
<TASK-ID> — New
--floor-only+--peer-provider={deepseek,groq,openrouter,...}flags on/dr-verify.--task-idpropagation MANDATORY at Layer 2 — without it downstream token-cost / prospective-rate tooling cannot filter logs by task. -
FEAT
<TASK-ID> — Canonical archive frontmatter template
templates/archive-template.md(NEW). Addsverification_outcomeblock schema (caught_by_verify,missed_by_verify,false_positive,n_a,dogfood_window) — single source of truth for prospective dogfood measurement./dr-archiveStep 2 instructs operator to fill the block. -
FEAT
<TASK-ID> — Token-cost tooling:
dev-tools/measure-invocation-token-cost.sh(per-task aggregation from~/.local/state/coworker/log/<YYYY-MM-DD>.jsonl, OpenTelemetry-style dotted keys, provider breakdown) +dev-tools/measure-prospective-rate.sh(archive frontmatter aggregator, computescaught_per_5_taskswithdecision_hint). Oldmeasure-verify-cost.shdeprecated side-by-side (broken parser shape against current coworker log format). -
FEAT
<TASK-ID> —
/dr-verifyprovider auto-resolution chain (zero-flag UX). New helperdev-tools/resolve-peer-provider.shimplements a 6-step chain: CLI flag → per-project./datarim/config.yaml→ per-user XDG~/.config/datarim/config.yaml→ coworker--profile codedefault → cross-Claude-family subagent fallback → same-model isolated last resort./dr-verify {TASK-ID}now runs end-to-end without an explicit--peer-providerflag. -
FEAT
<TASK-ID> — Cross-Claude-family fallback. New
agents/peer-reviewer.mdSonnet-tier subagent dispatched at chain step #5 in clean isolated context. Covered by Claude subscription, no per-user external API key required. New 3-tierpeer_review_modetaxonomy:cross_vendor/cross_claude_family/same_model_isolated. -
FEAT
<TASK-ID> —
templates/datarim-config.yaml(NEW). Per-project datarim-config schema (peer-review provider, cost cap, AAL targets, runtime preferences). Whitelistdeepseek | moonshot | openrouter | sonnet | haiku | opus | noneblocks malicious-PR typosquat injection at parse time (exit 1 on unknown). -
FEAT
<TASK-ID> — JSONL emission discipline (Layer 2 reviewer prompts).
skills/self-verification.md§ Layer 2 mandates suppression of PASS-as-finding entries: findings array carries only defects or incorrect-premise items. Confirmations compress into final-line summary{cleared_iter1: [...], total_new_findings: N}. -
FEAT
<TASK-ID> —
/dr-planStep 6.5 extension. PRD AC verification commands smoke-checked at plan time against the implemented CLI surface (or pre-implementation skeleton). AC ↔ V-AC semantic match check ensures Validation Checklist rows verify what the AC actually asserts, not just verbatim mirror the AC number. -
FEAT
<TASK-ID> — Per-mode rate aggregation in
dev-tools/measure-prospective-rate.sh. Emitscross_vendor_rate,cross_claude_family_rate,same_model_isolated_ratekeys for per-mode dogfood measurement. -
CHANGE
<TASK-ID> — Brand-hygiene cleanup. Active runtime cross-references to external
superpowers:*skill namespace replaced with local Datarim skill names inskills/systematic-debugging.md(3 refs) andskills/finishing-a-development-branch.md(2 refs). External worktree-manager path-interop strings (~/.config/superpowers/worktrees/) removed from cleanup-eligibility list — Datarim runtime owns only.worktrees/andworktrees/. Lineage from v2.0.0 absorption preserved unchanged in CHANGELOG / PRDs / docs (MIT attribution). -
FEAT
<TASK-ID> —
/dr-planPhase 4 architectural-superseding probe. Mandatory first sub-step before component breakdown: read archives referenced viaSpawned from/Source:and answer whether the architectural problem is already solved by a sibling task. A 30-second grep at planning time prevents dedicated-host plans for problems already absorbed elsewhere. -
FEAT
<TASK-ID> follow-up —
skills/evolution.md§ Pattern: Split-Architecture Metrics for Absorption Tasks. Aggregate token budgets fail when absorption adds on-demand files; replaced with idle hot-path + per-existing-file + on-demand-exempt buckets. -
FEAT
<TASK-ID> —
skills/ai-quality.md§ Pipeline-Position-Aware AC Formulation. When AC asserts HTTP status, trace request through full middleware/filter chain; if status is downstream of any validator, phrase as semantic gate, not literal status. -
FEAT
<TASK-ID> —
skills/testing.md§ Reporting Test Counts in Audit Output. QA/Compliance MUST derive per-spec test counts via mechanical extractor (framework-neutral).skills/compliance.mdStep 7 — stale-base merge-result gate: simulate 3-way merge viagit merge-treebefore flagging a regression from PR diff vs base. -
FEAT
<TASK-ID> —
agents/developer.mdresilience-pattern defaults. Circuit-breakererrorFilter: 4xx excluded except 408/429 (downstream pressure signals); breaker.close → self-heal observability event with explicit listener-binding enumeration. L3–L4 tasks: post-final-TDD design-conformance audit listing every event/lifecycle binding against the referenced ADR. -
DOCS
<TASK-ID> + <TASK-ID> — Public-surface ↔ runtime sync (5-way):
data/commands/dr-verify.php+data/agents/peer-reviewer.php(NEW EN+RU),code/datarim/docs/commands.mdrow,docs/agents.mdroster (peer-reviewer added), framework CLAUDE.md /dr-verify rewrite + agent table, README.md feature mention. Counts swept: agents 17→18, skills 27→39, commands 20→22, templates 18→23. -
NOTES
v2.1.0 cumulative — Class B-lite additive (no breaking changes). <TASK-ID> inherits scope from <TASK-ID> v1 → v2 PRD revision; <TASK-ID> extends without contract change. Findings-only mode preserved at all layers — no auto-fix added. Cross-Claude-family dispatch is first measured tier: empirical bias delta vs same-model self-critique remains under observation in the active dogfood window. Codex CLI degraded mode (
CODEX_RUNTIME=1): chain step #5 skipped, step #6 taken with stderr WARN propagated to audit-log.
v2.0.0
9 мая 2026-
FEAT
<TASK-ID> — Multi-runtime framework (Claude + Codex). New
install.shflag-based architecture:--with-claude,--with-codex,--project DIR,--yes,--dry-run,--force(no flags = print help). Shim creation: install.sh creates~/.claude/or~/.codex/directories even without runtime binary.--project DIRcopy mode rejects system paths (/etc,/usr,/bin,/sbin,/System) with exit 3. Lockfile~/.${runtime}/.install.lockblocks concurrent runs. -
FEAT
<TASK-ID> —
AGENTS.mdsymlink →CLAUDE.md. Codex CLI and other runtimes that readAGENTS.mdby convention work out of the box, no build step or fork required. -
FEAT
<TASK-ID> — 14 superpowers skills absorbed. 4 verbatim ports (
finishing-a-development-branch,receiving-code-review,systematic-debugging,verification-before-completion); 8 intent-layer rewrites (brainstorming,dispatching-parallel-agents,executing-plans,requesting-code-review,subagent-driven-development,using-git-worktrees,writing-plans,writing-skills) — Claude tool literals (Task()/TodoWrite()/<system-reminder>) replaced with functional prose for runtime-agnostic readability; 2 merges (test-driven-development→testing.md§ Discipline;using-superpowers→datarim-system.md§ Skill Discovery). -
FEAT
<TASK-ID> — Per-skill
runtime: [claude, codex]+current_aal/target_aalfrontmatter on all 38 top-level skills. Classification per AAL Mandate: human-driven idea/design tools 1/2; disciplined process gates 2/3; orchestration / execution-loop skills 2/4. New validatordev-tools/check-skill-frontmatter.sh. -
FEAT
<TASK-ID> — Token-budget regression gate
dev-tools/measure-skill-token-cost.sh. AC-4a idle hot-path:skills/datarim-system.md≤+16% chars vs v1.23.0 baseline (frozen as.datarim/baseline-v1.23.0.tokens). AC-4b per-existing-file: ≤+30% chars. AC-4c on-demand absorbed files exempt (loaded only when invoked). -
FEAT
<TASK-ID> —
CHANGELOG.mdKeep-a-Changelog format introduced; v2.0.0 entry covers full <TASK-ID> ship. -
DOCS
<TASK-ID> — Honest positioning: multi-runtime framework (Claude + Codex), not "vendor-neutral". Cursor / Goose / Aider — future milestones, not current scope. Codex disclaimer: experience may differ — no
Task/TodoWriteprimitives; intent-layer rewrites preserve runtime-agnostic readability. Public Surface Scan covers 12 files: README, CLAUDE.md, AGENTS.md, CHANGELOG, docs/*, Projects/Datarim/{README,CLAUDE}, datarim.club {config.php, content/{en,ru}.php, getting-started.php, changelog.php}, ~/.claude/CLAUDE.md global. -
CI
<TASK-ID> — 41 bats tests GREEN: 29/29
tests/install.bats(legacy invariants <TASK-ID>/0077/0091 preserved) + 12/12tests/install-tune-0114.bats(no-flags help, --with-claude/--with-codex/multi, --project happy + 3 system-path rejects + missing-arg, --dry-run x2, lockfile concurrency, legacy --copy WARN). -
NOTES
<TASK-ID> — No breaking changes for existing Claude installs. Refresh via
./install.sh --with-claude. Sub-tasks unblocked: <TASK-ID> (Adversarial Review skill split), <TASK-ID> (Diátaxis reorg), <TASK-ID> (/dr-status pull-mode), <TASK-ID> (Party Mode → Consilium-lite). Follow-ups spawned: <TASK-ID> (project-local evolution learning), <TASK-ID> (Module Manifest — separate task).
v1.24.0
7 мая 2026- FEAT <TASK-ID> — Secure-by-default Network Exposure Baseline. New skill `network-exposure-baseline.md` formalises a four-tier bind-target model (Tier 0 unix-socket / Tier 1 loopback / Tier 2 Tailscale CGNAT / Tier 3 public-with-justification). Tier 3 requires inline `x-exposure-justification` + `x-exposure-expires` (≤90 days). Public-by-default = breach-by-default; loopback/Tailscale binds become the dev/prod default.
- FEAT <TASK-ID> — Verifier `dev-tools/network-exposure-check.sh` parses docker-compose ports, redis.conf bind, postgresql.conf listen_addresses, systemd `.socket` ListenStream and Dockerfile EXPOSE; emits text or SARIF. Tiered gate `dev-tools/network-exposure-gate.sh` reads task-description frontmatter (priority/type) and returns `hard_block` / `advisory_warn` / `skip`; missing/malformed frontmatter resolves fail-closed.
- FEAT <TASK-ID> — Pipeline integration: `/dr-prd`, `/dr-plan`, `/dr-do`, `/dr-archive` auto-load the skill on network-surface diffs; pre-commit gate in `/dr-do` (Step 8.5) blocks Tier 3 violations or requires `--skip-exposure-gate` override (advisory cases only) with an ops notification event + § Decisions note. Workspace `CLAUDE.md` § Backend Stack Standards + § CI/CD Convention updated with Tier model + mandatory lint workflow.
- CI <TASK-ID> — Reusable workflow `templates/network-exposure-lint.yml` (`workflow_call` with six contract inputs). Drop-in for any service repo; `lint failure ⇒ deploy blocked`. V-AC9 perf budget 30 s; combined run (compose+redis+postgres+systemd) measured p95 ≈ 0.14 s — ~200× headroom.
- TEST <TASK-ID> — 59/59 cumulative bats GREEN: 16 P1 verifier (boundary IPv4/IPv6, mapped IPv6, TTL, sub-second perf), 19 tiered-gate, 11 pipeline-command integration, 13 CI workflow integration (structural assertions + 4 fixture-repo simulated runs + V-AC9 perf assertion). actionlint + semgrep p/default + p/secrets + gitleaks all clean.
- SECURITY <TASK-ID> — Phase 4 audit of Arcanada-one repos surfaced three production violations spawned as <TASK-ID> (a transcription service PROD compose: `3700:3700` short-form, P0), <TASK-ID> (an auth service dev compose: postgres/redis/app loopback bind, P1), <TASK-ID> (an ops-bot dev compose: postgres/redis loopback bind, P1). Verifier capability gaps (env-interpolation defaults, `${TAILSCALE_IP}:PORT` recognition) tracked as <TASK-ID> / <TASK-ID>.
- DOCS <TASK-ID> — `getting-started.php` adds Network Exposure Baseline section (Tier model badges + local check + reusable CI workflow). Workspace + framework CLAUDE.md updated; data/skills/network-exposure-baseline.php published for site n-way sync.
v1.23.0
4 мая 2026-
FEAT
<TASK-ID> — Plugin System Core: opt-in plugin architecture for Datarim. New CLI `/dr-plugin {list,enable,disable,sync,doctor}` with manifest-driven runtime symlinks. Local plugin sources (absolute path) installed as namespaced symlinks under `~/.claude/{skills,agents,commands,templates}/
/`. Override mechanism allows root-position installation via `overrides:` field in `plugin.yaml`. `enabled-plugins.md` is the single source of truth for the active set; `dr-plugin sync` reconciles runtime against manifest (orphan removal, broken-symlink recreate, disabled-orphan restore). - FEAT <TASK-ID> — `dr-plugin doctor` ships with 9 health checks: manifest-syntax, inventory-consistency, broken-symlinks, orphan-files, override-integrity, dependency-graph (cycle/dangling DFS), git-state (uncommitted manifest), snapshot-cleanup (>30d), and skill-registry (frontmatter `name:` ↔ basename validation — closes the Skill-tool resolution gap surfaced in Round 4 dogfooding). `--fix` flag auto-repairs checks 2-5 via `cmd_sync` and check 8 via snapshot purge.
- SECURITY <TASK-ID> — Pre-mutation snapshot/rollback protocol on every `enable` (V-8). FIFO cap `DR_PLUGIN_SNAPSHOT_MAX=50`; age-based purge via `DR_PLUGIN_SNAPSHOT_AGE_DAYS=30`. Conflict pre-scan rejects symlink loops and cross-plugin shadowing. Critical-core overrides (`evolution`, `datarim-system`, `pre-archive-check`) emit operator-warning to stderr but allow (V-SEC-4). Path traversal, embedded credentials in URLs, and CRLF in YAML rejected at validation gate.
- TEST <TASK-ID> — `tests/dr-plugin.bats` 77/77 GREEN across Phases A-D (T1-T135). Coverage: ID/source validation, YAML parsing, list/enable/disable/sync/doctor flows, snapshot/restore, fault injection rollback, override integrity, dependency cycles, skill-registry frontmatter validation. shellcheck -S warning clean.
- DOCS <TASK-ID> — `commands/dr-plugin.md` slash-command spec, `templates/plugin.yaml.template` schema (schema_version 1), `templates/enabled-plugins.md.template` runtime manifest schema, README + CLAUDE.md + getting-started.md mention plugin system as opt-in extension mechanism. `data/commands/dr-plugin.php` site page (EN+RU).