Synced from monorepo

Changes:
- Gate session-lifecycle heap steady state with a dhat soak
- Unbreak merge lifecycle e2e after default model → grok-4.5
- Scan home-scope rules dirs at <root>/rules
- Complete text-input paste and terminal parity
- Gate project roles and personas
- Use canonical editing in dialogs
- Use canonical editing in search bars
- Reject ambiguous MCP tool IDs
- Harden Git operands for plugins
- Simplify queue drain API
- Pass RFC 9207 iss through MCP OAuth token exchange
- Show leader roster when local agents map is empty
- Use canonical editing in Persona views
- Remove marketplace default-skills auto-install and purge old installs
- Use canonical editing in extension forms
- Add canonical dashboard text editing
- Use canonical editing in settings
- Add /summarize as a /recap alias
- Restore previous agent when exiting dashboard
- Use tool_choice auto for compaction
- Settings toggle for snap-prompt-to-top on send
- Update default models to grok-4.5
- Source login shell once for local bash (env + alias/function snapshot)
- Template hardcoded param names in server-native tool descriptions
- Fix System-Reminder XML tag injection in CLAUDE.md via agents_md
- Fix remote workspace-server hardcoding LSP trust (repo code execution risk)
- Clear orphaned tool-call updates at turn end
- Suppress task wake after cancel
- Send x-grok-client-identifier on direct API tool calls
- Harden dashboard peek lease transitions
- Host /btw side panel in live region (minimal mode)
- Bound scroll presentation latency
- Highlight multi-line constructs correctly in diffs and the file viewer
- Block web_fetch non-public IPs; local opt-in is explicit-host only
- Seed coding_data_retention_opt_out=false for OAuth e2es in pty-harness
- Follow up clipboard delivery feedback
- Use canonical editing in pickers
- Route TextArea through canonical editor
- Persistent "watching" status row; quieter turn markers
- Gate sensitive edit targets
- Expose agent registry counts and gate session churn on them
- Default coding data sharing to opt-out until server preference applies
- Wire chat attachment ids through gateway prompts
- On auth refresh failure, issue retry
- Forward preview provenance and computer lifecycle state
- Document independent privacy controls and scope /privacy output
- Strip SamplingError Display prefix on rate-limit UI copy
- Stop dumping Cloudflare HTML into Retry failed
- Disable in-place prompt edit (scroll jank on enter)
- Strip forced ANSI color from gh pr view JSON
- Plumb bash tool description onto ToolUsageCard wire
This commit is contained in:
grokkybara[bot] 2026-07-18 19:48:28 +01:00
commit 7cfcb20d2b
292 changed files with 23315 additions and 9209 deletions

View file

@ -58,6 +58,9 @@ collapsed_edit_blocks = false # show edits as one-line +N/-M diffstat s
# back-to-back same-file edits into one row, expand for the
# diffs (default: false; pager.toml [scrollback.blocks.edit]
# expanded_by_default/line_summary override its fold shape)
page_flip_on_send = true # pin a just-sent prompt at the top of the viewport so the
# response starts on a fresh page (default: true); set false
# so sending never moves the scroll position
screen_mode = "fullscreen" # default render mode: "fullscreen" | "minimal"
# (unset → fullscreen); set via /settings → Default screen mode
@ -182,6 +185,14 @@ you for that session only.
A CLI flag always wins over the config value for that invocation.
#### Snap prompt to top on send
By default, sending a prompt scrolls it to the top of the viewport so the
response starts on a fresh page. Set `[ui] page_flip_on_send = false` (or
toggle **Snap prompt to top on send** in `/settings` → Appearance) to leave
the scroll position unchanged when you send. Applies on the next send; no
restart.
#### Scrolling
Four `[ui]` settings tune mouse-wheel and trackpad scrolling in the
@ -226,8 +237,14 @@ timeout_secs = 1800 # seconds to wait when enabled (default:
[toolset.web_fetch]
proxy_endpoint = "https://proxy.example.com" # egress proxy URL
allowed_domains = ["docs.rs", "x.ai"] # override the built-in allowlist
allow_local = false # true = allow localhost / 127.0.0.0/8 / ::1 only
```
`allow_local` is off by default (SSRF fail-closed). When `true` (or
`GROK_WEB_FETCH_ALLOW_LOCAL=1`), `web_fetch` may reach **explicit** loopback
hosts only — private, link-local, and cloud-metadata ranges stay blocked.
Resolution: TOML > env > default off.
`[toolset.ask_user_question]` is honored across **requirements.toml**, **managed
config**, and **user `config.toml`**. Precedence: requirements → env
(`GROK_ASK_USER_QUESTION_TIMEOUT_ENABLED` /
@ -370,16 +387,16 @@ Session cells remain staged until a foreign-session scanner consumes them. Each
```toml
[compat.cursor]
skills = true # scan ~/.cursor/skills/ and <cwd>/.cursor/skills/
rules = true # scan <cwd>/.cursor/rules/
agents = true # scan ~/.cursor/ for AGENTS.md files
rules = true # scan ~/.cursor/rules/ and <dir>/.cursor/rules/
agents = true # scan ~/.cursor/ for named instruction files
mcps = true # scan ~/.cursor/mcp.json and <cwd>/.cursor/mcp.json
hooks = true # scan ~/.cursor/hooks.json and <cwd>/.cursor/hooks.json
sessions = true # staged; no scanner consumer yet
[compat.claude]
skills = true # scan ~/.claude/skills/ and <cwd>/.claude/skills/
rules = true # scan <cwd>/.claude/rules/
agents = true # scan ~/.claude/ for CLAUDE.md / CLAUDE.local.md
rules = true # scan ~/.claude/rules/ and <dir>/.claude/rules/
agents = true # scan ~/.claude/ and <dir>/.claude/CLAUDE*.md
mcps = true # scan ~/.claude.json for MCP servers
hooks = true # scan ~/.claude/settings.json for hooks
sessions = true # staged; no scanner consumer yet
@ -390,6 +407,8 @@ sessions = true # staged; no scanner consumer yet
Codex `skills`, `rules`, `agents`, `mcps`, and `hooks` cells are reserved and currently inert; they do not enable `.codex` discovery.
For Claude and Cursor, `rules` and `agents` are independent: disabling named instruction files does not disable either the home or project rules directory, and disabling rules does not disable named files. Claude's `agents` cell gates home-level `~/.claude/` named files and project `<dir>/.claude/CLAUDE*.md`; generic top-level `Claude.md`, `CLAUDE.md`, and `CLAUDE.local.md` remain recognized. Project rule paths are scanned at every directory from the repo root to the current directory.
Each cell can be toggled via environment variable or `config.toml`. See the
environment-variables reference for the env var names. Resolution order:
env var > config.toml > default (on).
@ -546,7 +565,15 @@ See [Keyboard Shortcuts](03-keyboard-shortcuts.md) for the complete reference.
### Telemetry
The `[features] telemetry` toggle (in the `[features]` block above) is the master switch for anonymous usage telemetry. When telemetry is enabled, enterprises that run their own collector can redirect it or selectively disable parts of it under `[telemetry]`:
Independent knobs (see [Monitoring Usage](24-monitoring-usage.md#related-settings)):
- **`[features] telemetry`** / `GROK_TELEMETRY_ENABLED`: product analytics master switch. `/privacy` does not change it.
- **`/privacy`** / Settings: coding data sharing (separate from telemetry).
- **`[telemetry] trace_upload`** / `GROK_TELEMETRY_TRACE_UPLOAD`: session traces; follows telemetry when unset.
- **`[telemetry] otel_*`** / `GROK_EXTERNAL_OTEL`: external OTEL to your collector (below).
When telemetry is enabled, enterprises that run their own collector can redirect
it or selectively disable parts of it under `[telemetry]`:
```toml
[telemetry]
@ -558,7 +585,7 @@ trace_upload = false # disable session/trac
Set these only to point telemetry at your own infrastructure or to turn parts of it off. The built-in endpoint and credentials are managed by Grok; leave them unset to use the defaults.
The same `[telemetry]` table also configures the **external OpenTelemetry stream** an independent opt-in (it does not require the telemetry toggle above) that ships a curated, content-free usage schema to your *own* OTLP collector. Collector auth is supplied via `OTEL_EXPORTER_OTLP_HEADERS` and is never stored on disk. See [Monitoring & Usage](24-monitoring-usage.md) for the full schema, env vars, and privacy model.
The same `[telemetry]` table also configures the **external OpenTelemetry stream**, an independent opt-in (it does not require the telemetry toggle above) that ships a curated, content-free usage schema to your *own* OTLP collector. Collector auth is supplied via `OTEL_EXPORTER_OTLP_HEADERS` and is never stored on disk. See [Monitoring & Usage](24-monitoring-usage.md) for the full schema, env vars, and privacy model.
```toml
[telemetry]
@ -751,6 +778,7 @@ Key environment variables. See the README for the complete list.
| `GROK_MEMORY` | Enable (`1`) or disable (`0`) cross-session memory |
| `GROK_SUBAGENTS` | Enable (`1`) or disable (`0`) subagents |
| `GROK_WEB_FETCH` | Enable (`1`) or disable (`0`) the web_fetch tool |
| `GROK_WEB_FETCH_ALLOW_LOCAL` | Allow `web_fetch` to explicit loopback hosts only (`localhost` / `127.0.0.0/8` / `::1`). Same as `[toolset.web_fetch] allow_local`. Default off. Private/metadata stay blocked. |
| `GROK_AGENT` | Custom agent definition path or name |
| `GROK_SANDBOX` | Sandbox profile (off, workspace, devbox, read-only, strict; or a custom profile name) |
@ -773,6 +801,9 @@ Key environment variables. See the README for the complete list.
| Variable | Description |
|----------|-------------|
| `GROK_TELEMETRY_ENABLED` | Enable/disable telemetry |
| `GROK_TELEMETRY_TRACE_UPLOAD` | Enable/disable session trace upload |
| `GROK_TELEMETRY_MIXPANEL_ENABLED` | Enable/disable Mixpanel specifically |
| `GROK_EXTERNAL_OTEL` | External OTEL to your collector (see [24-monitoring-usage.md](24-monitoring-usage.md)) |
| `GROK_FEEDBACK_ENABLED` | Enable/disable feedback system |
| `GROK_DEPLOYMENT_KEY` | Management API key for enterprise |