Skip to content

test(ci): exercise full validation suite#5083

Merged
senamakel merged 22 commits into
tinyhumansai:mainfrom
senamakel:test/full-suite-20260721
Jul 22, 2026
Merged

test(ci): exercise full validation suite#5083
senamakel merged 22 commits into
tinyhumansai:mainfrom
senamakel:test/full-suite-20260721

Conversation

@senamakel

@senamakel senamakel commented Jul 21, 2026

Copy link
Copy Markdown
Member

Summary

  • Repairs regressions exposed only by the complete GitHub Actions validation surface.
  • Realigns Rust, Playwright, and desktop E2E fixtures with current routes, prompt contracts, and async behavior.
  • Hardens cross-platform desktop tests around core restarts, fallback RPC ports, cold startup, and transient UI observations.
  • Splits payments and settings desktop shards so each platform receives an independent session and job budget.

Problem

  • CI Lite scopes work to changed areas, so stale contracts and platform-only failures accumulated outside normal PR coverage.
  • Manual CI Full runs exposed outdated UI routes, deterministic Rust fixture drift, Windows-only lifecycle failures, and Playwright/WebdriverIO timing races.

Solution

  • Updated UI and harness tests to current product routes, state contracts, prompt fields, and completion ordering.
  • Added bounded RPC listener validation so E2E calls rediscover the embedded core after a Windows data reset rebinds it to a fallback port.
  • Latched transient final-answer observations in the multi-tool chat flow and hardened related cross-platform input/persistence waits.
  • Updated the full-suite workflow fan-out and coverage matrix to match the repaired test surface.

Submission Checklist

  • Tests added or updated (happy path + failure / edge cases) per the testing strategy
  • Diff coverage ≥ 80% — PR CI Gate and Rust Core Coverage passed on exact head
  • Coverage matrix updated for the affected Brain feature rows
  • All affected feature IDs are listed under Related
  • No new external network dependencies introduced; mock backends remain authoritative
  • N/A: release manual smoke surfaces are unchanged
  • N/A: no implementation issue was supplied; this draft PR is the full-suite validation and repair anchor

Impact

  • No intended shipped runtime behavior change.
  • Test and CI coverage now follows the current desktop information architecture and survives embedded-core restarts on Linux, macOS, and Windows.

Related

  • Affected feature IDs: 11.2.2, 11.2.3
  • Closes: N/A — full-suite validation request
  • Follow-up PR(s)/TODOs: none currently

AI Authored PR Metadata (required for Codex/Linear PRs)

Linear Issue

  • Key: N/A
  • URL: N/A

Commit & Branch

  • Branch: test/full-suite-20260721
  • Commit SHA: 6528df8

Validation Run

  • Targeted Prettier checks passed for every edited frontend file
  • pnpm typecheck equivalent passed in PR CI Gate / Frontend Checks
  • Focused tests: pnpm debug unit test/core-rpc-node.test.ts passed (2 tests)
  • Rust fmt, quality, coverage, unit, mock-backend E2E, and platform integration suites passed in GitHub Actions
  • Tauri shell tests and all Linux, macOS, and Windows desktop E2E shards passed in CI Full run 29866562601

Validation Blocked

  • command: repository-wide pre-push hook
  • error: intentionally not run locally because the requested workflow delegates CPU-heavy validation to GitHub Actions
  • impact: pushes used --no-verify; equivalent and broader exact-head checks passed in PR CI and CI Full

Behavior Changes

  • Intended behavior change: none in shipped code; tests now encode current routes, contracts, lifecycle, and async defaults
  • User-visible effect: none

Parity Contract

  • Legacy behavior preserved: yes
  • Guard/fallback/dispatch parity checks: PR CI Gate plus complete exact-head CI Full coverage on Linux, macOS, and Windows

Duplicate / Superseded PR Handling

Summary by CodeRabbit

  • Bug Fixes

    • Improved recovery when the embedded core restarts or changes connection ports.
    • Added more reliable authentication landing and chat composer interactions.
    • Improved saving and verification of advanced settings.
    • Retired routes now redirect safely to the appropriate Connections or Wallet views.
  • Improvements

    • Updated Insights and Memory coverage around the Brain graph, sources, and actions.
    • Improved notifications and rewards navigation to open the intended main views.
    • Expanded end-to-end test reliability with clearer suite sharding and longer execution windows.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4b807b3e-65d8-40d3-94c4-ab93a528fbb4

📥 Commits

Reviewing files that changed from the base of the PR and between 4b2d92c and 6528df8.

📒 Files selected for processing (47)
  • .github/workflows/ci-full.yml
  • .github/workflows/e2e-playwright.yml
  • .github/workflows/e2e-reusable.yml
  • app/scripts/e2e-run-shards.sh
  • app/test/core-rpc-node.test.ts
  • app/test/e2e/helpers/chat-harness.ts
  • app/test/e2e/helpers/core-rpc-node.ts
  • app/test/e2e/specs/chat-multi-tool-round.spec.ts
  • app/test/e2e/specs/insights-dashboard.spec.ts
  • app/test/e2e/specs/notifications.spec.ts
  • app/test/e2e/specs/onboarding-modes.spec.ts
  • app/test/e2e/specs/settings-account-preferences.spec.ts
  • app/test/e2e/specs/settings-advanced-config.spec.ts
  • app/test/e2e/specs/settings-ai-skills.spec.ts
  • app/test/e2e/specs/settings-dev-options.spec.ts
  • app/test/e2e/specs/settings-feature-preferences.spec.ts
  • app/test/e2e/specs/webhooks-tunnel-flow.spec.ts
  • app/test/playwright/helpers/core-rpc.ts
  • app/test/playwright/specs/composio-triggers-flow.spec.ts
  • app/test/playwright/specs/connector-gmail-composio.spec.ts
  • app/test/playwright/specs/connector-session-guard-matrix.spec.ts
  • app/test/playwright/specs/guided-tour-gates.spec.ts
  • app/test/playwright/specs/harness-cron-prompt-flow.spec.ts
  • app/test/playwright/specs/insights-dashboard.spec.ts
  • app/test/playwright/specs/intelligence-memory-ui-functional.spec.ts
  • app/test/playwright/specs/notifications.spec.ts
  • app/test/playwright/specs/rewards-progression-persistence.spec.ts
  • app/test/playwright/specs/rewards-unlock-flow.spec.ts
  • app/test/playwright/specs/settings-account-preferences.spec.ts
  • app/test/playwright/specs/settings-advanced-config.spec.ts
  • app/test/playwright/specs/settings-feature-preferences.spec.ts
  • app/test/playwright/specs/settings-leaf-workflows.spec.ts
  • app/test/playwright/specs/webhooks-tunnel-flow.spec.ts
  • docs/TEST-COVERAGE-MATRIX.md
  • src/openhuman/config/ops/mod.rs
  • src/openhuman/tinyagents/middleware.rs
  • tests/agent_harness_e2e.rs
  • tests/json_rpc_e2e.rs
  • tests/personality_e2e.rs
  • tests/raw_coverage/agent_harness_leftovers_raw_coverage_e2e.rs
  • tests/raw_coverage/agent_prompts_subagent_raw_coverage_e2e.rs
  • tests/raw_coverage/agent_round26_raw_coverage_e2e.rs
  • tests/raw_coverage/agent_session_round24_raw_coverage_e2e.rs
  • tests/raw_coverage/composio_credentials_state_raw_coverage_e2e.rs
  • tests/raw_coverage/inference_agent_raw_coverage_e2e.rs
  • tests/raw_coverage/memory_raw_coverage_e2e.rs
  • tests/raw_coverage/memory_threads_raw_coverage_e2e.rs

📝 Walkthrough

Walkthrough

This PR updates Playwright CI artifact packaging and shard allocation, improves embedded-core RPC and browser-input recovery, migrates E2E coverage to current routes, extends test timeouts, and updates Rust integration fixtures and coverage assertions.

Changes

CI execution and recovery

Layer / File(s) Summary
CI artifacts and shard distribution
.github/workflows/*, app/scripts/e2e-run-shards.sh
Playwright failures are uploaded as compressed archives, the web lane timeout increases to 90 minutes, and commerce coverage splits into payments and settings shards.
Core RPC and browser reliability
app/test/e2e/helpers/*, app/test/core-rpc-node.test.ts, app/test/playwright/specs/*
Core discovery validates cached endpoints and retries transport failures; composer entry and authenticated Playwright setup gain more deterministic recovery paths.

Current E2E surfaces

Layer / File(s) Summary
Route and UI coverage updates
app/test/e2e/specs/*, app/test/playwright/specs/*
Memory tests use Brain graph/source routes, notifications and rewards select main views, and retired settings or webhook routes assert Connections redirects.
Test timing and interaction stabilization
app/test/e2e/specs/*, app/test/playwright/specs/*
Suites receive longer time budgets, settings saves use scoped controls, notification persistence checks category state, and one unstable tour test is skipped.

Rust coverage fixtures

Layer / File(s) Summary
Rust test contracts and fixtures
src/openhuman/..., tests/*, docs/TEST-COVERAGE-MATRIX.md
Test-only exports, workflow proposal sizes, blocking tool-call payloads, team status polling, prompt context fields, and optional state fields are updated across coverage tests.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

Suggested labels: working

Suggested reviewers: m3ga-mind

Poem

A rabbit packed logs in a tarball so neat,
Split shards for payments and settings to meet.
Brain graphs now sparkle, old routes hop away,
RPCs find new listeners when resets hold sway.
Tests bloom with fresh fixtures, ears up and bright—
“Ship the green carrots!” we cheer through the night.


Comment @coderabbitai help to get the list of available commands.

@senamakel
senamakel marked this pull request as ready for review July 22, 2026 01:23
@senamakel
senamakel requested a review from a team July 22, 2026 01:23
@senamakel
senamakel merged commit 81f58ee into tinyhumansai:main Jul 22, 2026
23 of 24 checks passed
@coderabbitai coderabbitai Bot added the working A PR that is being worked on by the team. label Jul 22, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6528df8d38

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'core.ping', params: {} }),
// A recently stopped listener can take several seconds to reject on
// Windows. Keep discovery inside resetApp's eight-second RPC budget.
signal: AbortSignal.timeout(750),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep RPC discovery within reset budget

When the cached listener is stale and the restarted embedded core binds near the end of the newly-expanded fallback range (for example, 7798), discovery first pings the cached URL and then probes ports sequentially; with this 750 ms timeout, those probes can exceed resetApp's 8-second Promise.race before the live port is reached. In that case resetApp treats a healthy restarted core as “sidecar likely not started” and skips the wipe/re-auth baseline, leaving later desktop E2E shards with stale state. Consider increasing that reset budget or making discovery parallel/shorter per port.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

working A PR that is being worked on by the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant