Skip to content

Add the agy Harness (Antigravity CLI) - #445

Merged
JacobStephens2 merged 4 commits into
issue-432from
issue-436
Oct 6, 2026
Merged

JacobStephens2 merged 4 commits into
issue-432from
issue-436

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Summary

harness agy runs a Command on Google Antigravity CLI, checks Model and Effort names without a model turn, and reports its stream's final reply, error and usage. Setup offers installed Harnesses and writes [harness.agy].

Command (harness agy)
  agy models → settle Model and Effort before any work
  worktree → .agents/skills/thirdshift-* + optional GEMINI.md → CLAUDE.md
  agy -p --dangerously-skip-permissions --output-format stream-json
    AGY_CLI_DISABLE_AUTO_UPDATE=true; stdin null
    Resume: --conversation <id>, with the same flags and environment
  init / step_update / result → progress, Session log, final reply and outcome
Setup → installed Harnesses → checked Model and Effort → User config

Closes #436

Evidence

  • Before: a_run_uses_agy_with_unattended_flags_skills_and_settled_model_and_effort failed with harness must be followed by claude or codex, not agy; the fallback-link scenario observed no GEMINI.md link.
    After: nine agy scenarios pass, covering flags, environment, skills, fallback links and existing files, catalog validation before any work, configuration overrides, failures, final Architecture review replies, Repair and interruption. Eight agy unit tests cover catalog/stream parsing and Resume's invocation contract.
  • Before: Setup listed absent CLIs as (not installed).
    After: its installed-only list and agy settings pass through the existing Setup test interface; existing Codex and Harness-choice scenarios pass. All four shared process-tree scenarios pass, including agy stopping a command that started in its own process session.
  • Final validation passed: cargo test (1,109 tests; zero failures), cargo check --all-targets, cargo clippy --all-targets -- -D warnings, cargo fmt --check, and git diff --check.

Seams under test: real thirdshift Runs against a fake agy on PATH; pure agy stream and catalog parsing; Setup through its existing Outside interface; the public Harness adapter session invocation for Resume flags.

Reviewed with thirdshift-code-review against issue-432; the final review is pinned to 7136bcd866f182c7b6028808d9d59e00806057d0, after merging the base's shared process-tree cleanup. The agreed Spec finding was fixed: ACTIVE tool steps no longer imply background work was killed. Final review: no Standards findings; two skipped Spec findings below.

Merge Danger

Door: two-way

No migration or destructive data change; reverting restores the previous Harness choices.

Blast Radius: Harnesses

Adds an unattended CLI adapter, instruction-file links excluded from git, and Setup selection/configuration. agy's measured start-up varies from 8–95 seconds; this change adds no backend retries.

Unaddressed findings

Standards

  • None. Both Standards reviews found no violations or actionable smells.

Spec

  • Setup's default when Claude is installed: the acceptance criterion says Claude is the default whenever installed. Setup retains an installed saved harness.default instead, preserving existing tested behavior and the user's preference; Claude is the fallback when no installed preference exists.
  • Resume sessions-scenario coverage: Resume's conversation id, flags, null stdin and fixed environment are tested through the public adapter invocation, rather than launched by a real Run. The recorded agy stream has no defensible signal that background work was killed at successful session end, so triggering that scenario would invent behavior. Automatic Resume detection is left absent until the protocol supplies such a signal.

Built with codex · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit baeee64 into issue-432 Oct 6, 2026
13 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-436 branch October 6, 2026 17:08
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