Commit Graph
98 Commits
Author SHA1 Message Date
Steven EnamakelandGitHub 39fd83e866 feat(chat): per-thread todo list strip above the composer (#4017) 2026-06-23 17:31:29 -07:00
1f00ab79b1 feat(rewards): Discord connect + disconnect/re-link on the Rewards page (#3766)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 11:38:08 +05:30
e2355ba142 feat(agent-world): native tiny.place integration (Feed, Messages, Jobs, Bounties, Marketplace, x402, Signal DMs) (#3780)
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-06-18 13:29:49 -07:00
461f39bd6b feat(agent-team): live teammate execution + messaging (#3374) (#3637)
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-06-16 12:49:31 +05:30
a54854af03 [merge 4/5] test(e2e): agent harness behaviors browser spec (#3471) (#3669)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-15 17:01:32 -07:00
Steven Enamakel's DroidandGitHub 6ceee181d1 test(e2e): repair desktop Appium suite after IA refactors (#3649) 2026-06-13 13:28:39 -07:00
d61d72c092 feat(settings): Desktop Agent setup panel (permissions, seamless mode, always-on, wake-word) (#3634)
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-06-13 19:20:32 +05:30
Cyrus GrayandGitHub 55522ad48b fix(i18n): restore "Subconscious" as the user-facing label (#3573) 2026-06-10 15:51:55 +05:30
Cyrus GrayandGitHub 04bec23405 IA revamp: restructure app navigation and settings for everyday users (phased) (#3518) 2026-06-09 21:00:00 -07:00
Steven EnamakelandGitHub 3ae5bab787 feat(mcp-registry): redesign MCP tab with official registry as primary source (#3480) 2026-06-07 21:22:29 -07:00
Steven Enamakel's DroidandGitHub 6cf53c0282 feat(memory): add Conversation as a memory source kind (#3441) 2026-06-06 15:55:20 -04:00
Steven EnamakelandGitHub 5c6dbf3649 feat(agent): gate subagent delegation by allowlist (#3426) 2026-06-06 11:42:24 -04:00
CodeGhost21andGitHub a7516a83bd feat(voice): global push-to-talk hotkey (#3090) (#3349) 2026-06-05 18:38:03 -04:00
Cyrus GrayandGitHub 9411188ea8 feat(memory-sync): configurable global sync interval (4h/12h/24h/manual) (#3408) 2026-06-05 10:12:07 -04:00
95118d5a7d refactor(workflows): merge skills into the unified workflows primitive (#3324)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
2026-06-04 23:44:39 -04:00
Cyrus GrayandGitHub cac09cbca3 test(e2e): update composer selectors for new placeholder + voice button (#3206) 2026-06-02 16:30:52 +05:30
1e03dd2687 fix(e2e): fix 32 failing E2E tests across chat, onboarding, skills, connectors and settings (#3137)
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-06-01 23:20:52 -07:00
Steven EnamakelandGitHub fbe89ba7b6 feat(subagent): persist sub-agent runs and let orchestrator relay user messages (#3055) 2026-05-30 23:51:33 -07:00
Steven EnamakelandGitHub 4c911240df feat(search): add registry-backed search module (#2999) 2026-05-29 19:41:01 -07:00
Mega MindandGitHub 99ad66364c feat(composio): add tags query param to GitHub tool list API (#2714) 2026-05-27 04:42:57 +05:30
Mega MindandGitHub 730017e2ef test(loopback-oauth): extract classify_request and add routing unit tests (#2646) 2026-05-26 15:08:19 +05:30
Mega MindandGitHub 099570cddc fix(channels): thread workspace identity through channel events to prevent cross-workspace persistence (#2633) 2026-05-26 15:07:41 +05:30
Steven EnamakelandGitHub e7e7e8a951 Migrate E2E coverage to Playwright (#2610) 2026-05-25 23:38:34 -07:00
Mega MindandGitHub 0d62e8489f fix(inference): preserve connected-app tools when BYOK provider is configured (#2632) 2026-05-25 22:58:57 +05:30
sanil-23andGitHub f756893153 test(e2e): default file keyring + RPC diagnostics to unblock Linux Appium (re-delivers #2609) (#2645) 2026-05-25 21:29:55 +05:30
Mega MindandGitHub cdee8f73fb fix(startup): recover from core port 7788 conflict automatically (#2626) 2026-05-25 20:09:08 +05:30
Steven EnamakelandGitHub 45a1502629 fix(e2e): stabilize appium docker harness (#2589) 2026-05-24 19:48:13 -07:00
Steven EnamakelandGitHub b62409a0cf perf(e2e): full-suite hardening — sharded build/test, loopback auth, +23 specs (#2578) 2026-05-24 13:21:33 -07:00
Steven EnamakelandGitHub a47740d4c9 test(memory): extend memory coverage across retrieval and tooling (#2574) 2026-05-24 13:21:12 -07:00
48548a223b feat(app): UI control for max_actions_per_hour (#2486) (#2500)
Co-authored-by: Chen Qian <cq@Chens-MacBook-Pro.local>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 00:52:54 -07:00
Steven EnamakelandGitHub 25da30f6b6 test(e2e): expand agent-harness coverage for channels + prompt flows (#2518) 2026-05-23 00:29:14 -07:00
Steven EnamakelandGitHub e53204c7ec test(e2e): expand e2e coverage for 12 missing high-priority flows (#2512) 2026-05-22 22:15:12 -07:00
03d1e2512e feat(e2e): complete E2E v2 suite — 66 specs, orchestrator, bug fixes (#2353)
Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-05-22 17:23:01 -07:00
Mega MindandGitHub 2a935d35b1 test(e2e): add E2E coverage for 15 Composio connector flows (#2351) 2026-05-22 00:08:11 +05:30
0f5e91421b test(e2e): use stable cron test ids
## Summary

- Adds shared `waitForTestId` and `clickTestId` E2E helpers for stable DOM hooks.
- Adds missing `cron-jobs-panel` and `cron-refresh` hooks to the Cron Jobs settings panel.
- Migrates the reference cron E2E flow away from Tailwind class/DOM walking to cron row/action test IDs.
- Documents the E2E `data-testid` naming taxonomy in the E2E guide.

## Problem

- #1861 calls out `cron-jobs-flow.spec.ts` as the concrete example of brittle selectors: it found `morning_briefing` via Tailwind class strings and `closest('div.p-4')`.
- That breaks on harmless class/layout refactors and makes the reference spec a weak template for future E2E work.

## Solution

- Use existing `CoreJobList` cron row/action hooks directly from the spec.
- Add the missing panel/refresh hooks so the whole cron flow can avoid text/button discovery for row actions.
- Centralize test ID waiting/clicking in `element-helpers.ts` instead of keeping local DOM snippets in specs.

## Submission Checklist

- [x] Tests added or updated (happy path + at least one failure / edge case) per [Testing Strategy](../gitbooks/developing/testing-strategy.md#failure-path-requirement) - updated the reference cron E2E spec and helper path.
- [x] **Diff coverage >= 80%** - N/A locally: E2E helper/spec/doc change; CI diff coverage is authoritative.
- [x] Coverage matrix updated - N/A: E2E selector-hardening change, no feature row added/removed/renamed.
- [x] All affected feature IDs from the matrix are listed in the PR description under `## Related` - N/A: no matrix feature ID applies.
- [x] No new external network dependencies introduced (mock backend used per [Testing Strategy](../gitbooks/developing/testing-strategy.md#mock-policy))
- [x] Manual smoke checklist updated if this touches release-cut surfaces ([`docs/RELEASE-MANUAL-SMOKE.md`](../docs/RELEASE-MANUAL-SMOKE.md)) - N/A: no release-cut surface.
- [x] Linked issue closed via `Closes #NNN` in the `## Related` section - N/A: this is a scoped slice that references #1861 without closing the broader audit issue.

## Impact

- Runtime impact: none outside stable `data-testid` attributes on the Cron Jobs panel.
- Test impact: cron E2E is less coupled to Tailwind classes and container structure.
- Compatibility: `waitForTestId` is documented as tauri-driver/DOM-backed; Mac2 specs should keep accessibility/text helpers unless IDs are mirrored into accessible labels.

## Related

- Refs #1861
- Follow-up PR(s)/TODOs: add stable hooks/migrations for the remaining settings, skills, conversation, onboarding, and notification E2E surfaces tracked by #1861.

---

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

### Linear Issue
- Key: N/A
- URL: N/A

### Commit & Branch
- Branch: `codex/1861-cron-e2e-testids`
- Commit SHA: `28eca40a3d2e3a75b61105887e4faf58d4c0866e`

### Validation Run
- [x] `pnpm --filter openhuman-app exec prettier --check src/components/settings/panels/CronJobsPanel.tsx test/e2e/helpers/element-helpers.ts test/e2e/specs/cron-jobs-flow.spec.ts` - passed
- [x] `pnpm typecheck` - passed
- [x] Focused tests: N/A, E2E spec migration not run locally
- [x] Rust fmt/check (if changed): `cargo fmt --all --check` - passed; `git diff --check` - passed
- [x] Tauri fmt/check (if changed): N/A

### Validation Blocked
- `command:` `pnpm --filter openhuman-app exec tsc -p test/tsconfig.e2e.json --noEmit`
- `error:` local command could not find `tsc` / `@wdio/globals/types` via that invocation
- `impact:` app-wide `pnpm typecheck` passes; remote E2E/TS jobs remain authoritative for the E2E tsconfig

### Behavior Changes
- Intended behavior change: none for users; E2E selectors now target stable hooks.
- User-visible effect: none.

### Parity Contract
- Legacy behavior preserved: cron load, refresh, pause/resume, run-history, and remove behavior unchanged.
- Guard/fallback/dispatch parity checks: spec still asserts the same UI and sidecar persistence behavior.

### Duplicate / Superseded PR Handling
- Duplicate PR(s): N/A
- Canonical PR: this PR
- Resolution (closed/superseded/updated): N/A


<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

* **Tests**
  * Added E2E helpers and updated cron-jobs flow to use stable test identifiers for more reliable UI interactions and polling.

* **Documentation**
  * Added guidance on stable test ID naming and how to use the new E2E helpers in the testing guide.

* **Maintenance**
  * Cron Jobs panel and controls now expose stable identifiers for testing (no user-facing behavior changes).

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/tinyhumansai/openhuman/pull/2301?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: aqilaziz <gonzes7@gmail.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-05-20 16:51:38 -07:00
15df9855c3 fix(orchestrator): route live facts to research
## Summary

- Routes live/current factual requests (weather, forecasts, recent web facts, "use Grok/live data") to the available `research` tool.
- Replaces the stale `delegate_researcher` prompt reference with the synthesized tool name `research`.
- Updates the chat harness subagent fixture to emit `research` so the forced tool call matches the current delegation surface.
- Adds a prompt-builder regression test that locks the live-data rule and rejects the stale tool name.

## Problem

- The orchestrator could acknowledge live weather/research requests with "on it" without actually calling the research tool.
- The prompt named `delegate_researcher`, but the current researcher tool is exposed as `research` via `delegate_name = "research"`.
- Users who named an unwired provider like Grok could stall the agent instead of falling back to the available live research path.

## Solution

- Teach the orchestrator to call `research` for live/current/time-sensitive facts that direct tools cannot answer.
- Explicitly tell it not to stop at "on it" and not to wait for the exact named provider when that provider is not wired in.
- Align the E2E harness fixture with the real `research` tool name.

## Submission Checklist

- [x] Tests added or updated (happy path + at least one failure / edge case) per [Testing Strategy](../gitbooks/developing/testing-strategy.md#failure-path-requirement) - added prompt regression assertion and updated E2E forced tool fixture.
- [x] **Diff coverage >= 80%** - N/A locally: tiny prompt/test fixture change; CI diff coverage will be authoritative.
- [x] Coverage matrix updated - N/A: prompt routing change, no feature row added/removed/renamed.
- [x] All affected feature IDs from the matrix are listed in the PR description under `## Related` - N/A: no matrix feature ID applies.
- [x] No new external network dependencies introduced (mock backend used per [Testing Strategy](../gitbooks/developing/testing-strategy.md#mock-policy))
- [x] Manual smoke checklist updated if this touches release-cut surfaces ([`docs/RELEASE-MANUAL-SMOKE.md`](../docs/RELEASE-MANUAL-SMOKE.md)) - N/A: no release-cut surface.
- [x] Linked issue closed via `Closes #NNN` in the `## Related` section

## Impact

- Runtime: orchestrator prompt only, plus E2E harness fixture alignment.
- User-visible effect: live weather/current fact requests should call research instead of ending with an acknowledgement.
- No migration, security, or dependency impact.

## Related

- Closes #2164
- Follow-up PR(s)/TODOs: N/A

---

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

### Linear Issue
- Key: N/A
- URL: N/A

### Commit & Branch
- Branch: `codex/2164-live-data-research`
- Commit SHA: `dc63d1d3e1ea531a1609594debd1e0ca95329b27`

### Validation Run
- [x] `pnpm --filter openhuman-app exec prettier --check test/e2e/specs/chat-harness-subagent.spec.ts` - passed
- [x] `pnpm typecheck` - N/A: comments/string fixture plus Rust prompt text only
- [x] Focused tests: `cargo test --lib build_routes_live_facts_to_research_tool` attempted; blocked before test execution by local `libclang` setup
- [x] Rust fmt/check (if changed): `cargo fmt --all --check` - passed; `git diff --check` - passed
- [x] Tauri fmt/check (if changed): N/A

### Validation Blocked
- `command:` `cargo test --lib build_routes_live_facts_to_research_tool`
- `error:` `whisper-rs-sys` build could not find `clang.dll` / `libclang.dll`; `LIBCLANG_PATH` is unset in this Windows environment
- `impact:` Rust prompt unit test did not execute locally; remote CI environment should validate it

### Behavior Changes
- Intended behavior change: live/current factual requests route to `research` when no direct tool can answer.
- User-visible effect: requests like "forecast for Bremerhaven today" should produce a researched answer instead of a bare "on it" acknowledgement.

### Parity Contract
- Legacy behavior preserved: direct answers, connected integration routing, crypto/code/planner/critic/archive routing remain unchanged.
- Guard/fallback/dispatch parity checks: prompt test asserts live facts mention weather/forecast/Grok fallback and rejects stale `delegate_researcher` naming.

### Duplicate / Superseded PR Handling
- Duplicate PR(s): N/A
- Canonical PR: this PR
- Resolution (closed/superseded/updated): N/A


<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

## Release Notes

* **Tests**
  * Enhanced test coverage for research request handling and subagent communication.

* **Chores**
  * Improved internal routing and terminology for research operations to support live, time-sensitive fact queries more effectively.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/tinyhumansai/openhuman/pull/2299?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: aqilaziz <gonzes7@gmail.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-05-20 15:21:23 -07:00
9ec2ae765f fix(e2e): sync E2E specs with current codebase (#2220)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-05-19 22:46:56 -07:00
Aqil AzizandGitHub b0fe42b0af fix(composio): request Gmail read scope for triggers (#2191) 2026-05-19 20:02:23 -07:00
Steven EnamakelandGitHub 4d28b1bc00 fix(e2e): resolve 30+ failing E2E specs — i18n, assertion, and import fixes (#2092) 2026-05-19 16:22:56 -07:00
b2ecdba4a8 test(cron): add stable job row selectors (#2062)
Co-authored-by: honor2030 <9779460+honor2030@users.noreply.github.com>
2026-05-19 14:34:54 -07:00
Steven EnamakelandGitHub 288aae12a9 test(e2e): hard-fail mega-flow and fix 6 hidden failures (#2028) 2026-05-17 19:37:48 -07:00
Steven EnamakelandGitHub b43bba7dac test: expand and stabilize settings e2e coverage (#2024) 2026-05-17 15:15:21 -07:00
Steven EnamakelandGitHub 95f1f5f063 Refactor inference around external Ollama routing (#1975) 2026-05-17 02:37:42 -07:00
Steven EnamakelandGitHub 2e58438aa9 test(e2e): onboarding simple vs advanced mode spec (#1989) 2026-05-17 02:02:25 -07:00
Steven EnamakelandGitHub 5f15fc1f71 test(e2e): cover runtime picker → login → onboarding → logout (#1982) 2026-05-16 20:29:12 -07:00
Steven EnamakelandGitHub 0354a6c9e7 feat(audio): add podcast generation and delivery toolkit (#1970) 2026-05-16 16:08:56 -07:00
Steven EnamakelandGitHub 40a384ed65 feat(wallet): add default rpc and EVM execution tools (#1964) 2026-05-16 15:12:09 -07:00
Steven EnamakelandGitHub dbbd33ea2c test(e2e): deep chat-harness coverage + streaming mock LLM + rust-e2e Linux lane (#1892) 2026-05-15 23:28:56 -07:00
f90a337bc0 Add agent task orchestration (#1768)
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
2026-05-15 21:36:08 -07:00
Steven EnamakelandGitHub bbc5504691 test(e2e): convert ~22 stub specs to resetApp() UI-driven pattern (#1889) 2026-05-15 20:51:34 -07:00