sinohqb
b4f9c887f4
feat(intelligent-eval): task queue monitor (方案③可视化)
...
CI / test (push) Successful in 4m1s
方案③的定时触发(scan loop 每 60s 入队 + 触发 worker)此前只有 Worker
消费端 API,无可查看的列表。新增:
- GET /api/intelligent-evals/tasks:任务明细(含评估名/状态)+ 状态分布统计
(注册在 /{eval_id} 之前避免被捕获为 eval_id="tasks")
- 前端 TaskQueueMonitor 组件 + 智能评估页任务队列入口:5s 轮询
(usePolling),状态卡 + 状态筛选 + 明细表
测试:+3(列表/筛选/不被 {eval_id} 遮蔽),892 passed,tsc 通过
2026-08-17 13:57:00 +08:00
sinohqb
3852c6f87d
refactor(intelligent-eval): router logic down to service layer (P3, S2)
...
CI / test (push) Failing after 4m16s
P3 deepening (issue #9 ): remove direct ORM from router handlers.
- decision_logs.py (new): create_decision_log / list_decision_logs service
- cron_pool.heartbeat: encapsulate heartbeat cron lookup + update + commit
- cron_pool.scale_to: encapsulate scale direction decision (if/elif/else)
- task_queue.get_next_task_with_eval: encapsulate eval-loading + dict-building
- Router endpoints now delegate to services, only handling HTTP-level
validation (status codes, 404 translation via LookupError).
No observable behaviour change — 873 passed + 5 xfailed unchanged.
T3 router ORM contract guards (5/5) continue to pass.
2026-08-13 13:57:34 +08:00
sinohqb
4e9145db46
fix(lint): resolve ruff lint errors
...
CI / test (push) Failing after 32s
- Remove unused imports (json, datetime, timedelta, Any, Optional, IntelligentEval)
- Remove unused variable (estimated_sessions)
- Remove whitespace from blank line
- Organize import blocks
All ruff checks passing.
2026-08-12 11:13:19 +08:00
sinohqb
ee639afb0d
feat(intelligent-eval): add decision process UI (ticket 09)
...
- Add list_decision_logs API endpoint
- Add DecisionProcess component with timeline, list, filter, and export
- Add decision log API calls to api.ts
- Add "决策过程" button in EvalDetail to access decision history
- Implement decision log export to JSON
- Pass TypeScript type checking
All 853 tests passing.
2026-08-12 10:59:51 +08:00
sinohqb
e6f98aaa6d
feat(intelligent-eval): implement config snapshot management (ticket 05)
...
- Add config_snapshot.py with save/list/get/compare functions
- Auto-save snapshots on eval creation and plan submission
- Implement snapshot query APIs (list, get single)
- Implement snapshot comparison API (diff two snapshots)
- Add 8 unit tests and 7 integration tests
Snapshots track config changes over time (created/plan_submitted/config_updated).
All 813 tests passing.
2026-08-12 10:19:07 +08:00
sinohqb
30b9cac224
feat(intelligent-eval): implement worker skill and APIs (ticket 03)
...
- Create agenteval-intelligent-worker SKILL.md with decision logic
- Implement heartbeat API (POST /api/openclaw/crons/{id}/heartbeat)
- Implement decision log API (POST /api/intelligent-evals/{id}/decision-logs)
- Skill includes idle/busy state management and cron state handling
- Deployment script already syncs skills automatically
- Add 6 integration tests
All 784 tests passing.
2026-08-12 10:01:56 +08:00
sinohqb
1aa453ef0a
feat(intelligent-eval): add cron pool data model and task queue API
...
Implement Ticket 01 of intelligent eval cron pool architecture (ADR-0007):
- Add 4 new tables: task_queue, cron_pool, config_snapshots, decision_logs
- Implement task enqueueing logic with priority calculation
- Implement task assignment and completion APIs
- Add unit tests (9) and integration tests (7)
- Update CONTEXT.md with new vocabulary
- Add ADR-0007 documenting cron pool architecture decision
All 760 tests passing.
2026-08-12 02:13:21 +08:00
sinohqb
62485684ca
fix(architecture): enforce lifecycle consistency
2026-08-07 10:59:27 +08:00
sinohqb
c896ab3f71
refactor(architecture): deepen evaluation lifecycle and read model
2026-08-07 03:11:37 +08:00
sinohqb
1317552701
feat(intelligent-eval): add backend for OpenClaw-driven intelligent evaluation (tickets 01-04)
...
Introduce 智能评估 as an evaluation paradigm parallel to static evaluation,
driven by OpenClaw. The platform supplies storage, lifecycle, and reporting;
OpenClaw plans and executes.
- Data model: IntelligentEval + Session + Message tables (new, not reusing exploration)
- Lifecycle state machine: draft → planning → pending_approval → executing → completed/cancelled/failed
- Session API: create/message (channel-forwarded)/close with turn accounting
- Report API: pydantic-validated structured report, executing → completed, Markdown export (pure renderer)
- Alembic migration for the three tables; domain glossary added to CONTEXT.md
2026-08-05 03:18:52 +08:00