Skip to content

Add the Grok Build Harness - #446

Merged
JacobStephens2 merged 5 commits into
issue-432from
issue-437
Oct 6, 2026
Merged

JacobStephens2 merged 5 commits into
issue-432from
issue-437

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Summary

Grok Build is selectable through the Command, User config and installed-only Setup. Invalid Models and Efforts fail before a Claim, worktree or Command log is created.

Command chooses grok
  grok models + refreshed cache → settle Model and Effort
  .agents/skills → /thirdshift-<skill> prompt
  grok --always-approve --sandbox off … -p <prompt>
    Resume: -r <streamed session id>, same flags and environment
  Messages stream → progress, final message, errors and usage
  interrupt → stop the whole process tree

Sessions and catalog checks use null stdin, GROK_DISABLE_AUTOUPDATER=1 and GROK_FOLDER_TRUST=0. The docs explain Grok's instruction files and Resume behavior.

Closes #437

Evidence

  • Before: harness grok was rejected. The initial invalid-Model regression started work instead of failing the check; the stricter fake exposed incorrect -p argument binding. The zero-cost fixture hid token usage.
    After: Grok scenarios verify selection, canonical Model/Effort names, checks before work, explicit approval/sandbox flags, skill loading, progress, Architecture review output and failures even with exit zero. Parser checks retain tokens when cost is unavailable.
  • cargo test: 1,124 passed, including the merged agy changes from issue-432. After the final test-fixture correction, all 6 Grok scenarios and 5 process-tree scenarios passed again.
  • cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo check --all-targets and git diff --check passed.
  • Installed Grok 1.0.46: the free catalog check succeeds, and invalid-Model checks fail with the expected error without a model turn. Full agent sessions use the fake CLI in tests.

Test seams

  • Scenario harness: real Commands against the fake Grok CLI for launch, environment, skills, validation, parsing, failures and Architecture review; escaped-process tree-stop scenarios.
  • Pure parsing: catalog fixtures and documented Messages events.
  • Public Harness invocation: Resume uses an id parsed from an init event, with -r, null stdin and fixed flags/environment.
  • Setup's existing Outside fake: installed Harness selection and catalog validation.

Review

Reviewed against issue-432 pinned at baeee644, after merging its agy update.

  • Standards: extracted the shared Model/Effort question loop used by Codex and Grok; final review found no remaining Standards findings.
  • Spec: corrected prompt argument binding, explicit sandbox disabling and zero-cost usage reporting. Removed the invented Resume trigger and replaced the fake's duplicate terminal results with one overridable result.

Merge Danger

Door: two-way

No data migration. Grok catalog parsing depends on its human-readable list and refreshed cache format.

Blast Radius: Harnesses

Adds Grok and shares the existing Setup validation loop with Codex. Existing Harness scenarios pass.

Unaddressed findings

Standards

  • None.

Spec

  • Automatic Resume scenario coverage: the parent testing plan asks for a Run-level Resume scenario. Grok documents no event proving background work was killed at exit, so an automatic trigger cannot be tested faithfully. Resume invocation is verified through the public adapter with a parsed session id; automatic Resume is not inferred from Grok tool activity.

Built with codex · gpt-6.1-sol · xhigh

Preserve Grok Build and Muse Code registrations, configuration, Setup, docs and test support. Adapt Grok to the prompt-aware stream interface and cover Muse in the process-tree interruption scenarios.

Validation: cargo check --all-targets; cargo test (1143 passed); cargo clippy --all-targets -- -D warnings; cargo fmt --check; git diff --check.
@JacobStephens2
JacobStephens2 merged commit d526116 into issue-432 Oct 6, 2026
13 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-437 branch October 6, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant