Skip to content

Releases: VKambulov/research-mode

v0.5.0

22 Jun 19:58

Choose a tag to compare

English

v0.5.0 - 2026-06-22

  • Added structured output artifact contracts with
    working_memory.output_contract.outputs[], finalization.candidate_artifacts
    matching by explicit id, and delivery.outputs as the structured handoff.
    primary_file and attachments remain compatibility mirrors.
  • Added open provenance links with source_for and derived_from. Validation
    checks id reference integrity and contract/candidate agreement, but does not
    infer source/editable lineage from file extension, MIME type, filename, prose,
    content similarity, or list order.
  • Deprecated legacy single-output --deliverable-kind,
    working_memory.output_contract.kind, primary_deliverable_kind, and
    deliverable_decision for new tasks. They remain readable for old states.
  • Structured output finalization no longer requires
    finalization.primary_deliverable_kind, and consistency checks no longer use
    stale legacy format hints to flag valid delivery.outputs handoffs.
  • Added a minimal read-only reliability diagnostics foundation: optional
    state.reliability counters, summary/health/operator-attention surfacing,
    task-playbook visibility, and old-state compatibility tests.
  • Repeated identical completion-validation rejections now record reliability
    events and surface completion_validation_retry_loop as manual operator
    attention after the second repeat; a successful completion validation clears
    the active retry warning.
  • Comparative deliverable validation is now contract-driven: it runs only when
    working_memory.output_contract.quality_checks asks for a
    comparative_matrix, and it checks table shape rather than header language.
  • Finalization now rejects obvious primary-deliverable format mismatches, such
    as pdf_report pointing at Markdown, and delivery handoff mismatches surface
    as delivery_artifact_handoff_failed operator attention.
  • Failed delivery notifications can now carry optional provider-neutral
    diagnostics: error_code and sanitized provider_target_shape, with
    delivery_channel_addressing_failed surfaced in summary/health.
  • Finalization now records an optional deliverable_decision with selected,
    desired, and feasible user-facing formats. Desired format comes from
    working_memory.output_contract.kind or canonical
    finalization.primary_deliverable_kind; free-text deliverables and chat/thread
    context do not infer pdf_report.
  • queue-status now returns read-only queue findings for missing holder tasks,
    holder/task lock mismatches, stale waiters, and terminal tasks still present
    in waiters; task-specific queue findings also appear in health.
  • Added a deterministic reliability soak test for the finalization format
    decision path. Failed finalization findings now surface in health, so
    operators can see structured rework reasons such as
    output_contract_format_mismatch without reading raw state.
  • Removed the source skill-card.md after confirming ClawHub treats Skill Cards
    as generated registry artifacts and filters local copies during publish.

Русский

v0.5.0 - 2026-06-22

  • Добавлен structured output artifacts contract:
    working_memory.output_contract.outputs[], matching
    finalization.candidate_artifacts по явному id и delivery.outputs как
    structured handoff. primary_file и attachments остаются compatibility
    mirrors.
  • Добавлены открытые provenance-связи source_for и derived_from. Validation
    проверяет integrity id-ссылок и согласованность contract/candidate, но не
    выводит editable/source lineage из расширения, MIME, имени файла, prose,
    похожести текста или порядка в списке.
  • Legacy single-output поля --deliverable-kind,
    working_memory.output_contract.kind, primary_deliverable_kind и
    deliverable_decision помечены как deprecated для новых задач, но остаются
    читаемыми для старых states.
  • Structured output finalization больше не требует
    finalization.primary_deliverable_kind, а consistency checks больше не
    используют устаревшие legacy format hints для warning-ов на валидных
    delivery.outputs handoff.
  • Добавлена минимальная read-only основа reliability diagnostics: optional
    counters в state.reliability, вывод в summary/health/operator-attention,
    видимость в task-playbook и проверки совместимости старых state.
  • Повторяющиеся одинаковые отказы completion validation теперь записываются как
    reliability events и после второго повтора показывают
    completion_validation_retry_loop как ручное внимание оператора; успешная
    completion validation очищает активное предупреждение.
  • Проверка сравнительных результатов теперь contract-driven: она запускается
    только когда working_memory.output_contract.quality_checks просит
    comparative_matrix, и проверяет форму таблицы, а не язык заголовков.
  • Финальная проверка теперь отклоняет очевидное несоответствие формата, например
    pdf_report, указывающий на Markdown, а проблемы передачи артефакта в
    delivery выводятся как delivery_artifact_handoff_failed.
  • Ошибки доставки теперь могут хранить optional provider-neutral diagnostics:
    error_code и безопасную provider_target_shape; проблема формы цели
    выводится в summary/health как delivery_channel_addressing_failed.
  • Финальная проверка теперь записывает optional deliverable_decision с
    выбранным, желаемым и фактически доступным пользовательским форматом. Желаемый
    формат берётся из working_memory.output_contract.kind или канонического
    finalization.primary_deliverable_kind; свободный текст deliverable и
    chat/thread context не выводят pdf_report.
  • queue-status теперь возвращает read-only queue findings для missing holder
    task, holder/task lock mismatch, stale waiters и terminal tasks, оставшихся в
    waiters; task-specific queue findings также видны в health.
  • Добавлен deterministic reliability soak test для пути finalization format
    decision. Failed finalization findings теперь видны в health, чтобы оператор
    видел структурные rework reasons вроде output_contract_format_mismatch без
    ручного чтения raw state.
  • Удалён исходный skill-card.md: ClawHub считает Skill Card генерируемым
    registry-артефактом и фильтрует локальные копии при публикации.

v0.4.1

19 Jun 09:45

Choose a tag to compare

English

Research Mode v0.4.1 is a small packaging polish release for ClawHub presentation and verification.

Changes

  • Added skill-card.md so ClawHub can display a concise human-facing skill card instead of relying on the longer agent-facing SKILL.md.
  • Added skill-card.md to the release package boundary and documentation smoke checks so future releases do not accidentally omit it.

Validation

  • Local release gate passed: selftest 305/305, pytest 305 passed.
  • Standalone release smoke passed.
  • Bandit security smoke scan clean.
  • detect-secrets scan returned empty results.
  • GitHub Actions Research Mode checks passed on the release commit: 27818072466.

Русский

Research Mode v0.4.1 — маленький релиз полировки пакета для отображения и проверки в ClawHub.

Изменения

  • Добавлен skill-card.md, чтобы ClawHub показывал короткую пользовательскую карточку скилла, а не опирался только на длинный агентский SKILL.md.
  • skill-card.md добавлен в границу релизного пакета и проверку документации, чтобы будущие релизы не пропускали этот файл.

Проверки

  • Локальный release gate прошёл: selftest 305/305, pytest 305 passed.
  • Отдельный release smoke прошёл.
  • Bandit security smoke scan чистый.
  • detect-secrets вернул пустой results.
  • GitHub Actions Research Mode checks прошёл на release commit: 27818072466.

v0.4.0

19 Jun 09:07

Choose a tag to compare

English

Research Mode v0.4.0 adds a default preflight gate and makes long-running research easier to diagnose and recover before work starts drifting.

Highlights

  • Added the default preflight gate for new tasks. The first worker lease now records result.preflight, writes workspace/preflight/research-preflight.md, and either continues, continues with warnings, pauses for setup, or blocks on a critical missing condition.
  • Added --skip-preflight as an explicit escape hatch for cheap tasks or preflight troubleshooting. Skipped preflight is recorded as preflight.decision="skipped".
  • Added skill-local RULES.md support with RULES.example.md as the public template. The package reads only RULES.md in the skill directory and does not create or overwrite it.
  • Exposed preflight state in summary, status, task-playbook.md, and the read-only preflight command.
  • Added operator_attention to summary --format json so monitors can detect stale active runs and show clear recommended actions.
  • Updated README, troubleshooting, release, roadmap, and skill docs to make stability, observability, and recovery the current project priority.

Validation

  • Local release gate passed: selftest 305/305, pytest 305 passed.
  • Standalone release smoke passed.
  • Bandit security smoke scan clean.
  • detect-secrets scan returned empty results.
  • GitHub Actions Research Mode checks passed on the release commit: 27816284774.

Full bilingual release notes are in RELEASE_NOTES.md.

Русский

Research Mode v0.4.0 добавляет обязательный по умолчанию preflight gate и делает долгие исследования заметно проще диагностировать и восстанавливать до того, как задача уйдёт в неправильный цикл.

Главное

  • Добавлен preflight gate по умолчанию для новых задач. Первая рабочая блокировка пишет result.preflight, создаёт workspace/preflight/research-preflight.md и либо продолжает задачу, либо продолжает с предупреждениями, либо ставит задачу на паузу/блокирует её при критичном отсутствующем условии.
  • Добавлен явный --skip-preflight для дешёвых задач или диагностики самого preflight. Пропуск фиксируется как preflight.decision="skipped".
  • Добавлена поддержка RULES.md в корне скилла; публичный шаблон — RULES.example.md. Пакет только читает skill-local RULES.md и не создаёт/не перезаписывает его.
  • Состояние preflight выводится в summary, status, task-playbook.md и read-only команде preflight.
  • В summary --format json добавлен operator_attention, чтобы наблюдатели видели stale active run и понятное рекомендуемое действие.
  • Обновлены README, troubleshooting, release, roadmap и SKILL-документация: текущий приоритет проекта — стабильность, наблюдаемость и восстановимость исследований.

Проверки

  • Локальный release gate прошёл: selftest 305/305, pytest 305 passed.
  • Отдельный release smoke прошёл.
  • Bandit security smoke scan чистый.
  • detect-secrets вернул пустой results.
  • GitHub Actions Research Mode checks прошёл на release commit: 27816284774.

Полные двуязычные заметки лежат в RELEASE_NOTES.md.

v0.3.0

17 Jun 16:23

Choose a tag to compare

Highlights

Research Mode v0.3.0 prepares the public support boundary and adds safer operator diagnostics/recovery flows.

  • Added public ROADMAP and CONTRIBUTING docs plus GitHub issue templates.
  • Added CLI, state-versioning, and JSON schema contract docs.
  • Added read-only health diagnostics and reconcile alias.
  • Added safer pending-result recovery diagnostics and task-local recovery-log.jsonl.
  • Added recover --refresh-derived for regenerating missing operator surfaces without mutating task state.
  • Hardened pending-result path handling by rejecting invalid run_id values before resolving result files.
  • Documented the staged completion path: should_complete=true -> verify adequacy -> finalize -> awaiting_review -> approve -> complete.

Validation

  • Local release gate passed: 288/288, 288 passed.
  • Standalone release smoke passed.
  • Bandit security smoke scan clean.
  • detect-secrets scan returned results: {}.
  • GitHub Actions Research Mode checks passed on the release commit.

Full bilingual release notes are in RELEASE_NOTES.md.

v0.2.3

16 Jun 17:15

Choose a tag to compare

Patch release for ClawHub packaging clarity.

  • Documented ClawHub installation.
  • Clarified that ClawHub skill installs are text-only and do not include binary assets such as the social preview PNG or example XLSX workbook.
  • Clarified the distribution boundary between the Apache-2.0 GitHub source repository and the ClawHub platform skill package license.
  • Made docs smoke compatible with text-only ClawHub installs.

v0.2.2

16 Jun 16:42

Choose a tag to compare

Patch release for the public GitHub presentation and examples showcase.

  • Added public examples under examples/, with sanitized research-trace/ directories for review.
  • Clarified multi-file deliverable finalization guidance.
  • Added docs smoke coverage for examples and README links.
  • Improved README presentation with badges, an at-a-glance overview, lifecycle diagram, showcase links, generated social preview, and a static Apache-2.0 license badge.

v0.2.1

16 Jun 11:41

Choose a tag to compare

English

v0.2.1

Patch release for delivery-state consistency.

  • record-notification --status sent now clears stale
    delivery.notification_blocked and intent blocked_reason markers when an
    operator or adapter successfully sends an intent that was previously blocked.
  • Added regression coverage for the blocked -> sent transition.

Русский

v0.2.1

Patch-релиз для согласованности delivery-state.

  • record-notification --status sent теперь очищает устаревшие маркеры
    delivery.notification_blocked и blocked_reason у intent, если оператор
    или адаптер успешно отправил intent, который раньше был заблокирован.
  • Добавлен regression test для перехода blocked -> sent.

v0.2.0

16 Jun 11:24

Choose a tag to compare

English

v0.2.0

research-mode v0.2.0 is a reliability release for long-running research
tasks, especially tasks that run under cron, recover from interrupted worker
turns, and produce review-ready file deliverables.

Highlights

  • Added a research adequacy gate before finalization, so tasks verify whether
    accumulated evidence actually answers the goal before producing a final
    deliverable.
  • Added a root-local fair worker queue for cron iterations, including stale
    holder/waiter cleanup and compatibility defaults for older state.json
    files.
  • Added pending result recovery for worker turns that wrote a result file but
    did not reach finish.
  • Added review-ready package deliverables with explicit entrypoints,
    attachments, manifest handling, and task-directory containment checks.
  • Added delivery intents as the public handoff contract for platform-specific
    notification adapters.
  • Added record-notification so delivery counters are updated only after a
    notification is confirmed as sent.
  • Added owner binding fields for chat-launched tasks, including optional
    thread_id / topic_id and explicit --no-owner.
  • Added stricter XLSX compatibility validation, including detection of
    worksheet autoFilter and Excel Table conflicts on the same range.
  • Hardened URL capture, approval/delivery file handling, task path handling,
    and runtime prompts as part of the same reliability line.
  • Updated GitHub Actions to current action versions and removed ineffective
    cache configuration without a lockfile.

Migration notes

  • Existing task state is normalized lazily when read; older tasks should not
    require manual migration.
  • Platform-specific notification sending is still intentionally outside the
    public skill package. The public contract is delivery_intent plus
    record-notification.
  • awaiting_review still means "ready for human review", not "already
    delivered".

Required release checks

Run from the repository or package root:

scripts/check_research_mode.sh
uvx --from bandit bandit -q -r scripts -x scripts/selftest
detect-secrets scan --all-files --exclude-files '(^|/)\.(pytest|ruff)_cache/'

Русский

v0.2.0

research-mode v0.2.0 — релиз надёжности для длительных исследований,
особенно для задач, которые идут через cron, восстанавливаются после
прерванных рабочих итераций и готовят файлы для проверки человеком.

Главное

  • Добавлена проверка достаточности исследования перед финализацией: задача
    сначала проверяет, отвечает ли накопленная доказательная база цели.
  • Добавлена честная очередь рабочих итераций на уровне корня исследований,
    включая очистку устаревших holder/waiter записей и совместимость со старыми
    state.json.
  • Добавлено восстановление pending result для случаев, когда рабочая итерация
    успела записать result-файл, но не дошла до finish.
  • Добавлены review-ready package deliverables: явный entrypoint, attachments,
    manifest и проверки, что файлы не выходят за пределы директории задачи.
  • Добавлен delivery_intent как публичный контракт передачи уведомлений в
    platform-specific адаптеры.
  • Добавлена команда record-notification: счётчики доставки обновляются
    только после подтверждённой отправки уведомления.
  • Добавлена привязка owner для задач, запущенных из чата, включая опциональные
    thread_id / topic_id и явный --no-owner.
  • Добавлена более строгая XLSX-проверка совместимости, включая конфликт
    worksheet autoFilter и Excel Table на одном диапазоне.
  • Усилены URL capture, обработка approval/delivery файлов, проверка путей задач
    и runtime prompts в рамках той же линии надёжности.
  • GitHub Actions обновлены на актуальные версии actions; удалён неэффективный
    cache без lockfile.

Заметки по миграции

  • Старое состояние задач нормализуется лениво при чтении; ручная миграция
    старых задач не должна требоваться.
  • Отправка уведомлений через конкретную платформу по-прежнему намеренно
    находится вне публичного пакета skill. Публичный контракт — delivery_intent
    плюс record-notification.
  • awaiting_review по-прежнему означает "готово к проверке человеком", а не
    "уже доставлено".

Обязательные проверки релиза

Из корня репозитория:

scripts/check_research_mode.sh
uvx --from bandit bandit -q -r scripts -x scripts/selftest
detect-secrets scan --all-files --exclude-files '(^|/)\.(pytest|ruff)_cache/'

v0.1.0

15 Jun 13:26

Choose a tag to compare

Research Mode v0.1.0

English

First public release of research-mode, an OpenClaw skill for durable background research through OpenClaw cron.

research-mode is designed for research tasks that should not live inside one long chat turn. It stores task state on disk, runs bounded worker iterations, keeps intermediate artifacts inspectable, and separates result preparation from final delivery through an explicit review step.

Highlights

  • Durable background research driven by OpenClaw cron.
  • Local task state with state.json, run logs, artifacts, and task playbooks.
  • Lease-aware begin / finish lifecycle for bounded worker turns.
  • Control commands for pause, resume, stop, reopen, request-changes, and approve.
  • Review-gated finalization: awaiting_review is separate from actual delivery.
  • Structured finalization contract through result.finalization.
  • Lightweight inspection for Markdown and XLSX candidate deliverables.
  • Operator surfaces: summary, status, task-playbook.md, and runs.tsv.
  • operator_next_action explains the next expected step for review, rework, intervention, or continuation.
  • Bilingual README, architecture reference, troubleshooting guide, release procedure, security notes, and agent maintenance notes.
  • GitHub Actions CI runs the full release gate and Bandit security smoke scan.

Installation

Clone the repository into the skills directory of an OpenClaw installation:

git clone https://github.com/VKambulov/research-mode.git "$OPENCLAW_SKILLS_DIR/research-mode"
openclaw skills check

Release Verification

The release was checked with:

clean clone check passed
docs smoke passed
ruff passed
release smoke passed
pyright 0 errors
selftest 243/243
pytest 243 passed
bandit findings: none
GitHub Actions CI passed

Known Limitations

  • The skill depends on OpenClaw cron and is not a standalone Python daemon, hosted service, or general-purpose research library.
  • Task-local Python packages are supported, but there is no lockfile or package allowlist policy yet.
  • Artifact inspection is lightweight and structural; it is not a full domain-specific quality audit.

License

Apache License, Version 2.0.

Русский

Первый публичный релиз research-mode — OpenClaw skill для длительных фоновых исследований через OpenClaw cron.

research-mode предназначен для исследовательских задач, которые не должны жить внутри одного длинного сообщения в чате. Он хранит состояние задачи на диске, запускает ограниченные рабочие итерации, сохраняет проверяемые артефакты и отделяет подготовку результата от фактической выдачи через явный этап ревью.

Главное

  • Длительные фоновые исследования через OpenClaw cron.
  • Локальное состояние задачи: state.json, журналы запусков, артефакты и task-playbook.md.
  • Жизненный цикл begin / finish с рабочей блокировкой.
  • Команды управления: pause, resume, stop, reopen, request-changes, approve.
  • Проверка результата перед выдачей: awaiting_review отделён от фактической доставки.
  • Структурированный контракт финальной проверки через result.finalization.
  • Лёгкая проверка кандидатных артефактов Markdown и XLSX.
  • Поверхности оператора: summary, status, task-playbook.md, runs.tsv.
  • operator_next_action показывает следующий шаг: ревью, доработка, вмешательство оператора или продолжение исследования.
  • README, архитектура, troubleshooting, процедура релиза, security notes и agent maintenance notes доступны на русском и английском.
  • GitHub Actions CI запускает полный release gate и Bandit security smoke scan.

Установка

Клонировать репозиторий в директорию skills конкретной OpenClaw-инсталляции:

git clone https://github.com/VKambulov/research-mode.git "$OPENCLAW_SKILLS_DIR/research-mode"
openclaw skills check

Проверки релиза

Перед публикацией были выполнены:

clean clone check passed
docs smoke passed
ruff passed
release smoke passed
pyright 0 errors
selftest 243/243
pytest 243 passed
bandit findings: none
GitHub Actions CI passed

Известные ограничения

  • Skill завязан на OpenClaw cron и не является самостоятельным Python-демоном, размещённым сервисом или универсальной библиотекой для исследований.
  • Пакеты Python, локальные для задачи, поддерживаются, но lockfile или allowlist policy пока нет.
  • Проверка артефактов структурная и лёгкая; это не полноценный доменный аудит качества.

Лицензия

Apache License, Version 2.0.

Full Changelog: https://github.com/VKambulov/research-mode/commits/v0.1.0