43 Commits
Author SHA1 Message Date
huangyuan 508132adba perf(test): reuse knowledge computations and expand skill live evaluation
Share content-addressed parsing and embedding caches across isolated test runs, fingerprint relevant dependencies and model assets, and remove implicit UI warm-up. Add realistic two-round Skill delivery evaluation and cache regressions.
2026-10-23 18:50:49 +08:00
hy 4a829624a4 fix: respect release regression impact scope
Signed-off-by: hy <xiaoyuan9816@gmail.com>
2026-10-21 16:29:52 +08:00
hy b88e127e53 fix: resolve CLI entry paths through filesystem aliases
Signed-off-by: hy <xiaoyuan9816@gmail.com>
2026-10-21 14:17:33 +08:00
hy 3b9ba40774 fix: gate releases on packaged cache regression evidence
Signed-off-by: hy <xiaoyuan9816@gmail.com>
2026-10-21 13:47:40 +08:00
hy 5e77c7ddc6 feat(tests): add knowledge test plan and update related documentation 2026-09-20 12:31:22 +08:00
Yoan HuangandCursor 8c3f8173ad fix(test): exclude showcase from backend release gate
Showcase collection must stay on pnpm test:showcase; including it under backend polluted release:start and caused Electron launch contention.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-19 09:23:01 +08:00
hy 240ab91f7b refactor: remove unused test scripts and improve argument validation
- Removed `test:ai`, `test:settings`, and `test:workbench` scripts from package.json.
- Updated test plan documentation to reflect the removal of `test:workbench`.
- Enhanced argument parsing in release scripts to ensure required values are provided.
- Added validation for unknown arguments in release scripts.
- Improved error handling for invalid arguments in test workflow.
- Updated unit tests to cover new validation logic for release arguments.
2026-09-18 14:49:01 +08:00
hy d7e84edda9 Add showcase tests for PPT management, review, knowledge base replies, and service contracts
- Implemented `ppt-management-briefing-edit.showcase.test.ts` to test editing PPTs with AI assistance.
- Created `ppt-management-briefing-review.showcase.test.ts` for reviewing PPTs generated by AI.
- Added `xinghe-kb-reply.showcase.test.ts` to validate knowledge base replies against local documents.
- Developed `xinghe-service-contract.showcase.test.ts` to test AI responses based on PDF contract queries.
- Introduced shared utility functions in `shared.ts` for handling file operations and cost calculations.
- Updated Vitest configuration to include new test paths for showcase cases.
2026-09-18 14:33:38 +08:00
hy 203f8ab180 feat(showcase): add new tests for PPT management and knowledge base interactions
- Implemented `ppt-management-briefing-edit.showcase.test.ts` to test editing PPTs with AI assistance, including cost computation and screenshot capture.
- Created `ppt-management-briefing-review.showcase.test.ts` for reviewing PPTs, ensuring the generation of review screenshots and cost analysis.
- Added shared utility functions in `shared.ts` for handling showcase fixtures, workspace seeding, and cost computation.
- Developed `xinghe-kb-reply.showcase.test.ts` to validate knowledge base interactions, capturing screenshots of responses and ensuring correct tool usage.
- Introduced `xinghe-service-contract.showcase.test.ts` to test PDF contract inquiries, verifying unchanged source documents and capturing relevant screenshots.
- Configured Vitest for showcase tests in `vitest.showcase.config.mts`, setting appropriate timeouts and test inclusion/exclusion criteria.
2026-09-18 14:22:54 +08:00
hy 2c431406f0 feat(tests): enhance testing framework with explicit collection tasks and execution profiles
- Added `showcase` as an explicit collection task in the testing framework, distinct from product regression.
- Introduced explicit collection task rules and updated documentation to reflect changes in testing structure.
- Updated E2E testing commands to utilize `--execution-profile` for better control over test execution.
- Implemented validation to prevent the selection of certain groups (e.g., `showcase`) during release command parsing.
- Enhanced regression selection logic to allow opt-in groups for release impact assessment while rejecting disallowed groups.
- Updated related scripts and test cases to ensure compliance with new testing rules and execution profiles.
2026-09-18 13:56:30 +08:00
Yoan Huang 33de80f1c3 feat(e2e): enhance E2E installation and cleanup process
- Refactor E2E installation logic to improve handling of Windows and macOS paths.
- Introduce cleanup functions to remove E2E installation directories and associated shortcuts.
- Update tests to cover new cleanup functionality and ensure proper detection of E2E install paths.
- Modify package isolation helpers to streamline the installation and cleanup processes.
2026-09-17 23:23:28 +08:00
Yoan Huang d483c4a208 feat: implement office file write notifications and handling for WPS Office
- Introduced `withOfficeFileWrite` utility to manage file write operations with proper closing and reopening of documents.
- Updated `notifyOfficeFileWritten` to utilize the new utility and handle office file paths more effectively.
- Enhanced `WpsSyncService` to manage document closing and reopening during write operations, ensuring proper synchronization with connected clients.
- Added tests to verify the closing and reopening behavior of documents during write operations, ensuring that the correct events are dispatched to connected add-ins.
- Refactored existing code to improve readability and maintainability, including the handling of file paths and error management.
2026-09-16 21:29:22 +08:00
hy 79a1f567ad refactor: enhance message timeline and workbench content handling; improve compact state management and tooltip integration 2026-09-09 15:46:58 +08:00
hy 7cd3782f1e Refactor macOS release handling: remove x64 support and streamline metadata processing
- Removed support for macos-x64 in fragment definitions and related scripts.
- Updated finalize-macos script to only handle macos-arm64, simplifying signature checks and metadata writing.
- Deleted merge-mac-metadata script as it is no longer needed.
- Adjusted storage layout and release status checks to reflect the removal of x64.
- Updated tests to ensure they only validate macos-arm64 functionality.
2026-09-01 16:36:09 +08:00
hy de33cf92c5 feat: add help option to runner and handle unknown arguments 2026-08-27 11:11:14 +08:00
hy af027a4df9 refactor: remove retries from workflow and update related tests 2026-08-26 19:41:34 +08:00
hy 17c9ca1056 fix: remove LIVE_BACKEND_RETRIES and set retries to 0 in workflow 2026-08-26 19:30:45 +08:00
Yoan Huang e111dfe7ab feat: enhance E2E test workflow and improve tool call handling in tests 2026-08-23 19:33:04 +08:00
Yoan Huang 09f37e7d29 feat: enhance environment configuration for Vitest with LANGSMITH_TRACING support 2026-08-23 14:57:36 +08:00
Yoan Huang 3f62417530 feat: Enhance AI testing and update process
- Updated AI test plan with new results for visual reading tests, marking them as completed after fixing configuration issues.
- Added a new script for real upgrade testing on Windows, allowing verification of silent upgrades and proper handling of old installations.
- Introduced concurrency handling in visual recognition service to improve performance during image processing.
- Refactored legacy document editing tests to ensure proper rejection of .doc file edits and adherence to decision hints.
- Adjusted PowerPoint management review tests to include both Chinese and English date formats for better validation.
2026-08-21 23:15:23 +08:00
hy 35adfe50c7 feat: improve process termination handling for sidecar services 2026-08-21 18:19:14 +08:00
hy 9dad1c9ec0 fix(test): always run vector warmup for package E2E when running multiple cases
The only warmup case lives under the settings domain, so filtering with
--domain/--suite/--case excluded it and left every selected case to index
the workspace fixture from scratch. Package E2E now appends the warmup
case whenever more than one case is selected, and the warmup task bypasses
--testNamePattern so targeted --case runs still seed the shared cache.
2026-08-19 15:15:32 +08:00
hy b0cf4fc052 feat: support multiple --case targets for release package E2E and drop dead resume-passed flow 2026-08-05 14:31:26 +08:00
hy 2b853c70e2 test: clean stale E2E temp dirs before runs and remove stray media capture test 2026-08-04 13:23:19 +08:00
hy c3b51d82e5 feat(workbench): add e2e tests for interrupted task resume flow and adjust backend live retries 2026-07-28 18:10:20 +08:00
hy f582ba2e8e feat: enhance AI runtime context and human task management
- Added humanRuntimeOverrides to the AI run context to allow for runtime configuration adjustments.
- Updated HumanResumeSnapshot to include taskContext for better tracking of task interruptions and recoveries.
- Introduced functions to create and render human task contexts, capturing interruption reasons and user inputs.
- Enhanced error classification to include runtime limits and unexpected errors.
- Implemented database migration to reset resume snapshots for versioning.
- Updated tests to cover new runtime limit features and ensure proper handling of task contexts during interruptions.
- Improved workspace knowledge cache to support shared content caching and statistics tracking.
2026-07-28 17:04:59 +08:00
hy 180986beb6 test: allow three concurrent live E2E cases 2026-07-28 09:42:07 +08:00
hy 8ff10ae0b2 test: refine macOS release E2E scheduling 2026-07-27 19:24:41 +08:00
hy cb740580ed test: add cross-architecture warm-up checks to app update publish config 2026-07-27 17:07:21 +08:00
hy 35a6e67864 fix(test): serialize browser-backed ppt cases 2026-07-27 15:45:22 +08:00
hy ed3f555efb fix(test): stabilize parallel release coverage 2026-07-27 15:28:13 +08:00
Yoan Huang fd09e47210 fix(tests): prepare Node SQLite binding for package e2e 2026-07-26 13:50:44 +08:00
Yoan Huang 95118ea6a0 feat(tests): warm vector cache before parallel e2e 2026-07-26 12:24:26 +08:00
Yoan Huang 81b130bb67 feat(tests): update execution modes and improve workspace binding
- Set execution mode to 'exclusive' for specific e2e tests to ensure isolated execution.
- Set execution mode to 'live' for various e2e tests to enable real-time interactions.
- Refactor workspace binding in tests to use direct binding method for improved reliability.
- Enable file parallelism in Vitest configurations to enhance test execution efficiency.
2026-07-26 10:54:29 +08:00
Yoan Huang 61f7301eb7 feat: add Tidy process documentation and enhance test workflows
- Introduced a new documentation file for the Tidy process, outlining steps for aligning documentation with implementation, organizing PRD and test cases, and verifying settings.
- Updated package.json to include a new test command for non-live AI tests and adjusted existing test commands for settings and updates.
- Implemented a cleanup function for local test logs in the release scripts to ensure a clean environment.
- Enhanced the release preparation script to include unit and non-live AI tests in the workflow.
- Added a new script to validate test architecture, ensuring that test cases align with defined plans and rules.
- Refactored existing test cases to improve organization and clarity, including renaming and restructuring tests for better maintainability.
- Adjusted timeout settings for specific tests to improve reliability.
- Corrected domain assignments in several unit tests to ensure proper categorization.
2026-07-25 08:36:13 +08:00
Yoan Huang ada4c149e0 refactor(release): require packaged regression before publish 2026-07-24 22:19:25 +08:00
hy b48859389d feat: implement structured output strategy and retry mechanism with exponential backoff 2026-07-23 13:46:58 +08:00
Yoan Huang 5ec6bf1824 feat(release): split candidate preparation and publishing 2026-07-22 11:46:50 +08:00
Yoan Huang 4ddc364528 feat(release): implement artifact bundle creation and verification
- Added `artifact-bundle.mjs` for creating and verifying release bundles.
- Updated macOS and Windows release scripts to create and upload release bundles.
- Introduced `--package-e2e` flag to run end-to-end tests on packaged releases.
- Modified `package.json` scripts to remove deprecated commands and streamline release process.
- Enhanced E2E testing to utilize release bundles instead of building from source.
- Added unit tests for artifact bundle creation and verification.
- Removed obsolete `route-windows.mjs` script in favor of a unified `windows.mjs` script.
2026-07-22 11:31:12 +08:00
Yoan Huang bc7794813f Refactor E2E tests to improve resource management and cleanup
- Introduced E2EResourceScope for managing resources during E2E tests.
- Updated test cases to register resources and handle disposal in a structured manner.
- Enhanced error handling during resource disposal to capture and report errors.
- Modified workspace setup functions to ensure proper cleanup after tests.
- Adjusted imports and added necessary utility functions for resource management.
2026-07-21 22:56:50 +08:00
hy 8b1b619e04 feat: implement workspace knowledge cache with hit/miss tracking and update related tests 2026-07-20 19:26:56 +08:00
hy 6e5332670a refactor: change launchMode to serviceMode in e2e tests
- Updated multiple e2e test files to replace 'launchMode: real' with 'serviceMode: real' for consistency in service mode configuration.
- Refactored the electronApp.ts to introduce E2EServiceMode and related types for better clarity and maintainability.
- Enhanced run-e2e-case.ts to accommodate the new service mode structure, ensuring proper handling of test cases.
- Created workspaceFixture.ts to manage temporary workspaces more efficiently during tests.
2026-07-20 18:10:50 +08:00
hy 7b057c05f8 refactor: reorganize scripts and update paths for build and release processes
- Removed obsolete test script `test_crawl4ai_fit_markdown.py`.
- Deleted `verify-package-main-obfuscation.mjs` as it is no longer needed.
- Updated paths in `app-update-publish-config.test.ts` to reflect new script locations.
- Refactored `package-content-policy.test.ts` to use new paths for content policy scripts.
- Adjusted `package-main-obfuscation.test.ts` to point to the new obfuscation script locations.
- Modified `package-size-budget.test.ts` to use updated paths for size budget scripts.
- Changed `r2-update-metadata-contract.test.ts` to reference the new metadata script.
- Updated `release-fragment-contract.test.ts` to use the new fragment contract script.
- Refactored `release-storage-layout.test.ts` to point to the new storage layout script.
- Added `runtime-trace.test.ts` to test runtime tracing functionality.
- Updated `node-pty-native-release.test.ts` to reflect new paths for native release scripts.
2026-07-20 17:03:38 +08:00