Skip to content

test(e2e): fold opencode host e2e onto shared agent-name constant - #3656

Merged
PattaraS merged 1 commit into
omnigent-ai:mainfrom
PattaraS:fix-opencode-e2e-agent-name-constant
Jul 31, 2026
Merged

test(e2e): fold opencode host e2e onto shared agent-name constant#3656
PattaraS merged 1 commit into
omnigent-ai:mainfrom
PattaraS:fix-opencode-e2e-agent-name-constant

Conversation

@PattaraS

Copy link
Copy Markdown
Contributor

Related issue

N/A — follow-up cleanup to #3599 (PR 1.7 of the modular native-harness registry workstream).

Summary

#3599 moved the built-in native agent-name constants into a shared public block in
omnigent/native_coding_agents.py (CLAUDE_NATIVE_AGENT_NAMEKIMI_NATIVE_AGENT_NAME) and
migrated the claude/codex host e2e tests onto them — but missed the opencode sibling. This
completes the sweep:

  • tests/e2e/test_host_opencode_native_e2e.py now imports the shared
    OPENCODE_NATIVE_AGENT_NAME constant instead of its own local
    _OPENCODE_NATIVE_AGENT_NAME = "opencode-native-ui" literal.
  • Its assertion message referenced the deleted per-harness seeder
    (_ensure_default_opencode_agent); updated to the collapsed loop
    _ensure_default_native_agents.

All three host e2e tests (claude/codex/opencode) are now consistent. Caught by Polly's review
on #3599, but only after that PR had merged — hence this small standalone follow-up.

Test Plan

Test-only, and opt-in: test_host_opencode_native_e2e.py is skipped unless
OMNIGENT_E2E_OPENCODE_NATIVE=1 (needs a pinned opencode binary + LLM creds). Verified the
file parses, imports the shared constant, and passes ruff check. The referenced symbol
OPENCODE_NATIVE_AGENT_NAME exists on main (landed in #3599).

Demo

N/A — test-only, no user-facing change.

Type of change

  • Bug fix
  • Feature
  • UI / frontend change
  • Refactor / chore
  • Docs
  • Test / CI
  • Breaking change

Test coverage

  • Unit tests added / updated
  • Integration tests added / updated
  • E2E tests added / updated
  • Manual verification completed
  • Existing tests cover this change
  • Not applicable

Coverage notes

Behavior-preserving test cleanup: swaps a hardcoded literal for the equivalent shared constant
(same value, "opencode-native-ui") and fixes a stale assertion message string. No assertion
logic changes. The opt-in e2e is unchanged in what it exercises.

Follow-up to omnigent-ai#3599 (PR 1.7). That PR moved the built-in native agent-name
constants into a shared public block in omnigent/native_coding_agents.py and
migrated the claude/codex host e2e tests onto them, but missed the opencode
sibling: test_host_opencode_native_e2e.py still defined a local
_OPENCODE_NATIVE_AGENT_NAME = "opencode-native-ui" literal and asserted a stale
'_ensure_default_opencode_agent did not run' message (that per-harness seeder
was collapsed into _ensure_default_native_agents).

Import the shared OPENCODE_NATIVE_AGENT_NAME constant and update the message so
all three host e2e tests are consistent. Test-only; opt-in e2e (skipped without
OMNIGENT_E2E_OPENCODE_NATIVE=1).

Co-authored-by: Isaac
Signed-off-by: Pat Sukprasert <pattara.sk127@gmail.com>
Copilot AI review requested due to automatic review settings July 31, 2026 05:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added the size/S Pull request size: S label Jul 31, 2026
@PattaraS
PattaraS merged commit 02ed62d into omnigent-ai:main Jul 31, 2026
51 checks passed
@github-actions github-actions Bot added the no-doc-update Merged PR does not need a docs update label Jul 31, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🏷️ Doc impact: no-doc-update

The change only refactors an e2e test to import the agent-name constant instead of hardcoding it, touching no user-facing surface, integration, or documented behavior.

Auto-classified on merge. Set the label manually before merging to override. · run

PattaraS added a commit that referenced this pull request Jul 31, 2026
…ospective (#3658)

Phase 1 of the modular native-harness registry refactor landed (10 PRs,
2026-07-28 → 07-31). Bring the design doc in line with what actually shipped:

- Status header, Phase 1 subtotal, effort summary, and bottom line updated from
  forward-looking ('1.1–1.3 in review') to Phase 1 complete / Phase 2 next.
- Ledger: 1.8 (#3648) landed; 1.4 marked descoped (with rationale); the 1.7
  opencode-e2e follow-up (#3656) recorded; per-PR merge dates added.
- Calibration rewritten as a Phase 1 retrospective: estimate (~20–29 eng-days)
  vs. actual (10 PRs / 4 calendar days), the real cost centers (test-shape churn
  + review-caught behavior bugs, enumerated per PR), the correct runner re-scope,
  the two intentional behavior deltas (qwen label, antigravity relay), and the
  recurring uv.lock / full-suite-only-flake operational friction.

Doc-only; no code change.

Co-authored-by: Isaac

Signed-off-by: Pat Sukprasert <pattara.sk127@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-doc-update Merged PR does not need a docs update size/S Pull request size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants