[PR #1132] [CLOSED] feat(clients): register Grok Build and Grok Bot during setup #2669

Closed
opened 2026-10-17 21:08:50 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1132
Author: @monomyth
Created: 10/8/2026
Status: ❌ Closed

Base: main ← Head: grok-integration


📝 Commits (1)

  • 16a8fe0 feat(clients): register Grok Build and Grok Bot during setup

📊 Changes

23 files changed (+1947 additions, -32 deletions)

View changed files

📝 README.md (+1 -1)
📝 README_ar.md (+2 -2)
📝 README_ja.md (+2 -2)
📝 README_ko.md (+2 -2)
📝 README_zh.md (+2 -2)
📝 docs/installation.md (+15 -1)
📝 docs/roadmap.md (+1 -1)
📝 scripts/verify-package-environment.mjs (+2 -0)
📝 scripts/verify-package-update.mjs (+2 -0)
📝 scripts/verify-published-package.mjs (+9 -0)
📝 scripts/verify-windows-package.mjs (+4 -0)
📝 skill-src/reverse-engineer-anything/SKILL.md (+1 -1)
📝 src/application/ClientConfigurationDocument.ts (+806 -11)
📝 src/application/ClientRegistrationStatus.ts (+3 -1)
📝 src/application/SetupClientConfiguration.ts (+2 -2)
📝 src/application/SupportedClients.ts (+33 -1)
📝 src/application/Uninstall.ts (+1 -1)
📝 tests/boundary/filesystem/clientConfigurationDialects.test.ts (+36 -0)
📝 tests/boundary/filesystem/clientLifecycle.test.ts (+978 -0)
📝 tests/boundary/filesystem/clientRegistrationStatus.test.ts (+40 -1)

...and 3 more files

📄 Description

Filed by Grok.

Summary

rea setup detects Grok Build and Grok Bot and installs the local REA MCP registration, including doctor and uninstall. No existing issue is linked; this is a new client, not a fix for a filed report.

Problem and expected behavior

Setup already configured Claude Code, Codex, Cursor, Gemini CLI, Antigravity, GitHub Copilot CLI, and the other supported clients. It did not detect Grok Build or Grok Bot, so those agents were left without an REA MCP entry.

After this change, a detected Grok Build install receives [mcp_servers.rea] in its TOML config, with startup_timeout_sec = 30, edited without rewriting the rest of the file. A detected Grok Bot install receives mcpServers.rea in mcp.json. That file is the registration to add to the signed-in account. Setup does not call the account API.

Change and scope

Grok Build uses a new grok document format. Parsing matches TOML, and serialization edits only the REA server tables so comments, spacing, and unrelated settings stay in place. Codex keeps its existing full-document TOML rewrite.

Grok Build is found from GROK_HOME or ~/.grok. Grok Bot is found from an absolute SAND_DATA_ROOT, and otherwise from ~/.grokbot. A relative or empty SAND_DATA_ROOT falls back to ~/.grokbot. The shared skill stays under ~/.agents/skills. Package verifiers set the same client-home variables as the other agents so checks do not read the operator's real config.

Not included: copying another client's mcp.json, writing mcpBoxServers, calling Grok Bot's account API, or duplicating the skill into the Grok Build skill directory.

Contract and boundary impact

  • Semantic owner and earliest changed stage: client setup and uninstall, at configuration write time.
  • CLI and MCP/tool-catalog contract: none. The MCP server tools are unchanged. Setup gains two client ids, grok_build and grok_bot.
  • Provider, bridge, target-format, or platform compatibility: none.
  • Evidence, artifact, provenance, or reconstruction contract: none.
  • Process execution, authorization, cleanup, or containment impact: none. Setup still writes only the local client config it already owns for other agents.
  • Generated metadata (docs/public/product-catalog.json), package, or installation impact (CI generates and validates ignored catalogs and skills/; edit authored instructions in skill-src/ and never commit build outputs): skill-src names the two new client ids. Generated skills/ and docs/public/product-catalog.json are not in this commit.

Evidence and regression coverage

  • Tests added or updated: client lifecycle, registration status, configuration dialects, and the configuration document suite. The new cases cover surgical TOML edits, inline tables, multiline strings, mixed newlines, comments, BOM, and JSONC comment retention on uninstall.
  • Base reproduction or other evidence: setup's detected-client list omitted Grok Build and Grok Bot.
  • User-visible CLI/MCP output (if applicable): a live Grok Build session called the installed rea MCP server. binary_session returned server rea, package rea-agents 6.0.0. A follow-up demangle_swift call returned target_unavailable because no binary was open. That registration is the published 6.0.0 package, which matches the stdio entry this change writes (npx -y rea-agents@<version> mcp, startup_timeout_sec = 30). This commit was not the process that served the call.
  • Remaining proof gaps: packaged Windows and published-package verifier scripts were updated but not executed here.

Not applicable to this client-registration change:

  • Observed, derived, and inferred claims remain distinguishable.
  • Artifact identity, source provenance, and failed attempts remain preserved.
  • Unsupported, incomplete, unavailable, or uncertain outcomes remain visible.

Validation performed

  • npx tsc --noEmit — exit 0
  • npx vitest run tests/boundary/filesystem/clientLifecycle.test.ts tests/boundary/filesystem/clientRegistrationStatus.test.ts tests/boundary/filesystem/clientConfigurationDialects.test.ts src/application/ClientConfigurationDocument.test.ts — 124 passed
  • Grok Build MCP binary_session — rea-agents 6.0.0 responded with no target open

Compatibility, safety, and release

  • Breaking changes or migration steps: none. Existing client configs are unchanged until setup or uninstall runs. Grok Build registration is additive and limited to the REA tables.
  • Real Hopper/Ghidra, browser, or OS coverage: not applicable. The live check was the Grok Build MCP session above.
  • Package or release metadata impact: no version bump. Docs, READMEs, the website get-started and FAQ pages, and the skill source list the new clients.
  • Security, privacy, process, or containment review: setup does not read or write unrelated Grok settings, and it does not send the Grok Bot registration to the account API. Verifier homes are temporary and override the client path variables.

Review checklist

  • The PR has one focused outcome and the title follows type(scope): outcome.
  • Related issue is linked, or the reason for not linking one is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs, contracts, and generated metadata are updated where needed.
  • User-visible CLI/MCP changes include representative output.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/1132 **Author:** [@monomyth](https://github.com/monomyth) **Created:** 10/8/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `grok-integration` --- ### 📝 Commits (1) - [`16a8fe0`](https://github.com/morluto/rea/commit/16a8fe03e98b903bb03c690fe6983a22a3a6f2a4) feat(clients): register Grok Build and Grok Bot during setup ### 📊 Changes **23 files changed** (+1947 additions, -32 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -1) 📝 `README_ar.md` (+2 -2) 📝 `README_ja.md` (+2 -2) 📝 `README_ko.md` (+2 -2) 📝 `README_zh.md` (+2 -2) 📝 `docs/installation.md` (+15 -1) 📝 `docs/roadmap.md` (+1 -1) 📝 `scripts/verify-package-environment.mjs` (+2 -0) 📝 `scripts/verify-package-update.mjs` (+2 -0) 📝 `scripts/verify-published-package.mjs` (+9 -0) 📝 `scripts/verify-windows-package.mjs` (+4 -0) 📝 `skill-src/reverse-engineer-anything/SKILL.md` (+1 -1) 📝 `src/application/ClientConfigurationDocument.ts` (+806 -11) 📝 `src/application/ClientRegistrationStatus.ts` (+3 -1) 📝 `src/application/SetupClientConfiguration.ts` (+2 -2) 📝 `src/application/SupportedClients.ts` (+33 -1) 📝 `src/application/Uninstall.ts` (+1 -1) 📝 `tests/boundary/filesystem/clientConfigurationDialects.test.ts` (+36 -0) 📝 `tests/boundary/filesystem/clientLifecycle.test.ts` (+978 -0) 📝 `tests/boundary/filesystem/clientRegistrationStatus.test.ts` (+40 -1) _...and 3 more files_ </details> ### 📄 Description Filed by Grok. ## Summary `rea setup` detects Grok Build and Grok Bot and installs the local REA MCP registration, including doctor and uninstall. No existing issue is linked; this is a new client, not a fix for a filed report. ## Problem and expected behavior Setup already configured Claude Code, Codex, Cursor, Gemini CLI, Antigravity, GitHub Copilot CLI, and the other supported clients. It did not detect Grok Build or Grok Bot, so those agents were left without an REA MCP entry. After this change, a detected Grok Build install receives `[mcp_servers.rea]` in its TOML config, with `startup_timeout_sec = 30`, edited without rewriting the rest of the file. A detected Grok Bot install receives `mcpServers.rea` in `mcp.json`. That file is the registration to add to the signed-in account. Setup does not call the account API. ## Change and scope Grok Build uses a new `grok` document format. Parsing matches TOML, and serialization edits only the REA server tables so comments, spacing, and unrelated settings stay in place. Codex keeps its existing full-document TOML rewrite. Grok Build is found from `GROK_HOME` or `~/.grok`. Grok Bot is found from an absolute `SAND_DATA_ROOT`, and otherwise from `~/.grokbot`. A relative or empty `SAND_DATA_ROOT` falls back to `~/.grokbot`. The shared skill stays under `~/.agents/skills`. Package verifiers set the same client-home variables as the other agents so checks do not read the operator's real config. Not included: copying another client's `mcp.json`, writing `mcpBoxServers`, calling Grok Bot's account API, or duplicating the skill into the Grok Build skill directory. ## Contract and boundary impact - Semantic owner and earliest changed stage: client setup and uninstall, at configuration write time. - CLI and MCP/tool-catalog contract: none. The MCP server tools are unchanged. Setup gains two client ids, `grok_build` and `grok_bot`. - Provider, bridge, target-format, or platform compatibility: none. - Evidence, artifact, provenance, or reconstruction contract: none. - Process execution, authorization, cleanup, or containment impact: none. Setup still writes only the local client config it already owns for other agents. - Generated metadata (`docs/public/product-catalog.json`), package, or installation impact (CI generates and validates ignored catalogs and `skills/`; edit authored instructions in `skill-src/` and never commit build outputs): `skill-src` names the two new client ids. Generated `skills/` and `docs/public/product-catalog.json` are not in this commit. ## Evidence and regression coverage - Tests added or updated: client lifecycle, registration status, configuration dialects, and the configuration document suite. The new cases cover surgical TOML edits, inline tables, multiline strings, mixed newlines, comments, BOM, and JSONC comment retention on uninstall. - Base reproduction or other evidence: setup's detected-client list omitted Grok Build and Grok Bot. - User-visible CLI/MCP output (if applicable): a live Grok Build session called the installed `rea` MCP server. `binary_session` returned server `rea`, package `rea-agents` 6.0.0. A follow-up `demangle_swift` call returned `target_unavailable` because no binary was open. That registration is the published 6.0.0 package, which matches the stdio entry this change writes (`npx -y rea-agents@<version> mcp`, `startup_timeout_sec = 30`). This commit was not the process that served the call. - Remaining proof gaps: packaged Windows and published-package verifier scripts were updated but not executed here. Not applicable to this client-registration change: - [ ] Observed, derived, and inferred claims remain distinguishable. - [ ] Artifact identity, source provenance, and failed attempts remain preserved. - [ ] Unsupported, incomplete, unavailable, or uncertain outcomes remain visible. ## Validation performed - `npx tsc --noEmit` — exit 0 - `npx vitest run tests/boundary/filesystem/clientLifecycle.test.ts tests/boundary/filesystem/clientRegistrationStatus.test.ts tests/boundary/filesystem/clientConfigurationDialects.test.ts src/application/ClientConfigurationDocument.test.ts` — 124 passed - Grok Build MCP `binary_session` — `rea-agents` 6.0.0 responded with no target open ## Compatibility, safety, and release - Breaking changes or migration steps: none. Existing client configs are unchanged until setup or uninstall runs. Grok Build registration is additive and limited to the REA tables. - Real Hopper/Ghidra, browser, or OS coverage: not applicable. The live check was the Grok Build MCP session above. - Package or release metadata impact: no version bump. Docs, READMEs, the website get-started and FAQ pages, and the skill source list the new clients. - Security, privacy, process, or containment review: setup does not read or write unrelated Grok settings, and it does not send the Grok Bot registration to the account API. Verifier homes are temporary and override the client path variables. ## Review checklist - [x] The PR has one focused outcome and the title follows `type(scope): outcome`. - [x] Related issue is linked, or the reason for not linking one is stated above. - [x] Tests cover changed observable behavior and meaningful failure paths. - [x] Owning docs, contracts, and generated metadata are updated where needed. - [ ] User-visible CLI/MCP changes include representative output. - [x] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:08:50 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#2669
No description provided.