Patch release 1.0.16: richer external OTEL content gates and fleet pinning, selectable-model allowlists for enterprise hosts, and marketplace plugin skill updates.
Changelog
[new] External OTEL content gates for assistant replies and full tool bodies: otel_log_assistant_responses / OTEL_LOG_ASSISTANT_RESPONSES (unset follows the prompts gate; pin false for prompts-only) and otel_log_tool_content / OTEL_LOG_TOOL_CONTENT for tool_input, tool_output, full_command, and failure error_message. Docs cover the new grok_code.assistant_response event and expanded tool/MCP attributes.
[new] Model picker allowlist via [models] allowed_models (globs on catalog key or model id). Signed fleet requirements.toml can pin the selectable set by model id; that pin replaces any user list so /model, Ctrl+M, and -m cannot offer models outside it. Empty array stays unrestricted; an unreadable pin fail-closes.
[changed] Tool logging is split into details (metadata preview, paths, verbatim MCP/skill/plugin names) vs content (full bodies). Details no longer implies bodies; content does not imply details. Enterprise guidance defaults details on and content off for SIEM join without storing Read/bash/MCP result bodies.
[changed] Zero Data Retention and /privacy still lock SpaceXAI-side retention and coding-data sharing only. They do not mute the external OTEL stream or user.email identity on logs/metrics — see ZDR and this stream cross-links in Authentication, Slash Commands, and Monitoring Usage.
[changed] Present [telemetry] otel_* keys in signed requirements.tomlpin over process env (destination lock). managed_config.toml does not. Pinning endpoints or client certs strips developer env and unlisted file siblings as documented; CA pins do not strip endpoints. Collector tokens stay in OTEL_EXPORTER_OTLP_HEADERS (no headers TOML key).
[changed] Config examples and the config reference list the full external OTEL surface (exporters, endpoints, protocols, timeouts, certs/mTLS, session-id-on-metrics, and all four log gates) with pin semantics.
[new]firecrawl skill firecrawl-developer-search — search an index built for coding agents (GitHub issues, merged PRs, READMEs, curated docs).
[new]pstack skill Make Bot UI — build custom UI that wakes a Grok Bot over a webhook.
[changed] Marketplace refreshes for chrome-devtools, firecrawl, mongodb, mongodb-atlas, pstack, sentry, stripe (including a clearer stripe-directory description), and wix.
[changed] Background/task await wait cap raised from ~10 minutes to ~1 hour (timeout_ms maximum 3600000).
Under the hood
External OTEL pin handling and related config-option plumbing so fleet requirements can lock destination and gate settings consistently.
Monitoring event schema polish: always-on reduced MCP names, tool_use_id on tool events, command_name on user prompts, from_mode on permission-mode changes, and tighter redaction/truncation rules for details vs content fields.
Live model catalog surface lists grok-4.5 and grok-4.6 alongside the existing Grok 4.6 default/announcement path.
Upgrade notes
Env-only fleets with OTEL_LOG_USER_PROMPTS=1 that want prompts without assistant text must set OTEL_LOG_ASSISTANT_RESPONSES=0 (or pin it false in requirements). Pinning any content gate without listing a sibling defaults the omitted sibling off.
If you previously treated OTEL_LOG_TOOL_DETAILS as “full tool payload,” re-check: full bodies now need OTEL_LOG_TOOL_CONTENT; details alone is metadata/preview.
To keep ZDR machines collector-silent, pin otel_enabled = false (or leave the external stream off). For metrics-only SIEM, pin all four otel_log_* keys false.
Hosts using fleet model pins should confirm defaults and -m values fall inside the pinned id set after the catalog loads; out-of-set values are rejected.