Compare commits
merge into: seb:main
seb:main
seb:ethie/e2e
seb:hermes/hermes-0f8a2d57
seb:fix/resume-follows-compression-tip
seb:hermes/hermes-76de4391
seb:hermes/notify-cli-tui-supersede
seb:fix/dashboard-ds-button-api
seb:hermes/hermes-afb6a269
seb:dependabot/npm_and_yarn/website/undici-7.28.0
seb:dependabot/npm_and_yarn/dompurify-3.4.11
seb:feat/relay-inbound-ws
seb:feat/cron-scheduler-provider-chronos
seb:feat/multiplex-gateway
seb:fix/ns501-multipart-upload-salvage
seb:dependabot/uv/starlette-1.3.1
seb:dependabot/uv/python-multipart-0.0.31
seb:hermes/hermes-11bc708e
seb:feat/raft-platform-plugin
seb:cline-port/parallel-tool-call-guidance
seb:dependabot/npm_and_yarn/website/webpack-dev-server-5.2.5
seb:bb/pets-gen
seb:bb/pets
seb:salvage/oauth-system-prompt-relocation
seb:fix/ns506-session-db-durability
seb:feat/remove-legacy-dashboard-session-token
seb:codex-port/mcp-default-timeout-300
seb:feat/opentui-copy-button
seb:feat/opentui-native-engine
seb:fix/cli-worktree-lock
seb:fix/clarify-choices-docstring
seb:feat/provider-reported-cost
seb:fix/desktop-subagent-streaming
seb:hermes/hermes-0184cf20
seb:dependabot/github_actions/actions-minor-patch-d188ce17e4
seb:dependabot/uv/tornado-6.5.7
seb:dependabot/npm_and_yarn/website/dompurify-3.4.10
seb:dependabot/npm_and_yarn/website/launch-editor-2.14.1
seb:dependabot/npm_and_yarn/scripts/whatsapp-bridge/protobufjs-7.6.4
seb:bb/food-delivery
seb:dependabot/npm_and_yarn/scripts/whatsapp-bridge/ws-8.21.0
seb:dependabot/uv/pytest-9.0.3
seb:salvage/xiaomi-mimo-base-url-routing
seb:salvage/xiaomi-mimo-thinking-replay
seb:hermes/hermes-d13b1ab7
seb:salvage/xiaomi-mimo-vision-tool-routing
seb:salvage/xiaomi-mimo-accounting-errors
seb:salvage/windows-uia-computer-use
seb:feat/image-generate-image-input
seb:openclaw-port/telegram-typing-cooldown
seb:openclaw-port/web-url-whitespace
seb:nanoclaw-port/uninstall-dry-run
seb:nanoclaw-port/docker-network-toggle
seb:ironclaw-port/memory-null-target-4547
seb:feat/iron-proxy
seb:feat/openrouter-fusion-model-slugs
seb:fix/telegram-rich-messages-opt-in
seb:fix/codex-bounded-leak-scan
seb:claude-code-inspired/safe-mode
seb:claude-code-inspired/title-language
seb:claude-code-inspired/shell-startup-write-deny
seb:nanoclaw-port/upload-trace-v2
seb:feat/opentui-memory-window
seb:hermes/hermes-0a703936
seb:hermes/hermes-9bdf8753
seb:revert-45263-bb/desktop-chat-autoscroll
seb:dependabot/uv/tornado-6.5.6
seb:feat/web-grounding-citations
seb:platform-support-tiers
seb:hermes-e2e
seb:ethie/node-bundle
seb:fix/worktree-prune-data-loss
seb:ethie/ws-api-move
seb:bb/desktop-served-token
seb:austin/fix/types-node-lockfile
seb:fix/coding-context-followup
seb:fix/windows-update-respawn-pythonw
seb:hermes/hermes-4e3ec235
seb:test-save-durations-fix
seb:dependabot/uv/cbor2-5.9.0
seb:dependabot/uv/pygments-2.20.0
seb:desktop-cmd-ctrl-2
seb:feat/desktop-remote-filesystem
seb:feat/gateway-relay-adapter
seb:bb/model-routing
seb:extend-hook-registry-for-plugins
seb:feat/desktop-worktree-sessions
seb:hermes-ts6
seb:fix/terminal-env-sync-test
seb:refactor/concurrent-gate-fixture-scope
seb:feat/debug-share-nous-s3
seb:feat/tui-plugins-hub
seb:fix/plugins-slash-command-discovery
seb:bb/desktop-terminal-bottom
seb:feat/plugin-subdir-install
seb:fix/photon-test-package-init
seb:ethie/nix-faster
seb:feat/desktop-remote-update-skew
seb:feat/apify-plugin
seb:feat/dynamic-workflow-skill
seb:hermes/hermes-8d223d48
seb:hermes/hermes-b9598731
seb:worktree-desktop-surface-slash-commands
seb:migrate/platforms-to-plugins
seb:hermes/hermes-87ac0a8e
seb:salvage/pr-39244
seb:salvage/pr-41166
seb:salvage/pr-41076
seb:salvage/pr-39749
seb:salvage/pr-41151
seb:salvage/pr-41063
seb:salvage/pr-41048
seb:salvage/pr-38049
seb:salvage/pr-38063
seb:salvage/pr-38184
seb:salvage/pr-39198
seb:salvage/pr-39608
seb:salvage/pr-39624
seb:salvage/pr-41091
seb:salvage/pr-41113
seb:salvage/pr-41131
seb:salvage/pr-41024
seb:hermes/hermes-e2178603
seb:feat/recipes-skill-automations
seb:feat/proactive-monitor
seb:bb/cron-history-timeout
seb:fix/windows-update-gateway-respawn-breakaway
seb:bb/desktop-install-update-ui
seb:bb/vite-worktree-fs-allow
seb:salvage/40531-mermaid-preview
seb:salvage/40534-tool-exit-not-error
seb:salvage/40242-oauth-header-test
seb:salvage/40430-cron-cli-tests
seb:salvage/40363-desktop-cwd-default
seb:salvage/40264-clarify-mention-strip
seb:salvage/40273-banner-width
seb:salvage/40346-plugins-list-entrypoints
seb:salvage/40303-timestamp-format
seb:salvage/40431-hook-thread-chattype
seb:salvage/40413-40299-macos-launchd-reliability
seb:salvage/40490-lazydeps-tui-prompt
seb:emo/preseve-shallow
seb:bb/desktop-remote-image-upload
seb:bb/desktop-update-slash
seb:bb/version-slash-command
seb:bb/docs-remote-backend-update-skew
seb:bb/backend-contract-bump-profile-routing
seb:bb/docs-desktop-macos-gatekeeper
seb:bb/update-reexec-after-pull
seb:dependabot/npm_and_yarn/website/postcss-8.5.15
seb:fix/onboarding-skip-on-stale-env-var
seb:ethie/windows-installer-fixes
seb:bb/desktop-send-to-all
seb:salvage/pr-9190
seb:ethie/slash-prompt-start-only
seb:opencode-port/respect-disabled-compaction-on-overflow
seb:fix/node-fhs-root-hardening
seb:fix/node-symlink-fhs-root-install
seb:feat/dashboard-auth-self-hosted-oidc
seb:bb/coding-agent-harness-analysis
seb:feat/dashboard-register
seb:fix/docker-tty-zero-dim-pty
seb:hermes/hermes-040df651
seb:gemini-cli-port/config-corruption-backup
seb:plugin-sdk-auth
seb:hermes/hermes-6c420680
seb:hermes/hermes-aba10f53
seb:hermes/hermes-de0d15b6
seb:dependabot/github_actions/docker/setup-buildx-action-4.1.0
seb:fix/slash-keyboard-selection
seb:dashboard-internal-ws-credential
seb:pr-37665
seb:pr-37660
seb:ethie/uv-salvage
seb:bb/installer-trusted-uv-resolution
seb:hermes/hermes-780defc4
seb:ethie/oh-god
seb:hermes/hermes-d1511484
seb:bb/desktop-install-path-clarity
seb:feat/gateway-lazy-platform-import
seb:hermes/hermes-a963c25d
seb:feat/blank-slate-setup
seb:hermes/curator-usage-cli
seb:ethie/win-exe-only
seb:bb/tui-ansi-height-desync
seb:bb/clarify-prompt-timeout-stuck
seb:revert-34333-feat/nvidia-skills-tap
seb:fix/tui-mouse-x10-prompt-leak
seb:hermes/hermes-d44c5398
seb:hermes/hermes-368c2379
seb:bb/gui-mainmerge-tmp
seb:hermes/gateway-replace-fix
seb:hermes/hermes-21eb0ce1
seb:fix/dev-dep-setuptools
seb:fix/packaging-test-setuptools-dep
seb:hermes/hermes-2747755a
seb:docs/video-gen-nous-gateway
seb:ethie/fix-nix-develop
seb:v2026.5.29.1
seb:docs/execute-code-hermes-env-passthrough
seb:hermes/hermes-135cadfb
seb:hermes/sec-tier1-32130
seb:hermes/hermes-2b79b6da
seb:opencode-port/responses-failed-error-detail
seb:hermes-events-bus
seb:perf/fts-optimize
seb:release/v0.15.0-strip-gui
seb:fix/nix-gateway-install-env
seb:hermes/hermes-737ba78e
seb:ethie/docker-simplify-tagging
seb:dependabot/github_actions/actions/deploy-pages-5.0.0
seb:feat/15268-pricing-nous-xai
seb:hermes/fix-copilot-auth-test
seb:fix/update-detects-parent-shim-as-running
seb:docker_s6
seb:dependabot/npm_and_yarn/scripts/whatsapp-bridge/multi-f792d6d6d9
seb:hermes/hermes-5fdb1cc4
seb:bb/tui-ctrlj-newline
seb:sid/tool-gateway-implement
seb:hermes/hermes-aa200214
seb:feat/dashboard-typography-and-contrast
seb:ethie/faster-tests-fake-main
seb:fix/vision-dimension-cap
seb:hermes/hermes-09fb88ef
seb:ziliang-review-fork-inherit-toolsets
seb:salvage-8306-webhook-secret
seb:hermes/hermes-5db05717
seb:hermes/hermes-a5904da7
seb:refactor/stop-writing-gateway-jsonl-transcripts
seb:refactor/stop-writing-session-json-snapshots
seb:hermes/hermes-72b329fd
seb:hermes/hermes-008bccbc
seb:hermes/firecrawl-integration-tag-telemetry-gated
seb:hermes/hermes-63babeb7
seb:hermes/hermes-5e533958
seb:hermes/hermes-8d7d912f
seb:brooklyn/gui-installer-prereqs
seb:hermes/hermes-429c1355
seb:bb/tui-mouse-burst-swallow
seb:feat/session_search_modes
seb:hermes/hermes-5ac74b48
seb:bb/cli-resize-duplication
seb:salvage/pr-23780
seb:lsp-plugin
seb:austin/fix/minimax-oauth
seb:bb/lsp-lint
seb:hermes/hermes-4fa48a27
seb:salvage/pr-22685
seb:feat/session-handoff
seb:feat/codex-mcp-preset
seb:feat/codex-cli-provider
seb:hermes/hermes-3b90958e
seb:perf/honcho-shutdown
seb:hermes/hermes-b2e6c99b
seb:austin/feat/google-oauth-provider
seb:bb/gui-gateway-attach-wiring
seb:bb/tui-gateway-attach-core
seb:hermes/hermes-e239855c
seb:fix/windows-uv-python-install-stderr
seb:bb/windows-cli-tui-native-main
seb:feat/trust-engine
seb:feat/watchers
seb:bb/widget-grid-slots
seb:hermes/hermes-1c84a997
seb:feat/browser-coordinate-click
seb:cline-port/openrouter-qwen-cache-control
seb:fix/ty-1
seb:hermes/hermes-fee7225c
seb:hermes/hermes-9ddf5187
seb:codex-port/hook-output-spill
seb:fix/terminal-safety-filter-false-positives
seb:fix/gateway-remove-stale-code-self-restart
seb:kilocode-port/compact-strip-media
seb:fix/stale-cwd-recovery
seb:feat/hermes-send
seb:kanban_hermes_home
seb:hermes/hermes-fabc46fe
seb:feat/tinyfish-browser-provider
seb:hermes/hermes-96962c19
seb:claude-code-inspired/session-recap
seb:fix/lazy-session-creation
seb:hermes/hermes-3c2988b0
seb:opencode-port/invalid-mcp-url
seb:opencode-port/moonshot-ref-siblings
seb:bb/docker-tui-prebuilt
seb:fix/aux-anthropic-url-regression-test
seb:vbrunet/2026_04_15-terminal-title-updates
seb:bb/theme
seb:cline-port/gateway-memory-monitor
seb:gemini-cli-port/exit-delete-session
seb:bb/tui-copy-on-select
seb:feat/comfyui-skill-v3
seb:hermes/hermes-dd91e6b2
seb:feat/provider-modules
seb:hermes/hermes-dab6fbf1
seb:feat/comfyui-skill-v2
seb:vbrunet/2026_04_29-terminal-titles
seb:feat/kanban-standing
seb:bb/tui-reload-env
seb:bb/learning-ledger
seb:bb/tui-status-ticker-width
seb:fix/plugin-loader-sys-modules-registration
seb:fix/deprecate-extrapackages-nix
seb:hermes/hermes-c8604b32
seb:fix/chat-tab-persistence
seb:feat/langfuse-plugin
seb:kilocode-port/subagent-cost-rollup
seb:fix/analytics-include-cache-tokens
seb:hermes/hermes-8fedd55b
seb:bb/fix-tui-input-selection
seb:bb/p2-mru-resume-order
seb:hermes/hermes-2c880154
seb:hermes/hermes-8b414b52
seb:nanoclaw-port/signal-groupv2
seb:hermes/hermes-d7874f79
seb:hermes/curator-infra
seb:bb/tui-perf-fix
seb:feature/tui-showroom
seb:bb/base-gui
seb:investigate/fix-tui-container-ink-bundle
seb:fix/flush-memories-context-overflow
seb:design/compression-eval-harness
seb:fix/stop-interrupt-retry-loop
seb:fix/model-switch-custom-endpoint
seb:fix/web-env-validation
seb:fix/hindsight-blank-nuke
seb:fix/setup-vision-blank
seb:sid/discord-context-injection
seb:sid/discord-tool-split
seb:sid/fix-tools-config-save
seb:sid/fix-platform-tool-loading
seb:hermes/hermes-6c37b3dd
seb:hermes/hermes-9d07c44f
seb:alice/nous-portal-recommended-models
seb:onboarding
seb:sid/restructure-pr1-acp
seb:bb/tui-web-chat
seb:opencode-port/configurable-tool-output-limits
seb:hermes/hermes-34b3f52d
seb:sid/types-and-lints
seb:sid/foundational-restructure
seb:feat/dashboard-chat
seb:gemini-cli-port/ssl-retry-patterns
seb:cline-port/anthropic-cache-tokens-top-level
seb:nemo-gym-changes
seb:fix/schema-reconciliation
seb:fix/upgrade-agent-browser-0.26
seb:feat/ssrf-allow-private-urls
seb:feat/volcengine-byteplus
seb:refactor/unify-transport-dispatch
seb:feat/require-mention-channels
seb:remove-nous-free-allowlist
seb:codex-port/ignore-user-config-flags
seb:bb/tui-mouse-toggle
seb:feat/td-skill-update
seb:feat/bedrock-transport
seb:feat/chat-completions-transport
seb:hermes/hermes-bb7c1b2e
seb:kilocode-port/filter-non-tool-openrouter-models
seb:fix/kimi-drop-temperature
seb:bb/tui-elapsed-lastmsg-8541
seb:feat/transport-types
seb:refactor/extract-codex-adapter
seb:ironclaw-port/url-and-form-redaction
seb:openclaw-port/display-tool-call-tags-strip
seb:openclaw-port/anthropic-max-tokens-guard
seb:openclaw-port/compaction-credential-redaction
seb:sid/workspace-salvage
seb:chore/ci-path-filters
seb:chore/remove-stale-docs
seb:feat/native-gemini-provider
seb:salvage/helix4u-zai-setup
seb:hermes/hermes-150d8cf8
seb:hermes/browser-dialog
seb:fix/minimax-glm-token-compression
seb:salvage/nvidia-nim-max-tokens
seb:fix/nix-web-dashboard
seb:feat/comfyui-skill
seb:hermes/hermes-9c0eed69
seb:fix/mcp-oauth-bidirectional-generator-bridge
seb:claude-code-inspired/dangerous-cmd-hardening
seb:fix/test-backoff-timers
seb:ci/matrix-split-v2
seb:fix/test-reduction-batch-2
seb:feat/searxng-backend
seb:opencode-port/sessions-export-sanitize
seb:dashboard-show-remote-gateway-url
seb:hermes/gemini-oauth-30b2099d
seb:feat/gemini-tts-salvage
seb:feat/ungate-tool-gateway
seb:xai-media-tools
seb:fix/ci-test-failures
seb:hermes/hermes-9d38280f
seb:gemini-cli-port/strategic-reevaluation
seb:fix/client-cache-fd-exhaustion
seb:salvage/watch-notification-routing
seb:hermes/hermes-5d6c3d3e
seb:fix/dashboard-analytics-accuracy
seb:hermes/hermes-9a00cfa2
seb:hermes/hermes-050c727e
seb:hermes/hermes-4a9b24c3
seb:codex-port/mcp-parallel-tool-calls
seb:gateway-plugin-loading
seb:max_paperclips/gateway-plugin-loading
seb:feat/remote-gateway-health-probe
seb:compaction-secrets-preservation
seb:fix/dashboard-routing
seb:update-issue-templates-debug-share
seb:sid/tb2-evals
seb:feat/deep-research-skill
seb:hermes/hermes-1b2e5f73
seb:hermes/hermes-9e793b91
seb:fix/feishu-identity-model
seb:fix/web-cron-page-schedule-object
seb:ironclaw-port/telegram-utf16-splitting
seb:nanoclaw-port/session-artifact-cleanup
seb:openclaw-port/reject-weak-gateway-creds
seb:openclaw-port/matrix-mentions-user-ids
seb:fix/gateway-no-systemctl
seb:skill/github-code-review-mcp-tools
seb:chore/remove-sha-docker-tag
seb:feat/gateway-mcp-config-watcher
seb:hermes/hermes-1f7bfa9e
seb:feat/file-sync-back
seb:fix/modal-ssh-upload-bugs
seb:hermes/salvage-7558
seb:hermes/hermes-72401910
seb:hermes/hermes-925eff6a
seb:hermes/hermes-c965583d
seb:hermes/hermes-9c0ad5d9
seb:hermes/hermes-905d6262
seb:hermes/hermes-070e5a43
seb:hermes/hermes-c382c827
seb:hermes/hermes-7052b79e
seb:hermes/hermes-e08f4d67
seb:hermes/hermes-566f8c6d
seb:hermes/hermes-4fdb3d23
seb:hermes/hermes-67b0d759
seb:hermes/hermes-b5e135be
seb:hermes/hermes-2d3cc746
seb:hermes/hermes-80a283e0
seb:hermes/hermes-83dfcdfa
seb:hermes/hermes-efa38736
seb:hermes/hermes-c78b9811
seb:hermes/hermes-ffc6cfa8
seb:hermes/hermes-a50b945e
seb:twilio-auth-fix
seb:fix/claw-migrate-warn-running-gateway
seb:hermes/hermes-f6cda1f0
seb:hermes/hermes-524779d7
seb:hermes/hermes-da2f08b5
seb:hermes/hermes-672624fb
seb:hermes/hermes-28292000
seb:hermes/hermes-ec496c80
seb:hermes/hermes-f43decdf
seb:hermes/hermes-5bef3224
seb:hermes/hermes-17ae0c29
seb:fix/claw-migrate-improve-warnings
seb:fix/claw-migrate-json-env-keys
seb:fix/claw-migrate-workspace-main-paths
seb:fix/claw-migrate-schema-drift
seb:fix/matrix-memorycryptostore-args
seb:fix/claw-migrate-tts-microsoft
seb:fix/claw-migrate-nested-channel-tokens
seb:hermes/hermes-ea68d311
seb:hermes/hermes-38060157
seb:hermes/hermes-0224a8b2
seb:hermes/hermes-b092dccf
seb:hermes/hermes-03da22bc
seb:hermes/bucket3
seb:hermes/hermes-2e0dc4f3
seb:salvage/bucket-st
seb:hermes/hermes-ebb65d1b
seb:hermes/hermes-d0d52697
seb:hermes/hermes-b17bdb8e
seb:hermes/hermes-bc33645d
seb:salvage/bucket-p
seb:hermes/hermes-4a5220fe
seb:hermes/hermes-7f8c199a
seb:hermes/hermes-fefa061a
seb:feat/mautrix-migration
seb:hermes/hermes-7e4c9931
seb:hermes/hermes-dc4200fd
seb:salvage/bucket-o
seb:feat/container-aware-cli
seb:fix/daytona-bulk-upload-config-bridge-7362
seb:claude-code-inspired/context-breakdown
seb:hermes/hermes-1bd9e323
seb:hermes/hermes-17b93f0b
seb:hermes/hermes-9d5d8704
seb:salvage/bucket-n
seb:api-server-enforce-key
seb:hermes/hermes-f8dcb6dd
seb:hermes/hermes-c7787b3d
seb:salvage/bucket-m
seb:hermes/hermes-30126ac0
seb:terminate-zombie-processes
seb:hermes/hermes-ead3c84e
seb:hermes/hermes-f1c0a201
seb:salvage/bucket-i
seb:hermes/hermes-11e9b74a
seb:hermes/hermes-90f54154
seb:hermes/hermes-2376d00b
seb:hermes/hermes-8f5f6063
seb:salvage/bucket-l
seb:hermes/hermes-84ed614f
seb:hermes/hermes-0f8490c2
seb:hermes/hermes-2a3d0461
seb:salvage/bucket-k
seb:hermes/hermes-62b22a1e
seb:hermes/hermes-26f90bd3
seb:security/bucket-j
seb:hermes/hermes-7ef33568
seb:hermes/hermes-3ffcbfb5
seb:hermes/hermes-6584b1e4
seb:hermes/hermes-d9d67691
seb:hermes/hermes-cde3c240
seb:hermes/hermes-27e1fc16
seb:hermes/hermes-5f2c8429
seb:hermes/hermes-8dbb2cec
seb:hermes/hermes-bbf55c16
seb:hermes/hermes-a21aa249
seb:hermes/hermes-eafa085a
seb:hermes/hermes-4b558854
seb:hermes/hermes-0687c6d6
seb:hermes/hermes-33e13b6f
seb:hermes/hermes-1fd9f435
seb:hermes/hermes-1bb7ea55
seb:hermes/hermes-57ea0a16
seb:hermes/hermes-5bbf4839
seb:hermes/hermes-617689ff
seb:hermes/hermes-5cfcdf33
seb:hermes/hermes-05b0c02e
seb:hermes/hermes-115318ed
seb:hermes/hermes-f454d397
seb:hermes/hermes-43ae98f3
seb:hermes/hermes-87f37874
seb:hermes/hermes-bbe6a8b7
seb:hermes/hermes-2556be1e
seb:hermes/hermes-8494816d
seb:hermes/hermes-0d0bfa89
seb:hermes/hermes-c711558a
seb:hermes/hermes-7aad138d
seb:hermes/hermes-4b6801c7
seb:hermes/hermes-374f99bc
seb:hermes/hermes-605d722e
seb:hermes/hermes-c546e7a1
seb:hermes/hermes-62b6865d
seb:hermes/hermes-f8a6248b
seb:hermes/hermes-fe654944
seb:hermes/hermes-d4ece6c2
seb:fix/stream-think-tag-false-positive
seb:hermes/hermes-d0607f0a
seb:hermes/hermes-1c7df171
seb:fix/oauth-issue2-nous-pool-refresh-sync-authstore
seb:hermes/hermes-95b15f6e
seb:hermes/hermes-e201f931
seb:opencode-port/alibaba-rate-limit-retry
seb:fix/oauth-issue1-nous-entry-needs-refresh
seb:fix/oauth-issue5-is-expiring-none-handling
seb:fix/oauth-issue4-anthropic-proactive-sync-hermes-pkce
seb:fix/oauth-issue3-codex-proactive-sync-before-refresh
seb:sid/dead-code-remove
seb:hermes/hermes-8c64f471
seb:hermes/hermes-ff5ba265
seb:hermes/hermes-71aea4c5
seb:hermes/hermes-1b5bb607
seb:hermes/hermes-25b83dfd
seb:fix/nix-shared-state-perms
seb:hermes/hermes-30ac05a4
seb:hermes/hermes-731d3033
seb:hermes/hermes-41d14a2c
seb:hermes/hermes-3f221b1b
seb:hermes/hermes-e873511f
seb:hermes/hermes-41cd011b
seb:hermes/hermes-f409204f
seb:hermes/hermes-bcf93c03
seb:hermes/hermes-2f44469d
seb:hermes/hermes-3466ee98
seb:hermes/hermes-398baa59
seb:hermes/hermes-1ff40dac
seb:hermes/hermes-0429963a
seb:hermes/hermes-ff89d9af
seb:hermes/hermes-de843a22
seb:hermes/hermes-037596df
seb:hermes/hermes-e77cdbbf
seb:hermes/hermes-135e8d93
seb:hermes/hermes-f2a81adb
seb:hermes/hermes-2447adad
seb:hermes/hermes-005912a8
seb:hermes/hermes-1845cad9
seb:hermes/hermes-d5c0fd3b
seb:hermes/hermes-b5d8eff0
seb:hermes/hermes-5df3920d
seb:hermes/hermes-b0a4b31e
seb:hermes/hermes-063b6e1d
seb:hermes/hermes-98aa7b3a
seb:hermes/hermes-1fa6ad8f
seb:hermes/hermes-485d498c
seb:hermes/hermes-e77429d5
seb:hermes/hermes-1d8a5754
seb:sid/unified-file-sync
seb:hermes/hermes-38cb19c4
seb:hermes/hermes-54fe23ca
seb:fix/nix-add-to-system-packages-complete
seb:hermes/hermes-947c24f7
seb:sid/unified-terminal-envs
seb:hermes/hermes-9085f0bb
seb:hermes/hermes-6b365d9a
seb:hermes/hermes-4923821d
seb:hermes/hermes-4e231d00
seb:hermes/hermes-554a02fe
seb:hermes/hermes-016048ea
seb:feat/worldsim-skill
seb:hermes/hermes-6b456629
seb:hermes/hermes-f845dfbe
seb:hermes/hermes-83d3c1db
seb:hermes/hermes-8452ab09
seb:hermes/hermes-9f84a11f
seb:hermes/hermes-53abd2ba
seb:hermes/hermes-ef18f2ae
seb:hermes/hermes-7d888e8c
seb:hermes/hermes-7bf50ef1
seb:hermes/hermes-f400edfe
seb:hermes/hermes-27761e13
seb:hermes/hermes-d07e864e
seb:hermes/hermes-e3aca6ef
seb:hermes/hermes-c7eda492
seb:sid/tool-result-fixes
seb:hermes/hermes-87470f33
seb:hermes/hermes-ef25015a
seb:hermes/hermes-fb3680fc
seb:hermes/hermes-476720eb
seb:hermes/hermes-7d70fb12
seb:hermes/hermes-2f2a1403
seb:hermes/hermes-c81d4c5a
seb:hermes/hermes-3ff117b3
seb:hermes/hermes-5e970516
seb:hermes/hermes-cabfdb4f
seb:sid/restructure-tests
seb:hermes/hermes-701b2186
seb:rm/add-portal-link
seb:hermes/hermes-81f85bb4
seb:hermes/hermes-822a0590
seb:hermes/hermes-d623dc00
seb:hermes/hermes-37b5ec52
seb:hermes/hermes-fef87f31
seb:hermes/hermes-f1e32b74
seb:hermes/hermes-756f7e33
seb:salvage/5752-nous-free-tier-gating
seb:feat/nous-free-tier-model-gating
seb:switch-managed-browser-to-browser-use
seb:hermes/hermes-7697425c
seb:hermes/hermes-53b01c86
seb:hermes/hermes-81d3384e
seb:hermes/hermes-86122627
seb:hermes/hermes-03d7aa21
seb:hermes/hermes-b34c1567
seb:hermes/hermes-694ff34e
seb:hermes/hermes-b93afb56
seb:hermes/hermes-c1ef09e3
seb:fix/portal-env-var-ignored-during-login
seb:hermes/hermes-479681ef
seb:hermes/hermes-cd5ac32c
seb:hermes/hermes-71aaf6c8
seb:hermes/hermes-f177c8f0
seb:hermes/hermes-db0c54fb
seb:sid/unified-execution
seb:hermes/hermes-35bfb4c2
seb:hermes/hermes-47b24166
seb:hermes/hermes-e5557d16
seb:hermes/hermes-b809b68d
seb:sid/nix-fixes-nits
seb:taubench_eval
seb:feat/firecrawl-browser-provider
seb:hermes/hermes-7a93e2c7
seb:hermes/hermes-8cc55056
seb:hermes/hermes-838c5b76
seb:workdir-quote-escape
seb:hermes/hermes-c4a8b829
seb:rm/browser-use-tool-gateway
seb:hermes/hermes-ac0ac8da
seb:hermes/hermes-ba679ba8
seb:hermes/hermes-b692993b
seb:hermes/hermes-ce719117
seb:hermes/hermes-0bc806a5
seb:hermes/hermes-00399121
seb:hermes/hermes-5a282295
seb:fix/various-qa
seb:hermes/hermes-3ef4d555
seb:hermes/hermes-ef6f7818
seb:hermes/hermes-be07ee70
seb:hermes/hermes-c0614333
seb:hermes/hermes-3c9f4a9e
seb:hermes/hermes-39d533b8
seb:hermes/hermes-d6f63ade
seb:hermes/hermes-f47156c2
seb:hermes/hermes-533d3bd8
seb:hermes/hermes-2e42b3a2
seb:fix/research-paper-writing-gaps
seb:hermes/hermes-7c95bd3c
seb:hermes/hermes-626ac686
seb:hermes/hermes-0d7c99a6
seb:fix/nous-portal-env-override
seb:hermes/hermes-80f0ff01
seb:hermes/hermes-8bb0c65b
seb:feat/model-pricing-display
seb:hermes/hermes-03bdbe18
seb:hermes/hermes-84dbce0e
seb:hermes/hermes-c6eacd11
seb:hermes/hermes-25bce159
seb:hermes/hermes-1e6ea4d6
seb:hermes/hermes-bae00f49
seb:hermes/hermes-40531417
seb:hermes/hermes-f9d9e542
seb:hermes/hermes-8e46c8ba
seb:hermes/hermes-3d0a599a
seb:hermes/hermes-c0119f86
seb:hermes/hermes-7fbab92d
seb:hermes/hermes-32facb3d
seb:hermes/hermes-d0aa7802
seb:hermes/hermes-4ff7e90f
seb:hermes/hermes-3667f42f
seb:feat/model-provider-overhaul
seb:hermes/hermes-1a69af68
seb:hermes/hermes-c035e060
seb:hermes/hermes-466467d8
seb:hermes/hermes-95f1173a
seb:hermes/hermes-208cc6d6
seb:hermes/hermes-1e826e60
seb:hermes/hermes-f2f17778
seb:hermes/hermes-a7ac7c42
seb:hermes/hermes-db023341
seb:hermes/hermes-8c57ca22
seb:hermes/hermes-511b79a5
seb:hermes/hermes-931dc358
seb:feat/fix-plugin-cache-prefix
seb:hermes/hermes-3329bd98
seb:salvage/hindsight-5044
seb:hermes/hermes-0971565e
seb:hermes/hermes-eba4b946
seb:hermes/hermes-ff50f5ae
seb:hermes/hermes-feb2ec9d
seb:hermes/hermes-a82207c8
seb:hermes/hermes-1e1d81f5
seb:hermes/hermes-766150bd
seb:hermes/hermes-cc1cea2c
seb:hermes/hermes-5cbeeeb5
seb:hermes/hermes-3eaaba2c
seb:hermes/hermes-d307e4ae
seb:claude-code-inspired/session-branch
seb:hermes/hermes-70885193
seb:hermes/hermes-8eea7e1a
seb:hermes/hermes-36a59267
seb:hermes/hermes-31074029
seb:hermes/hermes-10baf9e9
seb:hermes/hermes-4d7efb1e
seb:hermes/hermes-3b5d0490
seb:hermes/hermes-97fe1e3c
seb:hermes/hermes-b19afd39
seb:hermes/hermes-669f5444
seb:feat/docker-env-vars
seb:hermes/hermes-5deaba3e
seb:hermes/hermes-368f91f8
seb:hermes/hermes-b9588524
seb:feat/acp-mcp-server-registration
seb:opencode-port/language-aware-compression
seb:hermes/hermes-50668d84
seb:hermes/hermes-376c741f
seb:hermes/hermes-7cbc527e
seb:hermes/hermes-7ab21fac
seb:hermes/hermes-623833b1
seb:hermes/hermes-7de32281
seb:hermes/hermes-921b394b
seb:hermes/hermes-dc0f1ff6
seb:hermes/hermes-9a801eb5
seb:hermes/hermes-ad6e6820
seb:hermes/hermes-8b18afb8
seb:rewbs/tool-use-charge-to-subscription
seb:gemini-cli-port/stale-browser-snapshot-superseding
seb:hermes/hermes-91844716
seb:hermes/hermes-f55316e0
seb:hermes/hermes-76f7e5cd
seb:hermes/hermes-cc622e18
seb:hermes/hermes-79b25268
seb:hermes/hermes-f4786c9c
seb:hermes/hermes-41d468a2
seb:hermes/hermes-701ad555
seb:hermes/hermes-35337734
seb:hermes/hermes-e10e6bf0
seb:hermes/hermes-8a2494d5
seb:hermes/hermes-385d033c
seb:hermes/hermes-2c786d88
seb:hermes/hermes-24c5a56c
seb:hermes/hermes-a8a19433
seb:hermes/hermes-dadddde3
seb:hermes/hermes-99d28812
seb:hermes/hermes-98ff0c21
seb:hermes/hermes-abdd86e5
seb:hermes/hermes-3090d6ac
seb:hermes/hermes-eaa694be
seb:sid/pwn-bench
seb:hermes/hermes-578d1b94
seb:hermes/hermes-da1d3af1
seb:hermes/hermes-88866ac7
seb:hermes/hermes-5c3ebbce
seb:hermes/hermes-b6eff376
seb:hermes-d0598e72
seb:hermes/hermes-940f3eca
seb:hermes/hermes-e87583c1
seb:hermes/hermes-bf538de7
seb:hermes/hermes-f75b7c8e
seb:sid/pwn-bench-dojo-id-fix
seb:hermes/hermes-b2abefdf
seb:hermes/hermes-f0221ac3
seb:hermes/hermes-a866ff99
seb:hermes/hermes-f091e3b8
seb:hermes/hermes-cd7257f9
seb:hermes/hermes-9b1dadd7
seb:hermes/hermes-b7b6ec54
seb:hermes/hermes-4ce879fa
seb:hermes/hermes-c815228d
seb:hermes/hermes-3bd17b7b
seb:fix/minimax-aux-model-pricing
seb:fix/npm-ci-update
seb:fix/uv-lock-exa-py
seb:feat/secrets-phase1
seb:ascii-video/text-readability-and-layout-oracle
seb:hermes/hermes-76df6a95
seb:hermes/hermes-ac2495d7
seb:hermes/hermes-bf2cd279
seb:hermes/hermes-8e764fde
seb:hermes/hermes-b6f1eb21
seb:hermes/hermes-3d9ccfec
seb:hermes/hermes-deb3d2ef
seb:endless_terminals_integration
seb:hermes/hermes-4b23f322
seb:feat/web-ui
seb:hermes/hermes-6835494f
seb:fix/anthropic-whatsapp
seb:feat/rate-limiter
seb:hermes/hermes-b8e0ec91
seb:hermes/hermes-af1b4b23
seb:hermes/hermes-164a52cc
seb:feat/ci-improvements
seb:feat/agent-resilience
seb:feat/cron-script-gate
seb:hermes/hermes-0d76d7cd
seb:hermes/hermes-e6f1d362
seb:hermes/hermes-b8464e26
seb:hermes/hermes-ea354159
seb:hermes/hermes-ab59de22
seb:hermes/hermes-ec5223e1
seb:hermes/hermes-b351df6b
seb:docker
seb:feat/keystore-wallet
seb:hermes/hermes-f4f0292e
seb:hermes/hermes-97c48e70
seb:fix/uv-lock-version
seb:fix/unify-permissions
seb:hermes/hermes-51f7b6b6
seb:hermes/hermes-135af169
seb:hermes/hermes-a403a780
seb:hermes/hermes-5e6ebebb
seb:hermes/hermes-f5a4cd91
seb:hermes/hermes-03f7719f
seb:hermes/hermes-8a2f15b3
seb:hermes/hermes-5a68ad9d
seb:hermes/hermes-a2b72b01
seb:feat/gpt-tool-steering
seb:hermes/hermes-37947bdb
seb:hermes/hermes-9420d6a3
seb:hermes/hermes-6c7a1441
seb:hermes/hermes-86f614ec
seb:hermes/hermes-4f6a1f8e
seb:hermes/hermes-caea5692
seb:hermes/hermes-f8f80cce
seb:hermes/hermes-5ef8201d
seb:hermes/hermes-140430f8
seb:feat/suffix-path-apt-provision
seb:hermes/hermes-64c3ceb2
seb:hermes/hermes-cd318db6
seb:hermes/hermes-dd753a5f
seb:hermes/hermes-dfd0d467
seb:hermes/hermes-7e1dfbda
seb:fix/api-server-toolset
seb:hermes/hermes-93060758
seb:hermes/hermes-ad9511d6
seb:hermes/hermes-6dfb41ea
seb:hermes/hermes-52a54135
seb:hermes/hermes-203498f3
seb:hermes/hermes-998d1c81
seb:hermes/hermes-7d7ac769
seb:hermes/hermes-d877fbc1
seb:hermes/hermes-9f3f51e2
seb:hermes/hermes-0b98b356
seb:chore/remove-pkce-oauth
seb:hermes/hermes-2cdc8d39
seb:hermes/hermes-c75e42c8
seb:hermes/hermes-e483085e
seb:sid/remove-drift-check
seb:sid/nix-flake
seb:hermes/hermes-ac86d935
seb:hermes/hermes-4e5b94c3
seb:hermes/hermes-84f0446e
seb:docs/hooks-page-update
seb:hermes/hermes-aff6c48a
seb:hermes/hermes-ae6184d3
seb:hermes/hermes-afb547e5
seb:hermes/hermes-0f4e765c
seb:hermes/hermes-baa39faf
seb:hermes/hermes-gateway-context
seb:hermes/hermes-3c0e357d
seb:hermes/hermes-ab0f07ce
seb:hermes/hermes-e6c9dba2
seb:hermes/hermes-1817ce8d
seb:hermes/hermes-764f7842
seb:hermes/hermes-e26fa01d
seb:hermes/hermes-e8325591
seb:hermes/hermes-46839e2f
seb:hermes/hermes-28b19313
seb:hermes/hermes-11fd857d
seb:hermes/hermes-1b7b3ffb
seb:hermes/hermes-1e53b883
seb:hermes/hermes-c6c58b20
seb:fix/toolset-deselection
seb:fix/media-paths-spaces
seb:fix/media-spaces-2
seb:fix/approval-yaml-off
seb:hermes/hermes-a2fa4544
seb:hermes/hermes-d58d97b5
seb:hermes/hermes-f9506ecc
seb:hermes/hermes-dc116992
seb:hermes/hermes-81afb1bb
seb:hermes/hermes-31d7db3b
seb:hermes/hermes-5d6932ba
seb:hermes/hermes-40b195db
seb:hermes/hermes-0fa141a3
seb:feat/streaming-default
seb:feat/context-file-priority
seb:hermes/hermes-3369cdb1
seb:streaming-plus-reasoning
seb:fix/event-loop-closed-delegate
seb:hermes/hermes-7ea545bf
seb:hermes/hermes-3d7c23c9
seb:hermes/hermes-4a7e401e
seb:hermes/hermes-b313983a
seb:hermes/hermes-6757a563
seb:hermes/hermes-e83093f0
seb:hermes/hermes-14b05543
seb:hermes/hermes-54c1fc70
seb:hermes/hermes-f1230adf
seb:hermes/hermes-9c2a5d00
seb:fix/custom-endpoint-context-length
seb:hermes/hermes-51eb4292
seb:hermes/hermes-9dc2e46c
seb:fix/anthropic-compatible-api-mode
seb:hermes/hermes-6193ae92
seb:hermes/hermes-b29f73b2
seb:hermes/hermes-ba3c8fa1
seb:hermes/hermes-562a3784
seb:fix/whatsapp-reply-prefix-bridging
seb:hermes/hermes-eab76047
seb:feat/whatsapp-reply-prefix
seb:feat/unauthorized-dm-behavior
seb:fix/cron-oneshot-grace
seb:hermes/hermes-8112c8c8
seb:fix/browser-command-registry
seb:feat/cron-silent-suppression
seb:fix/agent-created-skill-policy
seb:hermes/hermes-e2084cc7
seb:hermes/hermes-c954a38b
seb:hermes/hermes-8058968e
seb:hermes/hermes-0d5a11f5
seb:hermes/hermes-09305421
seb:hermes/hermes-0ed29ee7
seb:hermes/hermes-4c573e36
seb:hermes/hermes-044b5de9
seb:hermes/hermes-48646def
seb:fix/gateway-platform-hardening
seb:fix/tool-handler-safety
seb:hermes/hermes-31dc9875
seb:fix/defensive-hardening
seb:hermes/hermes-3fc35e7b
seb:hermes/hermes-c91521bf
seb:hermes/hermes-835076ca
seb:fix/cron-timezone-naive-iso
seb:hermes/hermes-5a9e8a78
seb:fix/memory-tool-file-locking
seb:fix/model-metadata-fuzzy-match
seb:fix/compression-attempts-persist
seb:fix/run-agent-role-violations
seb:fix/browser-session-race
seb:fix/compressor-consecutive-role-violation
seb:fix/messaging-toolset-missing
seb:fix/length-continue-retries-reset
seb:fix/cron-double-load-jobs
seb:fix/anthropic-tool-choice-none
seb:fix/auxiliary-is-nous-reset
seb:fix/matrix-mattermost-mark-connected
seb:fix/dingtalk-requirements-check
seb:fix/hermes-state-thread-locks
seb:fix/anthropic-adapter-merge-content-loss
seb:fix/gateway-yaml-pii-redaction
seb:fix/redacting-formatter-import
seb:fix/nous-model-fetch-kwargs
seb:fix/gateway-skill-command-nameref
seb:hermes/hermes-ee292dec
seb:hermes/hermes-ac005632
seb:feat/mattermost-matrix-adapters
seb:hermes/hermes-923bc090
seb:hermes/hermes-f685e964
seb:hermes/hermes-3218df83
seb:hermes/hermes-6bb9911e
seb:hermes/hermes-1eba1f1d
seb:fix/discord-thread-persistence
seb:hermes/hermes-a86162db
seb:hermes/hermes-6891ac11
seb:hermes/hermes-c3e4cd9f
seb:hermes/hermes-8f33e910
seb:hermes/hermes-93b81725
seb:hermes/hermes-733cf6a3
seb:shloms/ascii-video-v3
seb:fix/anthropic-oauth-compat
seb:hermes/hermes-a098c323
seb:hermes/hermes-6360cdf9
seb:hermes/hermes-84930008
seb:fix/smart-model-routing
seb:hermes/hermes-81c07511
seb:hermes/hermes-865f6958
seb:fix/1445-docker-cwd-optin
seb:hermes/hermes-adbf9508
seb:fix/814-group-session-isolation
seb:fix/1033-telegram-voice-fallback
seb:fix/setup-curses
seb:fix/ssh-preflight-check
seb:fix/openrouter-reasoning-gate
seb:fix/custom-endpoint-verification
seb:fix/telegram-chunk-mdv2
seb:fix/status-token-counts
seb:fix/honcho-seed-identity
seb:fix/mcp-auto-reload
seb:rewbs/feat-vercel-log-analysis-loop-skill
seb:fix/tirith-startup-noise
seb:fix/docker-explicit-forward-env
seb:sid/persistent-backend
seb:fix/1071-dict-tool-args
seb:hermes/hermes-60456cd2
seb:fix/1219-cron-thread-context
seb:fix/1244-env-override
seb:fix/1336-discord-voice-reliability
seb:fix/1414-gateway-shutdown-restart
seb:fix/1412-session-delete-prefix
seb:fix/1409-photo-burst-interrupts
seb:fix/1247-preserve-mcp-toolsets
seb:fix/1264-env-secret-blocklist
seb:fix/1056-dm-session-isolation
seb:hermes/gws-hybrid
seb:hermes/hermes-daa73839
seb:hermes/slack-thread-docs
seb:hermes/hermes-45b79a59-clawhub-search
seb:hermes/hermes-8bb24bf8
seb:hermes/hermes-7ef7cb6a
seb:hermes/hermes-eca4a640
seb:hermes/hermes-629f8bde
seb:hermes/hermes-aa701810
seb:hermes/hermes-0fadff1b
seb:hermes/hermes-45b79a59-pr1087
seb:hermes/hermes-45b79a59
seb:hermes/plan-workspace-storage
seb:fix/retry-history-replacement
seb:hermes/hermes-51c02bb3
seb:hermes/hermes-39158886-docs
seb:hermes/hermes-781f9235-docs
seb:hermes/hermes-39158886-scope-prompts
seb:hermes/hermes-781f9235
seb:hermes/hermes-39158886
seb:feat/aux-delegation-direct-endpoints
seb:hermes/hermes-cf8340fc
seb:hermes/hermes-f1104def
seb:fix/cron-same-target-send-suppression
seb:hermes/hermes-ec1096a3
seb:hermes/hermes-1fc28d17
seb:hermes/hermes-048e6599
seb:hermes/hermes-771dc4f8
seb:salvage/pr-977-mcp-stdio
seb:hermes/hermes-3702edad
seb:hermes/hermes-f48b210a
seb:hermes/hermes-cc060dd9
seb:hermes/hermes-24af4d63
seb:hermes/hermes-8ea7cef0
seb:hermes/hermes-720acdad
seb:hermes/hermes-645b95a6
seb:fix/worktree-terminal-requirements
seb:fix/file-tool-log-noise
seb:hermes/hermes-07d947aa
seb:feat/cache-aware-context-compaction
seb:hermes/hermes-50716de4
seb:hermes/hermes-7c22e5c1
seb:hermes/hermes-31d07af4
seb:fix/honcho-cache-stability
seb:hermes/hermes-e0e71a89
seb:hermes/hermes-6299a8b2
seb:hermes/hermes-294208e8
seb:hermes/hermes-447d1ebd
seb:hermes/hermes-4cde5efa
seb:hermes/hermes-80175760
seb:hermes/hermes-1ba70e80
seb:fix/hygiene-threshold
seb:fix/compression-session-sync
seb:hermes/hermes-6ec3b1a9
seb:fix/packaging-bugs
seb:hermes/hermes-42bc21fb
seb:hermes/hermes-d28bf447
seb:hermes/hermes-f47f71c0
seb:hermes/hermes-e31afb4d
seb:hermes/hermes-7ade10b5
seb:hermes/hermes-c877bdeb
seb:hermes/hermes-3ea433e3
seb:sid/xitter-skill
seb:hermes/hermes-465f3702
seb:hermes/hermes-4b9773d6
seb:feat/optional-rl-training
seb:hermes/hermes-3a9bd319
seb:hermes/hermes-5da06378
seb:hermes/hermes-37fb78aa
seb:hermes/hermes-cf9f7d54
seb:voice/default-soul
seb:fix/landing-page
seb:feat/devex-tooling
seb:feat/phone-call-tool
seb:hermes/hermes-74edaf38
seb:hermes/hermes-b86fddbe
seb:hermes/hermes-106e92b2
seb:hermes/hermes-20ea56c0
seb:fix/smart-vision-setup
seb:fix/cron-naive-timestamps
seb:hermes/hermes-7ac629f4
seb:hermes/hermes-ece5a45c
seb:feat/streaming
seb:feat/custom-compaction-prompt-config
seb:fix/multimodal-compress-content
seb:feat/codex-handoff-prefix
seb:feat/codex-compaction-prompt
seb:hermes/hermes-98b7f9b9
seb:hermes/hermes-ecb374ec
seb:hermes/hermes-90ec9b1f
seb:hermes/hermes-5f68598a
seb:hermes/hermes-b0162f8d
seb:feat/show-full-dangerous-command
seb:hermes/hermes-21d8bacc
seb:hermes/hermes-281ff8aa
seb:hermes/hermes-3d744afd
seb:hermes/hermes-1a683351
seb:feat/checkpoint-rollback
seb:hermes/hermes-5ab2a29e
seb:add-upstream-atropos-tool-use-changes
seb:hermes/hermes-b611b2fe
seb:hermes/hermes-0cbb57e2
seb:fix/vision-test-flake
seb:feat/parallelize-tests
seb:feat/devex-help
seb:feat/streaming-tui
seb:hermes/hermes-d2f5523a
seb:feat/telegram-send-document
seb:optional-builtin
seb:feat/budget-pressure-via-tool-result
seb:hermes/hermes-e56c0f70
seb:feat/discord-allow-bots
seb:feat/file-permissions-hardening
seb:feat/configurable-compaction-protection
seb:feat/head-tail-truncation-execute-code
seb:hermes/hermes-c53b7cba
seb:hermes/hermes-abbf790e
seb:hermes/hermes-f8d56335
seb:hermes/hermes-3cd7c62d
seb:hermes/hermes-2cb83eed
seb:feat/bell-on-complete
seb:hermes/hermes-cfe83dd1
seb:pass-session-id
seb:fuck-it-ship-it
seb:feat/session-naming
seb:revert-659-feat/skill-prerequisites
seb:custom_auxiliary_models
seb:rewbs/nous-key-remint-attempt-on-401
seb:feat/modular-setup-wizard
seb:feat/insights
seb:feat/modal
seb:feature/obliteratus-skill
seb:endless-terminal-new
seb:fix-widescreen-prompt-box
seb:fix/none-content-pattern
seb:rewbs/fix-nous-refresh-token-rotation-on-key-mint-failure
seb:rewbs/nous-portal-integration
seb:nomad-backend-fanout-pr3
seb:terminal-backend-fanout-pr2
seb:atropos-integrations-pr
seb:atropos-integrations
seb:endless-terminals
seb:atropos-hermes-agent
seb:modal-integration
seb:rl-capabilities
seb:macbook-tests
seb:architecture-planning
seb:add-prokletor
seb:asyncio
seb:thought-sig
seb:profiling
seb:simplify-terminal
seb:cluster-fail
seb:tc-logging
seb:update-snapshot-id
seb:test
seb:fix-leakage
seb:fix-terminal
seb:UI
seb:add-morph-snapshot
seb:terminal
seb:backup/precopystrip-20260616-2058
seb:backup/opentui-prestrip-20260616-1950
seb:v2026.6.5
seb:v2026.5.29.2
seb:clean-before-remerge
seb:v2026.5.29
seb:merge-commit-backup
seb:premerge-oh-god
seb:v2026.5.28
seb:v2026.5.16
seb:desktop-pr20059-installers
seb:v2026.5.7
seb:v2026.4.30
seb:v2026.4.23
seb:v2026.4.16
seb:v2026.4.13
seb:v2026.4.8
seb:v2026.4.3
seb:v2026.3.30
seb:v2026.3.28
seb:v2026.3.23
seb:v2026.3.17
seb:v2026.3.12
...
pull from: seb:nanoclaw-port/uninstall-dry-run
seb:ethie/e2e
seb:hermes/hermes-0f8a2d57
seb:fix/resume-follows-compression-tip
seb:hermes/hermes-76de4391
seb:main
seb:hermes/notify-cli-tui-supersede
seb:fix/dashboard-ds-button-api
seb:hermes/hermes-afb6a269
seb:dependabot/npm_and_yarn/website/undici-7.28.0
seb:dependabot/npm_and_yarn/dompurify-3.4.11
seb:feat/relay-inbound-ws
seb:feat/cron-scheduler-provider-chronos
seb:feat/multiplex-gateway
seb:fix/ns501-multipart-upload-salvage
seb:dependabot/uv/starlette-1.3.1
seb:dependabot/uv/python-multipart-0.0.31
seb:hermes/hermes-11bc708e
seb:feat/raft-platform-plugin
seb:cline-port/parallel-tool-call-guidance
seb:dependabot/npm_and_yarn/website/webpack-dev-server-5.2.5
seb:bb/pets-gen
seb:bb/pets
seb:salvage/oauth-system-prompt-relocation
seb:fix/ns506-session-db-durability
seb:feat/remove-legacy-dashboard-session-token
seb:codex-port/mcp-default-timeout-300
seb:feat/opentui-copy-button
seb:feat/opentui-native-engine
seb:fix/cli-worktree-lock
seb:fix/clarify-choices-docstring
seb:feat/provider-reported-cost
seb:fix/desktop-subagent-streaming
seb:hermes/hermes-0184cf20
seb:dependabot/github_actions/actions-minor-patch-d188ce17e4
seb:dependabot/uv/tornado-6.5.7
seb:dependabot/npm_and_yarn/website/dompurify-3.4.10
seb:dependabot/npm_and_yarn/website/launch-editor-2.14.1
seb:dependabot/npm_and_yarn/scripts/whatsapp-bridge/protobufjs-7.6.4
seb:bb/food-delivery
seb:dependabot/npm_and_yarn/scripts/whatsapp-bridge/ws-8.21.0
seb:dependabot/uv/pytest-9.0.3
seb:salvage/xiaomi-mimo-base-url-routing
seb:salvage/xiaomi-mimo-thinking-replay
seb:hermes/hermes-d13b1ab7
seb:salvage/xiaomi-mimo-vision-tool-routing
seb:salvage/xiaomi-mimo-accounting-errors
seb:salvage/windows-uia-computer-use
seb:feat/image-generate-image-input
seb:openclaw-port/telegram-typing-cooldown
seb:openclaw-port/web-url-whitespace
seb:nanoclaw-port/uninstall-dry-run
seb:nanoclaw-port/docker-network-toggle
seb:ironclaw-port/memory-null-target-4547
seb:feat/iron-proxy
seb:feat/openrouter-fusion-model-slugs
seb:fix/telegram-rich-messages-opt-in
seb:fix/codex-bounded-leak-scan
seb:claude-code-inspired/safe-mode
seb:claude-code-inspired/title-language
seb:claude-code-inspired/shell-startup-write-deny
seb:nanoclaw-port/upload-trace-v2
seb:feat/opentui-memory-window
seb:hermes/hermes-0a703936
seb:hermes/hermes-9bdf8753
seb:revert-45263-bb/desktop-chat-autoscroll
seb:dependabot/uv/tornado-6.5.6
seb:feat/web-grounding-citations
seb:platform-support-tiers
seb:hermes-e2e
seb:ethie/node-bundle
seb:fix/worktree-prune-data-loss
seb:ethie/ws-api-move
seb:bb/desktop-served-token
seb:austin/fix/types-node-lockfile
seb:fix/coding-context-followup
seb:fix/windows-update-respawn-pythonw
seb:hermes/hermes-4e3ec235
seb:test-save-durations-fix
seb:dependabot/uv/cbor2-5.9.0
seb:dependabot/uv/pygments-2.20.0
seb:desktop-cmd-ctrl-2
seb:feat/desktop-remote-filesystem
seb:feat/gateway-relay-adapter
seb:bb/model-routing
seb:extend-hook-registry-for-plugins
seb:feat/desktop-worktree-sessions
seb:hermes-ts6
seb:fix/terminal-env-sync-test
seb:refactor/concurrent-gate-fixture-scope
seb:feat/debug-share-nous-s3
seb:feat/tui-plugins-hub
seb:fix/plugins-slash-command-discovery
seb:bb/desktop-terminal-bottom
seb:feat/plugin-subdir-install
seb:fix/photon-test-package-init
seb:ethie/nix-faster
seb:feat/desktop-remote-update-skew
seb:feat/apify-plugin
seb:feat/dynamic-workflow-skill
seb:hermes/hermes-8d223d48
seb:hermes/hermes-b9598731
seb:worktree-desktop-surface-slash-commands
seb:migrate/platforms-to-plugins
seb:hermes/hermes-87ac0a8e
seb:salvage/pr-39244
seb:salvage/pr-41166
seb:salvage/pr-41076
seb:salvage/pr-39749
seb:salvage/pr-41151
seb:salvage/pr-41063
seb:salvage/pr-41048
seb:salvage/pr-38049
seb:salvage/pr-38063
seb:salvage/pr-38184
seb:salvage/pr-39198
seb:salvage/pr-39608
seb:salvage/pr-39624
seb:salvage/pr-41091
seb:salvage/pr-41113
seb:salvage/pr-41131
seb:salvage/pr-41024
seb:hermes/hermes-e2178603
seb:feat/recipes-skill-automations
seb:feat/proactive-monitor
seb:bb/cron-history-timeout
seb:fix/windows-update-gateway-respawn-breakaway
seb:bb/desktop-install-update-ui
seb:bb/vite-worktree-fs-allow
seb:salvage/40531-mermaid-preview
seb:salvage/40534-tool-exit-not-error
seb:salvage/40242-oauth-header-test
seb:salvage/40430-cron-cli-tests
seb:salvage/40363-desktop-cwd-default
seb:salvage/40264-clarify-mention-strip
seb:salvage/40273-banner-width
seb:salvage/40346-plugins-list-entrypoints
seb:salvage/40303-timestamp-format
seb:salvage/40431-hook-thread-chattype
seb:salvage/40413-40299-macos-launchd-reliability
seb:salvage/40490-lazydeps-tui-prompt
seb:emo/preseve-shallow
seb:bb/desktop-remote-image-upload
seb:bb/desktop-update-slash
seb:bb/version-slash-command
seb:bb/docs-remote-backend-update-skew
seb:bb/backend-contract-bump-profile-routing
seb:bb/docs-desktop-macos-gatekeeper
seb:bb/update-reexec-after-pull
seb:dependabot/npm_and_yarn/website/postcss-8.5.15
seb:fix/onboarding-skip-on-stale-env-var
seb:ethie/windows-installer-fixes
seb:bb/desktop-send-to-all
seb:salvage/pr-9190
seb:ethie/slash-prompt-start-only
seb:opencode-port/respect-disabled-compaction-on-overflow
seb:fix/node-fhs-root-hardening
seb:fix/node-symlink-fhs-root-install
seb:feat/dashboard-auth-self-hosted-oidc
seb:bb/coding-agent-harness-analysis
seb:feat/dashboard-register
seb:fix/docker-tty-zero-dim-pty
seb:hermes/hermes-040df651
seb:gemini-cli-port/config-corruption-backup
seb:plugin-sdk-auth
seb:hermes/hermes-6c420680
seb:hermes/hermes-aba10f53
seb:hermes/hermes-de0d15b6
seb:dependabot/github_actions/docker/setup-buildx-action-4.1.0
seb:fix/slash-keyboard-selection
seb:dashboard-internal-ws-credential
seb:pr-37665
seb:pr-37660
seb:ethie/uv-salvage
seb:bb/installer-trusted-uv-resolution
seb:hermes/hermes-780defc4
seb:ethie/oh-god
seb:hermes/hermes-d1511484
seb:bb/desktop-install-path-clarity
seb:feat/gateway-lazy-platform-import
seb:hermes/hermes-a963c25d
seb:feat/blank-slate-setup
seb:hermes/curator-usage-cli
seb:ethie/win-exe-only
seb:bb/tui-ansi-height-desync
seb:bb/clarify-prompt-timeout-stuck
seb:revert-34333-feat/nvidia-skills-tap
seb:fix/tui-mouse-x10-prompt-leak
seb:hermes/hermes-d44c5398
seb:hermes/hermes-368c2379
seb:bb/gui-mainmerge-tmp
seb:hermes/gateway-replace-fix
seb:hermes/hermes-21eb0ce1
seb:fix/dev-dep-setuptools
seb:fix/packaging-test-setuptools-dep
seb:hermes/hermes-2747755a
seb:docs/video-gen-nous-gateway
seb:ethie/fix-nix-develop
seb:v2026.5.29.1
seb:docs/execute-code-hermes-env-passthrough
seb:hermes/hermes-135cadfb
seb:hermes/sec-tier1-32130
seb:hermes/hermes-2b79b6da
seb:opencode-port/responses-failed-error-detail
seb:hermes-events-bus
seb:perf/fts-optimize
seb:release/v0.15.0-strip-gui
seb:fix/nix-gateway-install-env
seb:hermes/hermes-737ba78e
seb:ethie/docker-simplify-tagging
seb:dependabot/github_actions/actions/deploy-pages-5.0.0
seb:feat/15268-pricing-nous-xai
seb:hermes/fix-copilot-auth-test
seb:fix/update-detects-parent-shim-as-running
seb:docker_s6
seb:dependabot/npm_and_yarn/scripts/whatsapp-bridge/multi-f792d6d6d9
seb:hermes/hermes-5fdb1cc4
seb:bb/tui-ctrlj-newline
seb:sid/tool-gateway-implement
seb:hermes/hermes-aa200214
seb:feat/dashboard-typography-and-contrast
seb:ethie/faster-tests-fake-main
seb:fix/vision-dimension-cap
seb:hermes/hermes-09fb88ef
seb:ziliang-review-fork-inherit-toolsets
seb:salvage-8306-webhook-secret
seb:hermes/hermes-5db05717
seb:hermes/hermes-a5904da7
seb:refactor/stop-writing-gateway-jsonl-transcripts
seb:refactor/stop-writing-session-json-snapshots
seb:hermes/hermes-72b329fd
seb:hermes/hermes-008bccbc
seb:hermes/firecrawl-integration-tag-telemetry-gated
seb:hermes/hermes-63babeb7
seb:hermes/hermes-5e533958
seb:hermes/hermes-8d7d912f
seb:brooklyn/gui-installer-prereqs
seb:hermes/hermes-429c1355
seb:bb/tui-mouse-burst-swallow
seb:feat/session_search_modes
seb:hermes/hermes-5ac74b48
seb:bb/cli-resize-duplication
seb:salvage/pr-23780
seb:lsp-plugin
seb:austin/fix/minimax-oauth
seb:bb/lsp-lint
seb:hermes/hermes-4fa48a27
seb:salvage/pr-22685
seb:feat/session-handoff
seb:feat/codex-mcp-preset
seb:feat/codex-cli-provider
seb:hermes/hermes-3b90958e
seb:perf/honcho-shutdown
seb:hermes/hermes-b2e6c99b
seb:austin/feat/google-oauth-provider
seb:bb/gui-gateway-attach-wiring
seb:bb/tui-gateway-attach-core
seb:hermes/hermes-e239855c
seb:fix/windows-uv-python-install-stderr
seb:bb/windows-cli-tui-native-main
seb:feat/trust-engine
seb:feat/watchers
seb:bb/widget-grid-slots
seb:hermes/hermes-1c84a997
seb:feat/browser-coordinate-click
seb:cline-port/openrouter-qwen-cache-control
seb:fix/ty-1
seb:hermes/hermes-fee7225c
seb:hermes/hermes-9ddf5187
seb:codex-port/hook-output-spill
seb:fix/terminal-safety-filter-false-positives
seb:fix/gateway-remove-stale-code-self-restart
seb:kilocode-port/compact-strip-media
seb:fix/stale-cwd-recovery
seb:feat/hermes-send
seb:kanban_hermes_home
seb:hermes/hermes-fabc46fe
seb:feat/tinyfish-browser-provider
seb:hermes/hermes-96962c19
seb:claude-code-inspired/session-recap
seb:fix/lazy-session-creation
seb:hermes/hermes-3c2988b0
seb:opencode-port/invalid-mcp-url
seb:opencode-port/moonshot-ref-siblings
seb:bb/docker-tui-prebuilt
seb:fix/aux-anthropic-url-regression-test
seb:vbrunet/2026_04_15-terminal-title-updates
seb:bb/theme
seb:cline-port/gateway-memory-monitor
seb:gemini-cli-port/exit-delete-session
seb:bb/tui-copy-on-select
seb:feat/comfyui-skill-v3
seb:hermes/hermes-dd91e6b2
seb:feat/provider-modules
seb:hermes/hermes-dab6fbf1
seb:feat/comfyui-skill-v2
seb:vbrunet/2026_04_29-terminal-titles
seb:feat/kanban-standing
seb:bb/tui-reload-env
seb:bb/learning-ledger
seb:bb/tui-status-ticker-width
seb:fix/plugin-loader-sys-modules-registration
seb:fix/deprecate-extrapackages-nix
seb:hermes/hermes-c8604b32
seb:fix/chat-tab-persistence
seb:feat/langfuse-plugin
seb:kilocode-port/subagent-cost-rollup
seb:fix/analytics-include-cache-tokens
seb:hermes/hermes-8fedd55b
seb:bb/fix-tui-input-selection
seb:bb/p2-mru-resume-order
seb:hermes/hermes-2c880154
seb:hermes/hermes-8b414b52
seb:nanoclaw-port/signal-groupv2
seb:hermes/hermes-d7874f79
seb:hermes/curator-infra
seb:bb/tui-perf-fix
seb:feature/tui-showroom
seb:bb/base-gui
seb:investigate/fix-tui-container-ink-bundle
seb:fix/flush-memories-context-overflow
seb:design/compression-eval-harness
seb:fix/stop-interrupt-retry-loop
seb:fix/model-switch-custom-endpoint
seb:fix/web-env-validation
seb:fix/hindsight-blank-nuke
seb:fix/setup-vision-blank
seb:sid/discord-context-injection
seb:sid/discord-tool-split
seb:sid/fix-tools-config-save
seb:sid/fix-platform-tool-loading
seb:hermes/hermes-6c37b3dd
seb:hermes/hermes-9d07c44f
seb:alice/nous-portal-recommended-models
seb:onboarding
seb:sid/restructure-pr1-acp
seb:bb/tui-web-chat
seb:opencode-port/configurable-tool-output-limits
seb:hermes/hermes-34b3f52d
seb:sid/types-and-lints
seb:sid/foundational-restructure
seb:feat/dashboard-chat
seb:gemini-cli-port/ssl-retry-patterns
seb:cline-port/anthropic-cache-tokens-top-level
seb:nemo-gym-changes
seb:fix/schema-reconciliation
seb:fix/upgrade-agent-browser-0.26
seb:feat/ssrf-allow-private-urls
seb:feat/volcengine-byteplus
seb:refactor/unify-transport-dispatch
seb:feat/require-mention-channels
seb:remove-nous-free-allowlist
seb:codex-port/ignore-user-config-flags
seb:bb/tui-mouse-toggle
seb:feat/td-skill-update
seb:feat/bedrock-transport
seb:feat/chat-completions-transport
seb:hermes/hermes-bb7c1b2e
seb:kilocode-port/filter-non-tool-openrouter-models
seb:fix/kimi-drop-temperature
seb:bb/tui-elapsed-lastmsg-8541
seb:feat/transport-types
seb:refactor/extract-codex-adapter
seb:ironclaw-port/url-and-form-redaction
seb:openclaw-port/display-tool-call-tags-strip
seb:openclaw-port/anthropic-max-tokens-guard
seb:openclaw-port/compaction-credential-redaction
seb:sid/workspace-salvage
seb:chore/ci-path-filters
seb:chore/remove-stale-docs
seb:feat/native-gemini-provider
seb:salvage/helix4u-zai-setup
seb:hermes/hermes-150d8cf8
seb:hermes/browser-dialog
seb:fix/minimax-glm-token-compression
seb:salvage/nvidia-nim-max-tokens
seb:fix/nix-web-dashboard
seb:feat/comfyui-skill
seb:hermes/hermes-9c0eed69
seb:fix/mcp-oauth-bidirectional-generator-bridge
seb:claude-code-inspired/dangerous-cmd-hardening
seb:fix/test-backoff-timers
seb:ci/matrix-split-v2
seb:fix/test-reduction-batch-2
seb:feat/searxng-backend
seb:opencode-port/sessions-export-sanitize
seb:dashboard-show-remote-gateway-url
seb:hermes/gemini-oauth-30b2099d
seb:feat/gemini-tts-salvage
seb:feat/ungate-tool-gateway
seb:xai-media-tools
seb:fix/ci-test-failures
seb:hermes/hermes-9d38280f
seb:gemini-cli-port/strategic-reevaluation
seb:fix/client-cache-fd-exhaustion
seb:salvage/watch-notification-routing
seb:hermes/hermes-5d6c3d3e
seb:fix/dashboard-analytics-accuracy
seb:hermes/hermes-9a00cfa2
seb:hermes/hermes-050c727e
seb:hermes/hermes-4a9b24c3
seb:codex-port/mcp-parallel-tool-calls
seb:gateway-plugin-loading
seb:max_paperclips/gateway-plugin-loading
seb:feat/remote-gateway-health-probe
seb:compaction-secrets-preservation
seb:fix/dashboard-routing
seb:update-issue-templates-debug-share
seb:sid/tb2-evals
seb:feat/deep-research-skill
seb:hermes/hermes-1b2e5f73
seb:hermes/hermes-9e793b91
seb:fix/feishu-identity-model
seb:fix/web-cron-page-schedule-object
seb:ironclaw-port/telegram-utf16-splitting
seb:nanoclaw-port/session-artifact-cleanup
seb:openclaw-port/reject-weak-gateway-creds
seb:openclaw-port/matrix-mentions-user-ids
seb:fix/gateway-no-systemctl
seb:skill/github-code-review-mcp-tools
seb:chore/remove-sha-docker-tag
seb:feat/gateway-mcp-config-watcher
seb:hermes/hermes-1f7bfa9e
seb:feat/file-sync-back
seb:fix/modal-ssh-upload-bugs
seb:hermes/salvage-7558
seb:hermes/hermes-72401910
seb:hermes/hermes-925eff6a
seb:hermes/hermes-c965583d
seb:hermes/hermes-9c0ad5d9
seb:hermes/hermes-905d6262
seb:hermes/hermes-070e5a43
seb:hermes/hermes-c382c827
seb:hermes/hermes-7052b79e
seb:hermes/hermes-e08f4d67
seb:hermes/hermes-566f8c6d
seb:hermes/hermes-4fdb3d23
seb:hermes/hermes-67b0d759
seb:hermes/hermes-b5e135be
seb:hermes/hermes-2d3cc746
seb:hermes/hermes-80a283e0
seb:hermes/hermes-83dfcdfa
seb:hermes/hermes-efa38736
seb:hermes/hermes-c78b9811
seb:hermes/hermes-ffc6cfa8
seb:hermes/hermes-a50b945e
seb:twilio-auth-fix
seb:fix/claw-migrate-warn-running-gateway
seb:hermes/hermes-f6cda1f0
seb:hermes/hermes-524779d7
seb:hermes/hermes-da2f08b5
seb:hermes/hermes-672624fb
seb:hermes/hermes-28292000
seb:hermes/hermes-ec496c80
seb:hermes/hermes-f43decdf
seb:hermes/hermes-5bef3224
seb:hermes/hermes-17ae0c29
seb:fix/claw-migrate-improve-warnings
seb:fix/claw-migrate-json-env-keys
seb:fix/claw-migrate-workspace-main-paths
seb:fix/claw-migrate-schema-drift
seb:fix/matrix-memorycryptostore-args
seb:fix/claw-migrate-tts-microsoft
seb:fix/claw-migrate-nested-channel-tokens
seb:hermes/hermes-ea68d311
seb:hermes/hermes-38060157
seb:hermes/hermes-0224a8b2
seb:hermes/hermes-b092dccf
seb:hermes/hermes-03da22bc
seb:hermes/bucket3
seb:hermes/hermes-2e0dc4f3
seb:salvage/bucket-st
seb:hermes/hermes-ebb65d1b
seb:hermes/hermes-d0d52697
seb:hermes/hermes-b17bdb8e
seb:hermes/hermes-bc33645d
seb:salvage/bucket-p
seb:hermes/hermes-4a5220fe
seb:hermes/hermes-7f8c199a
seb:hermes/hermes-fefa061a
seb:feat/mautrix-migration
seb:hermes/hermes-7e4c9931
seb:hermes/hermes-dc4200fd
seb:salvage/bucket-o
seb:feat/container-aware-cli
seb:fix/daytona-bulk-upload-config-bridge-7362
seb:claude-code-inspired/context-breakdown
seb:hermes/hermes-1bd9e323
seb:hermes/hermes-17b93f0b
seb:hermes/hermes-9d5d8704
seb:salvage/bucket-n
seb:api-server-enforce-key
seb:hermes/hermes-f8dcb6dd
seb:hermes/hermes-c7787b3d
seb:salvage/bucket-m
seb:hermes/hermes-30126ac0
seb:terminate-zombie-processes
seb:hermes/hermes-ead3c84e
seb:hermes/hermes-f1c0a201
seb:salvage/bucket-i
seb:hermes/hermes-11e9b74a
seb:hermes/hermes-90f54154
seb:hermes/hermes-2376d00b
seb:hermes/hermes-8f5f6063
seb:salvage/bucket-l
seb:hermes/hermes-84ed614f
seb:hermes/hermes-0f8490c2
seb:hermes/hermes-2a3d0461
seb:salvage/bucket-k
seb:hermes/hermes-62b22a1e
seb:hermes/hermes-26f90bd3
seb:security/bucket-j
seb:hermes/hermes-7ef33568
seb:hermes/hermes-3ffcbfb5
seb:hermes/hermes-6584b1e4
seb:hermes/hermes-d9d67691
seb:hermes/hermes-cde3c240
seb:hermes/hermes-27e1fc16
seb:hermes/hermes-5f2c8429
seb:hermes/hermes-8dbb2cec
seb:hermes/hermes-bbf55c16
seb:hermes/hermes-a21aa249
seb:hermes/hermes-eafa085a
seb:hermes/hermes-4b558854
seb:hermes/hermes-0687c6d6
seb:hermes/hermes-33e13b6f
seb:hermes/hermes-1fd9f435
seb:hermes/hermes-1bb7ea55
seb:hermes/hermes-57ea0a16
seb:hermes/hermes-5bbf4839
seb:hermes/hermes-617689ff
seb:hermes/hermes-5cfcdf33
seb:hermes/hermes-05b0c02e
seb:hermes/hermes-115318ed
seb:hermes/hermes-f454d397
seb:hermes/hermes-43ae98f3
seb:hermes/hermes-87f37874
seb:hermes/hermes-bbe6a8b7
seb:hermes/hermes-2556be1e
seb:hermes/hermes-8494816d
seb:hermes/hermes-0d0bfa89
seb:hermes/hermes-c711558a
seb:hermes/hermes-7aad138d
seb:hermes/hermes-4b6801c7
seb:hermes/hermes-374f99bc
seb:hermes/hermes-605d722e
seb:hermes/hermes-c546e7a1
seb:hermes/hermes-62b6865d
seb:hermes/hermes-f8a6248b
seb:hermes/hermes-fe654944
seb:hermes/hermes-d4ece6c2
seb:fix/stream-think-tag-false-positive
seb:hermes/hermes-d0607f0a
seb:hermes/hermes-1c7df171
seb:fix/oauth-issue2-nous-pool-refresh-sync-authstore
seb:hermes/hermes-95b15f6e
seb:hermes/hermes-e201f931
seb:opencode-port/alibaba-rate-limit-retry
seb:fix/oauth-issue1-nous-entry-needs-refresh
seb:fix/oauth-issue5-is-expiring-none-handling
seb:fix/oauth-issue4-anthropic-proactive-sync-hermes-pkce
seb:fix/oauth-issue3-codex-proactive-sync-before-refresh
seb:sid/dead-code-remove
seb:hermes/hermes-8c64f471
seb:hermes/hermes-ff5ba265
seb:hermes/hermes-71aea4c5
seb:hermes/hermes-1b5bb607
seb:hermes/hermes-25b83dfd
seb:fix/nix-shared-state-perms
seb:hermes/hermes-30ac05a4
seb:hermes/hermes-731d3033
seb:hermes/hermes-41d14a2c
seb:hermes/hermes-3f221b1b
seb:hermes/hermes-e873511f
seb:hermes/hermes-41cd011b
seb:hermes/hermes-f409204f
seb:hermes/hermes-bcf93c03
seb:hermes/hermes-2f44469d
seb:hermes/hermes-3466ee98
seb:hermes/hermes-398baa59
seb:hermes/hermes-1ff40dac
seb:hermes/hermes-0429963a
seb:hermes/hermes-ff89d9af
seb:hermes/hermes-de843a22
seb:hermes/hermes-037596df
seb:hermes/hermes-e77cdbbf
seb:hermes/hermes-135e8d93
seb:hermes/hermes-f2a81adb
seb:hermes/hermes-2447adad
seb:hermes/hermes-005912a8
seb:hermes/hermes-1845cad9
seb:hermes/hermes-d5c0fd3b
seb:hermes/hermes-b5d8eff0
seb:hermes/hermes-5df3920d
seb:hermes/hermes-b0a4b31e
seb:hermes/hermes-063b6e1d
seb:hermes/hermes-98aa7b3a
seb:hermes/hermes-1fa6ad8f
seb:hermes/hermes-485d498c
seb:hermes/hermes-e77429d5
seb:hermes/hermes-1d8a5754
seb:sid/unified-file-sync
seb:hermes/hermes-38cb19c4
seb:hermes/hermes-54fe23ca
seb:fix/nix-add-to-system-packages-complete
seb:hermes/hermes-947c24f7
seb:sid/unified-terminal-envs
seb:hermes/hermes-9085f0bb
seb:hermes/hermes-6b365d9a
seb:hermes/hermes-4923821d
seb:hermes/hermes-4e231d00
seb:hermes/hermes-554a02fe
seb:hermes/hermes-016048ea
seb:feat/worldsim-skill
seb:hermes/hermes-6b456629
seb:hermes/hermes-f845dfbe
seb:hermes/hermes-83d3c1db
seb:hermes/hermes-8452ab09
seb:hermes/hermes-9f84a11f
seb:hermes/hermes-53abd2ba
seb:hermes/hermes-ef18f2ae
seb:hermes/hermes-7d888e8c
seb:hermes/hermes-7bf50ef1
seb:hermes/hermes-f400edfe
seb:hermes/hermes-27761e13
seb:hermes/hermes-d07e864e
seb:hermes/hermes-e3aca6ef
seb:hermes/hermes-c7eda492
seb:sid/tool-result-fixes
seb:hermes/hermes-87470f33
seb:hermes/hermes-ef25015a
seb:hermes/hermes-fb3680fc
seb:hermes/hermes-476720eb
seb:hermes/hermes-7d70fb12
seb:hermes/hermes-2f2a1403
seb:hermes/hermes-c81d4c5a
seb:hermes/hermes-3ff117b3
seb:hermes/hermes-5e970516
seb:hermes/hermes-cabfdb4f
seb:sid/restructure-tests
seb:hermes/hermes-701b2186
seb:rm/add-portal-link
seb:hermes/hermes-81f85bb4
seb:hermes/hermes-822a0590
seb:hermes/hermes-d623dc00
seb:hermes/hermes-37b5ec52
seb:hermes/hermes-fef87f31
seb:hermes/hermes-f1e32b74
seb:hermes/hermes-756f7e33
seb:salvage/5752-nous-free-tier-gating
seb:feat/nous-free-tier-model-gating
seb:switch-managed-browser-to-browser-use
seb:hermes/hermes-7697425c
seb:hermes/hermes-53b01c86
seb:hermes/hermes-81d3384e
seb:hermes/hermes-86122627
seb:hermes/hermes-03d7aa21
seb:hermes/hermes-b34c1567
seb:hermes/hermes-694ff34e
seb:hermes/hermes-b93afb56
seb:hermes/hermes-c1ef09e3
seb:fix/portal-env-var-ignored-during-login
seb:hermes/hermes-479681ef
seb:hermes/hermes-cd5ac32c
seb:hermes/hermes-71aaf6c8
seb:hermes/hermes-f177c8f0
seb:hermes/hermes-db0c54fb
seb:sid/unified-execution
seb:hermes/hermes-35bfb4c2
seb:hermes/hermes-47b24166
seb:hermes/hermes-e5557d16
seb:hermes/hermes-b809b68d
seb:sid/nix-fixes-nits
seb:taubench_eval
seb:feat/firecrawl-browser-provider
seb:hermes/hermes-7a93e2c7
seb:hermes/hermes-8cc55056
seb:hermes/hermes-838c5b76
seb:workdir-quote-escape
seb:hermes/hermes-c4a8b829
seb:rm/browser-use-tool-gateway
seb:hermes/hermes-ac0ac8da
seb:hermes/hermes-ba679ba8
seb:hermes/hermes-b692993b
seb:hermes/hermes-ce719117
seb:hermes/hermes-0bc806a5
seb:hermes/hermes-00399121
seb:hermes/hermes-5a282295
seb:fix/various-qa
seb:hermes/hermes-3ef4d555
seb:hermes/hermes-ef6f7818
seb:hermes/hermes-be07ee70
seb:hermes/hermes-c0614333
seb:hermes/hermes-3c9f4a9e
seb:hermes/hermes-39d533b8
seb:hermes/hermes-d6f63ade
seb:hermes/hermes-f47156c2
seb:hermes/hermes-533d3bd8
seb:hermes/hermes-2e42b3a2
seb:fix/research-paper-writing-gaps
seb:hermes/hermes-7c95bd3c
seb:hermes/hermes-626ac686
seb:hermes/hermes-0d7c99a6
seb:fix/nous-portal-env-override
seb:hermes/hermes-80f0ff01
seb:hermes/hermes-8bb0c65b
seb:feat/model-pricing-display
seb:hermes/hermes-03bdbe18
seb:hermes/hermes-84dbce0e
seb:hermes/hermes-c6eacd11
seb:hermes/hermes-25bce159
seb:hermes/hermes-1e6ea4d6
seb:hermes/hermes-bae00f49
seb:hermes/hermes-40531417
seb:hermes/hermes-f9d9e542
seb:hermes/hermes-8e46c8ba
seb:hermes/hermes-3d0a599a
seb:hermes/hermes-c0119f86
seb:hermes/hermes-7fbab92d
seb:hermes/hermes-32facb3d
seb:hermes/hermes-d0aa7802
seb:hermes/hermes-4ff7e90f
seb:hermes/hermes-3667f42f
seb:feat/model-provider-overhaul
seb:hermes/hermes-1a69af68
seb:hermes/hermes-c035e060
seb:hermes/hermes-466467d8
seb:hermes/hermes-95f1173a
seb:hermes/hermes-208cc6d6
seb:hermes/hermes-1e826e60
seb:hermes/hermes-f2f17778
seb:hermes/hermes-a7ac7c42
seb:hermes/hermes-db023341
seb:hermes/hermes-8c57ca22
seb:hermes/hermes-511b79a5
seb:hermes/hermes-931dc358
seb:feat/fix-plugin-cache-prefix
seb:hermes/hermes-3329bd98
seb:salvage/hindsight-5044
seb:hermes/hermes-0971565e
seb:hermes/hermes-eba4b946
seb:hermes/hermes-ff50f5ae
seb:hermes/hermes-feb2ec9d
seb:hermes/hermes-a82207c8
seb:hermes/hermes-1e1d81f5
seb:hermes/hermes-766150bd
seb:hermes/hermes-cc1cea2c
seb:hermes/hermes-5cbeeeb5
seb:hermes/hermes-3eaaba2c
seb:hermes/hermes-d307e4ae
seb:claude-code-inspired/session-branch
seb:hermes/hermes-70885193
seb:hermes/hermes-8eea7e1a
seb:hermes/hermes-36a59267
seb:hermes/hermes-31074029
seb:hermes/hermes-10baf9e9
seb:hermes/hermes-4d7efb1e
seb:hermes/hermes-3b5d0490
seb:hermes/hermes-97fe1e3c
seb:hermes/hermes-b19afd39
seb:hermes/hermes-669f5444
seb:feat/docker-env-vars
seb:hermes/hermes-5deaba3e
seb:hermes/hermes-368f91f8
seb:hermes/hermes-b9588524
seb:feat/acp-mcp-server-registration
seb:opencode-port/language-aware-compression
seb:hermes/hermes-50668d84
seb:hermes/hermes-376c741f
seb:hermes/hermes-7cbc527e
seb:hermes/hermes-7ab21fac
seb:hermes/hermes-623833b1
seb:hermes/hermes-7de32281
seb:hermes/hermes-921b394b
seb:hermes/hermes-dc0f1ff6
seb:hermes/hermes-9a801eb5
seb:hermes/hermes-ad6e6820
seb:hermes/hermes-8b18afb8
seb:rewbs/tool-use-charge-to-subscription
seb:gemini-cli-port/stale-browser-snapshot-superseding
seb:hermes/hermes-91844716
seb:hermes/hermes-f55316e0
seb:hermes/hermes-76f7e5cd
seb:hermes/hermes-cc622e18
seb:hermes/hermes-79b25268
seb:hermes/hermes-f4786c9c
seb:hermes/hermes-41d468a2
seb:hermes/hermes-701ad555
seb:hermes/hermes-35337734
seb:hermes/hermes-e10e6bf0
seb:hermes/hermes-8a2494d5
seb:hermes/hermes-385d033c
seb:hermes/hermes-2c786d88
seb:hermes/hermes-24c5a56c
seb:hermes/hermes-a8a19433
seb:hermes/hermes-dadddde3
seb:hermes/hermes-99d28812
seb:hermes/hermes-98ff0c21
seb:hermes/hermes-abdd86e5
seb:hermes/hermes-3090d6ac
seb:hermes/hermes-eaa694be
seb:sid/pwn-bench
seb:hermes/hermes-578d1b94
seb:hermes/hermes-da1d3af1
seb:hermes/hermes-88866ac7
seb:hermes/hermes-5c3ebbce
seb:hermes/hermes-b6eff376
seb:hermes-d0598e72
seb:hermes/hermes-940f3eca
seb:hermes/hermes-e87583c1
seb:hermes/hermes-bf538de7
seb:hermes/hermes-f75b7c8e
seb:sid/pwn-bench-dojo-id-fix
seb:hermes/hermes-b2abefdf
seb:hermes/hermes-f0221ac3
seb:hermes/hermes-a866ff99
seb:hermes/hermes-f091e3b8
seb:hermes/hermes-cd7257f9
seb:hermes/hermes-9b1dadd7
seb:hermes/hermes-b7b6ec54
seb:hermes/hermes-4ce879fa
seb:hermes/hermes-c815228d
seb:hermes/hermes-3bd17b7b
seb:fix/minimax-aux-model-pricing
seb:fix/npm-ci-update
seb:fix/uv-lock-exa-py
seb:feat/secrets-phase1
seb:ascii-video/text-readability-and-layout-oracle
seb:hermes/hermes-76df6a95
seb:hermes/hermes-ac2495d7
seb:hermes/hermes-bf2cd279
seb:hermes/hermes-8e764fde
seb:hermes/hermes-b6f1eb21
seb:hermes/hermes-3d9ccfec
seb:hermes/hermes-deb3d2ef
seb:endless_terminals_integration
seb:hermes/hermes-4b23f322
seb:feat/web-ui
seb:hermes/hermes-6835494f
seb:fix/anthropic-whatsapp
seb:feat/rate-limiter
seb:hermes/hermes-b8e0ec91
seb:hermes/hermes-af1b4b23
seb:hermes/hermes-164a52cc
seb:feat/ci-improvements
seb:feat/agent-resilience
seb:feat/cron-script-gate
seb:hermes/hermes-0d76d7cd
seb:hermes/hermes-e6f1d362
seb:hermes/hermes-b8464e26
seb:hermes/hermes-ea354159
seb:hermes/hermes-ab59de22
seb:hermes/hermes-ec5223e1
seb:hermes/hermes-b351df6b
seb:docker
seb:feat/keystore-wallet
seb:hermes/hermes-f4f0292e
seb:hermes/hermes-97c48e70
seb:fix/uv-lock-version
seb:fix/unify-permissions
seb:hermes/hermes-51f7b6b6
seb:hermes/hermes-135af169
seb:hermes/hermes-a403a780
seb:hermes/hermes-5e6ebebb
seb:hermes/hermes-f5a4cd91
seb:hermes/hermes-03f7719f
seb:hermes/hermes-8a2f15b3
seb:hermes/hermes-5a68ad9d
seb:hermes/hermes-a2b72b01
seb:feat/gpt-tool-steering
seb:hermes/hermes-37947bdb
seb:hermes/hermes-9420d6a3
seb:hermes/hermes-6c7a1441
seb:hermes/hermes-86f614ec
seb:hermes/hermes-4f6a1f8e
seb:hermes/hermes-caea5692
seb:hermes/hermes-f8f80cce
seb:hermes/hermes-5ef8201d
seb:hermes/hermes-140430f8
seb:feat/suffix-path-apt-provision
seb:hermes/hermes-64c3ceb2
seb:hermes/hermes-cd318db6
seb:hermes/hermes-dd753a5f
seb:hermes/hermes-dfd0d467
seb:hermes/hermes-7e1dfbda
seb:fix/api-server-toolset
seb:hermes/hermes-93060758
seb:hermes/hermes-ad9511d6
seb:hermes/hermes-6dfb41ea
seb:hermes/hermes-52a54135
seb:hermes/hermes-203498f3
seb:hermes/hermes-998d1c81
seb:hermes/hermes-7d7ac769
seb:hermes/hermes-d877fbc1
seb:hermes/hermes-9f3f51e2
seb:hermes/hermes-0b98b356
seb:chore/remove-pkce-oauth
seb:hermes/hermes-2cdc8d39
seb:hermes/hermes-c75e42c8
seb:hermes/hermes-e483085e
seb:sid/remove-drift-check
seb:sid/nix-flake
seb:hermes/hermes-ac86d935
seb:hermes/hermes-4e5b94c3
seb:hermes/hermes-84f0446e
seb:docs/hooks-page-update
seb:hermes/hermes-aff6c48a
seb:hermes/hermes-ae6184d3
seb:hermes/hermes-afb547e5
seb:hermes/hermes-0f4e765c
seb:hermes/hermes-baa39faf
seb:hermes/hermes-gateway-context
seb:hermes/hermes-3c0e357d
seb:hermes/hermes-ab0f07ce
seb:hermes/hermes-e6c9dba2
seb:hermes/hermes-1817ce8d
seb:hermes/hermes-764f7842
seb:hermes/hermes-e26fa01d
seb:hermes/hermes-e8325591
seb:hermes/hermes-46839e2f
seb:hermes/hermes-28b19313
seb:hermes/hermes-11fd857d
seb:hermes/hermes-1b7b3ffb
seb:hermes/hermes-1e53b883
seb:hermes/hermes-c6c58b20
seb:fix/toolset-deselection
seb:fix/media-paths-spaces
seb:fix/media-spaces-2
seb:fix/approval-yaml-off
seb:hermes/hermes-a2fa4544
seb:hermes/hermes-d58d97b5
seb:hermes/hermes-f9506ecc
seb:hermes/hermes-dc116992
seb:hermes/hermes-81afb1bb
seb:hermes/hermes-31d7db3b
seb:hermes/hermes-5d6932ba
seb:hermes/hermes-40b195db
seb:hermes/hermes-0fa141a3
seb:feat/streaming-default
seb:feat/context-file-priority
seb:hermes/hermes-3369cdb1
seb:streaming-plus-reasoning
seb:fix/event-loop-closed-delegate
seb:hermes/hermes-7ea545bf
seb:hermes/hermes-3d7c23c9
seb:hermes/hermes-4a7e401e
seb:hermes/hermes-b313983a
seb:hermes/hermes-6757a563
seb:hermes/hermes-e83093f0
seb:hermes/hermes-14b05543
seb:hermes/hermes-54c1fc70
seb:hermes/hermes-f1230adf
seb:hermes/hermes-9c2a5d00
seb:fix/custom-endpoint-context-length
seb:hermes/hermes-51eb4292
seb:hermes/hermes-9dc2e46c
seb:fix/anthropic-compatible-api-mode
seb:hermes/hermes-6193ae92
seb:hermes/hermes-b29f73b2
seb:hermes/hermes-ba3c8fa1
seb:hermes/hermes-562a3784
seb:fix/whatsapp-reply-prefix-bridging
seb:hermes/hermes-eab76047
seb:feat/whatsapp-reply-prefix
seb:feat/unauthorized-dm-behavior
seb:fix/cron-oneshot-grace
seb:hermes/hermes-8112c8c8
seb:fix/browser-command-registry
seb:feat/cron-silent-suppression
seb:fix/agent-created-skill-policy
seb:hermes/hermes-e2084cc7
seb:hermes/hermes-c954a38b
seb:hermes/hermes-8058968e
seb:hermes/hermes-0d5a11f5
seb:hermes/hermes-09305421
seb:hermes/hermes-0ed29ee7
seb:hermes/hermes-4c573e36
seb:hermes/hermes-044b5de9
seb:hermes/hermes-48646def
seb:fix/gateway-platform-hardening
seb:fix/tool-handler-safety
seb:hermes/hermes-31dc9875
seb:fix/defensive-hardening
seb:hermes/hermes-3fc35e7b
seb:hermes/hermes-c91521bf
seb:hermes/hermes-835076ca
seb:fix/cron-timezone-naive-iso
seb:hermes/hermes-5a9e8a78
seb:fix/memory-tool-file-locking
seb:fix/model-metadata-fuzzy-match
seb:fix/compression-attempts-persist
seb:fix/run-agent-role-violations
seb:fix/browser-session-race
seb:fix/compressor-consecutive-role-violation
seb:fix/messaging-toolset-missing
seb:fix/length-continue-retries-reset
seb:fix/cron-double-load-jobs
seb:fix/anthropic-tool-choice-none
seb:fix/auxiliary-is-nous-reset
seb:fix/matrix-mattermost-mark-connected
seb:fix/dingtalk-requirements-check
seb:fix/hermes-state-thread-locks
seb:fix/anthropic-adapter-merge-content-loss
seb:fix/gateway-yaml-pii-redaction
seb:fix/redacting-formatter-import
seb:fix/nous-model-fetch-kwargs
seb:fix/gateway-skill-command-nameref
seb:hermes/hermes-ee292dec
seb:hermes/hermes-ac005632
seb:feat/mattermost-matrix-adapters
seb:hermes/hermes-923bc090
seb:hermes/hermes-f685e964
seb:hermes/hermes-3218df83
seb:hermes/hermes-6bb9911e
seb:hermes/hermes-1eba1f1d
seb:fix/discord-thread-persistence
seb:hermes/hermes-a86162db
seb:hermes/hermes-6891ac11
seb:hermes/hermes-c3e4cd9f
seb:hermes/hermes-8f33e910
seb:hermes/hermes-93b81725
seb:hermes/hermes-733cf6a3
seb:shloms/ascii-video-v3
seb:fix/anthropic-oauth-compat
seb:hermes/hermes-a098c323
seb:hermes/hermes-6360cdf9
seb:hermes/hermes-84930008
seb:fix/smart-model-routing
seb:hermes/hermes-81c07511
seb:hermes/hermes-865f6958
seb:fix/1445-docker-cwd-optin
seb:hermes/hermes-adbf9508
seb:fix/814-group-session-isolation
seb:fix/1033-telegram-voice-fallback
seb:fix/setup-curses
seb:fix/ssh-preflight-check
seb:fix/openrouter-reasoning-gate
seb:fix/custom-endpoint-verification
seb:fix/telegram-chunk-mdv2
seb:fix/status-token-counts
seb:fix/honcho-seed-identity
seb:fix/mcp-auto-reload
seb:rewbs/feat-vercel-log-analysis-loop-skill
seb:fix/tirith-startup-noise
seb:fix/docker-explicit-forward-env
seb:sid/persistent-backend
seb:fix/1071-dict-tool-args
seb:hermes/hermes-60456cd2
seb:fix/1219-cron-thread-context
seb:fix/1244-env-override
seb:fix/1336-discord-voice-reliability
seb:fix/1414-gateway-shutdown-restart
seb:fix/1412-session-delete-prefix
seb:fix/1409-photo-burst-interrupts
seb:fix/1247-preserve-mcp-toolsets
seb:fix/1264-env-secret-blocklist
seb:fix/1056-dm-session-isolation
seb:hermes/gws-hybrid
seb:hermes/hermes-daa73839
seb:hermes/slack-thread-docs
seb:hermes/hermes-45b79a59-clawhub-search
seb:hermes/hermes-8bb24bf8
seb:hermes/hermes-7ef7cb6a
seb:hermes/hermes-eca4a640
seb:hermes/hermes-629f8bde
seb:hermes/hermes-aa701810
seb:hermes/hermes-0fadff1b
seb:hermes/hermes-45b79a59-pr1087
seb:hermes/hermes-45b79a59
seb:hermes/plan-workspace-storage
seb:fix/retry-history-replacement
seb:hermes/hermes-51c02bb3
seb:hermes/hermes-39158886-docs
seb:hermes/hermes-781f9235-docs
seb:hermes/hermes-39158886-scope-prompts
seb:hermes/hermes-781f9235
seb:hermes/hermes-39158886
seb:feat/aux-delegation-direct-endpoints
seb:hermes/hermes-cf8340fc
seb:hermes/hermes-f1104def
seb:fix/cron-same-target-send-suppression
seb:hermes/hermes-ec1096a3
seb:hermes/hermes-1fc28d17
seb:hermes/hermes-048e6599
seb:hermes/hermes-771dc4f8
seb:salvage/pr-977-mcp-stdio
seb:hermes/hermes-3702edad
seb:hermes/hermes-f48b210a
seb:hermes/hermes-cc060dd9
seb:hermes/hermes-24af4d63
seb:hermes/hermes-8ea7cef0
seb:hermes/hermes-720acdad
seb:hermes/hermes-645b95a6
seb:fix/worktree-terminal-requirements
seb:fix/file-tool-log-noise
seb:hermes/hermes-07d947aa
seb:feat/cache-aware-context-compaction
seb:hermes/hermes-50716de4
seb:hermes/hermes-7c22e5c1
seb:hermes/hermes-31d07af4
seb:fix/honcho-cache-stability
seb:hermes/hermes-e0e71a89
seb:hermes/hermes-6299a8b2
seb:hermes/hermes-294208e8
seb:hermes/hermes-447d1ebd
seb:hermes/hermes-4cde5efa
seb:hermes/hermes-80175760
seb:hermes/hermes-1ba70e80
seb:fix/hygiene-threshold
seb:fix/compression-session-sync
seb:hermes/hermes-6ec3b1a9
seb:fix/packaging-bugs
seb:hermes/hermes-42bc21fb
seb:hermes/hermes-d28bf447
seb:hermes/hermes-f47f71c0
seb:hermes/hermes-e31afb4d
seb:hermes/hermes-7ade10b5
seb:hermes/hermes-c877bdeb
seb:hermes/hermes-3ea433e3
seb:sid/xitter-skill
seb:hermes/hermes-465f3702
seb:hermes/hermes-4b9773d6
seb:feat/optional-rl-training
seb:hermes/hermes-3a9bd319
seb:hermes/hermes-5da06378
seb:hermes/hermes-37fb78aa
seb:hermes/hermes-cf9f7d54
seb:voice/default-soul
seb:fix/landing-page
seb:feat/devex-tooling
seb:feat/phone-call-tool
seb:hermes/hermes-74edaf38
seb:hermes/hermes-b86fddbe
seb:hermes/hermes-106e92b2
seb:hermes/hermes-20ea56c0
seb:fix/smart-vision-setup
seb:fix/cron-naive-timestamps
seb:hermes/hermes-7ac629f4
seb:hermes/hermes-ece5a45c
seb:feat/streaming
seb:feat/custom-compaction-prompt-config
seb:fix/multimodal-compress-content
seb:feat/codex-handoff-prefix
seb:feat/codex-compaction-prompt
seb:hermes/hermes-98b7f9b9
seb:hermes/hermes-ecb374ec
seb:hermes/hermes-90ec9b1f
seb:hermes/hermes-5f68598a
seb:hermes/hermes-b0162f8d
seb:feat/show-full-dangerous-command
seb:hermes/hermes-21d8bacc
seb:hermes/hermes-281ff8aa
seb:hermes/hermes-3d744afd
seb:hermes/hermes-1a683351
seb:feat/checkpoint-rollback
seb:hermes/hermes-5ab2a29e
seb:add-upstream-atropos-tool-use-changes
seb:hermes/hermes-b611b2fe
seb:hermes/hermes-0cbb57e2
seb:fix/vision-test-flake
seb:feat/parallelize-tests
seb:feat/devex-help
seb:feat/streaming-tui
seb:hermes/hermes-d2f5523a
seb:feat/telegram-send-document
seb:optional-builtin
seb:feat/budget-pressure-via-tool-result
seb:hermes/hermes-e56c0f70
seb:feat/discord-allow-bots
seb:feat/file-permissions-hardening
seb:feat/configurable-compaction-protection
seb:feat/head-tail-truncation-execute-code
seb:hermes/hermes-c53b7cba
seb:hermes/hermes-abbf790e
seb:hermes/hermes-f8d56335
seb:hermes/hermes-3cd7c62d
seb:hermes/hermes-2cb83eed
seb:feat/bell-on-complete
seb:hermes/hermes-cfe83dd1
seb:pass-session-id
seb:fuck-it-ship-it
seb:feat/session-naming
seb:revert-659-feat/skill-prerequisites
seb:custom_auxiliary_models
seb:rewbs/nous-key-remint-attempt-on-401
seb:feat/modular-setup-wizard
seb:feat/insights
seb:feat/modal
seb:feature/obliteratus-skill
seb:endless-terminal-new
seb:fix-widescreen-prompt-box
seb:fix/none-content-pattern
seb:rewbs/fix-nous-refresh-token-rotation-on-key-mint-failure
seb:rewbs/nous-portal-integration
seb:nomad-backend-fanout-pr3
seb:terminal-backend-fanout-pr2
seb:atropos-integrations-pr
seb:atropos-integrations
seb:endless-terminals
seb:atropos-hermes-agent
seb:modal-integration
seb:rl-capabilities
seb:macbook-tests
seb:architecture-planning
seb:add-prokletor
seb:asyncio
seb:thought-sig
seb:profiling
seb:simplify-terminal
seb:cluster-fail
seb:tc-logging
seb:update-snapshot-id
seb:test
seb:fix-leakage
seb:fix-terminal
seb:UI
seb:add-morph-snapshot
seb:terminal
seb:backup/precopystrip-20260616-2058
seb:backup/opentui-prestrip-20260616-1950
seb:v2026.6.5
seb:v2026.5.29.2
seb:clean-before-remerge
seb:v2026.5.29
seb:merge-commit-backup
seb:premerge-oh-god
seb:v2026.5.28
seb:v2026.5.16
seb:desktop-pr20059-installers
seb:v2026.5.7
seb:v2026.4.30
seb:v2026.4.23
seb:v2026.4.16
seb:v2026.4.13
seb:v2026.4.8
seb:v2026.4.3
seb:v2026.3.30
seb:v2026.3.28
seb:v2026.3.23
seb:v2026.3.17
seb:v2026.3.12
1 Commits
main
...
nanoclaw-p
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4e502adf9c
|
feat: add uninstall dry-run mode
Port from qwibitai/nanoclaw#2719: let operators preview the uninstall plan without stopping services or deleting files. |
3 changed files with 85 additions and 0 deletions
|
|
@ -38,4 +38,9 @@ def build_uninstall_parser(subparsers, *, cmd_uninstall: Callable) -> None:
|
|||
uninstall_parser.add_argument(
|
||||
"--yes", "-y", action="store_true", help="Skip confirmation prompts"
|
||||
)
|
||||
uninstall_parser.add_argument(
|
||||
"--dry-run",
|
||||
action="store_true",
|
||||
help="Print what uninstall would remove without changing anything",
|
||||
)
|
||||
uninstall_parser.set_defaults(func=cmd_uninstall)
|
||||
|
|
|
|||
|
|
@ -575,6 +575,14 @@ def run_uninstall(args):
|
|||
project_root = get_project_root()
|
||||
hermes_home = get_hermes_home()
|
||||
|
||||
if bool(getattr(args, "dry_run", False)):
|
||||
_print_uninstall_dry_run(
|
||||
project_root=project_root,
|
||||
hermes_home=hermes_home,
|
||||
full_uninstall=bool(getattr(args, "full", False)),
|
||||
)
|
||||
return
|
||||
|
||||
# Detect named profiles when uninstalling from the default root —
|
||||
# offer to clean them up too instead of leaving zombie HERMES_HOMEs
|
||||
# and systemd units behind.
|
||||
|
|
@ -704,6 +712,30 @@ def run_uninstall(args):
|
|||
)
|
||||
|
||||
|
||||
def _print_uninstall_dry_run(*, project_root: Path, hermes_home: Path, full_uninstall: bool) -> None:
|
||||
"""Print the uninstall plan without stopping services or deleting files."""
|
||||
print()
|
||||
print(color("Dry run: no files, services, or environment entries will be changed.", Colors.CYAN, Colors.BOLD))
|
||||
print()
|
||||
print(color("Would inspect/remove:", Colors.YELLOW, Colors.BOLD))
|
||||
print(" • Gateway services and standalone gateway processes")
|
||||
print(" • Hermes PATH entries from shell configs / Windows User PATH")
|
||||
print(" • Hermes wrapper scripts and Hermes-managed node/npm/npx symlinks")
|
||||
print(" • Desktop Chat GUI artifacts")
|
||||
print(f" • Code checkout: {project_root}")
|
||||
if full_uninstall:
|
||||
print(f" • Hermes config/data: {hermes_home}")
|
||||
if _is_default_hermes_home(hermes_home):
|
||||
profiles = _discover_named_profiles()
|
||||
if profiles:
|
||||
print(" • Named profiles (interactive uninstall asks before removing):")
|
||||
for prof in profiles:
|
||||
print(f" - {prof.name}: {prof.path}")
|
||||
else:
|
||||
print(f" • Keep Hermes config/data: {hermes_home}")
|
||||
print()
|
||||
|
||||
|
||||
def _perform_uninstall(
|
||||
*,
|
||||
project_root: Path,
|
||||
|
|
|
|||
48
tests/hermes_cli/test_uninstall_dry_run.py
Normal file
48
tests/hermes_cli/test_uninstall_dry_run.py
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
from pathlib import Path
|
||||
from types import SimpleNamespace
|
||||
|
||||
from hermes_cli import uninstall
|
||||
|
||||
|
||||
def test_dry_run_prints_plan_without_mutating(monkeypatch, tmp_path, capsys):
|
||||
project_root = tmp_path / "hermes-agent"
|
||||
hermes_home = tmp_path / ".hermes"
|
||||
project_root.mkdir()
|
||||
hermes_home.mkdir()
|
||||
(hermes_home / "config.yaml").write_text("model: {}\n")
|
||||
|
||||
called = False
|
||||
|
||||
def _fail_if_called(**kwargs):
|
||||
nonlocal called
|
||||
called = True
|
||||
|
||||
monkeypatch.setattr(uninstall, "get_project_root", lambda: project_root)
|
||||
monkeypatch.setattr(uninstall, "get_hermes_home", lambda: hermes_home)
|
||||
monkeypatch.setattr(uninstall, "_is_default_hermes_home", lambda home: False)
|
||||
monkeypatch.setattr(uninstall, "_discover_named_profiles", lambda: [])
|
||||
monkeypatch.setattr(uninstall, "_perform_uninstall", _fail_if_called)
|
||||
|
||||
uninstall.run_uninstall(SimpleNamespace(dry_run=True, yes=True, full=True))
|
||||
|
||||
output = capsys.readouterr().out
|
||||
assert called is False
|
||||
assert "Dry run" in output
|
||||
assert str(project_root) in output
|
||||
assert str(hermes_home) in output
|
||||
assert project_root.exists()
|
||||
assert hermes_home.exists()
|
||||
|
||||
|
||||
def test_build_uninstall_parser_accepts_dry_run():
|
||||
import argparse
|
||||
from hermes_cli.subcommands.uninstall import build_uninstall_parser
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
subparsers = parser.add_subparsers(dest="command")
|
||||
build_uninstall_parser(subparsers, cmd_uninstall=lambda args: args)
|
||||
|
||||
args = parser.parse_args(["uninstall", "--dry-run", "--full"])
|
||||
|
||||
assert args.dry_run is True
|
||||
assert args.full is True
|
||||
Write
Preview
Loading…
x
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.