Files
nmfs-agents/tests/test_os_engineer_perf.py
qiuruiandClaude Sonnet 4.6 df59fc0c83 feat: NMFS Agents 全量入库(org v2 + dashboard + 多队列 + 组织架构)
包含从项目创建至今的全部代码首次入库:

核心框架:
- TaskQueue(SQLite,6 种状态,原子 dequeue)
- Executor(asyncio 并发,semaphore 限流,agent_role 路由)
- Scheduler(APScheduler,三队列独立调度)
- Watchdog(超时检测 + 优先级防饥饿)
- Scanner(项目扫描,README/TODO/CLAUDE.md 提取)

Agent 体系(20+ 角色):
- 项目交付组:architect/developer/tester/productizer
- 基础技术组:base-architect/validator/hw/os/kernel/lowlevel/system-tester
- 算法组:algo-antishake/position/nav
- 洞察组:planner/vision-analyst/media-producer
- 市场组:market-pm/sport/elder/safety
- 组织层:boss/group-leader/senior-dev/ops
- 平台扩展:nrf-dev/esp32-dev
- 三专项调研:rtp-researcher/net-researcher/kernel-analyzer

工具层:
- ProjectMemory(goals/facts/history SQLite)
- VersionPipeline(并行版本流水线 + 反幻觉门控)
- EventBus(Redis Streams,5 consumer groups)
- DailyReport(append-only 日报 + Boss 决策视图)
- AgentScorer(4 维评分:完成度/质量/自主性/协作)
- DeviceAgent(SSH rsync + 板端执行)
- EnvCollector(本机+SSH 环境采集)
- ArchVersion(快照/优化/promote/rollback)

Dashboard(React + Vite + Tailwind):
- 看板/项目/配置/洞察/日报/Visual 六标签页
- WebSocket 实时更新
- Markdown 渲染(react-markdown + remark-gfm)

测试:314 passed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 07:24:19 +08:00

27 lines
959 B
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from __future__ import annotations
import pytest
from unittest.mock import MagicMock
from nmfs_agents.agents.os_engineer import OsEngineerAgent, OS_ENGINEER_SYSTEM
from nmfs_agents.config import AgentsConfig, ClaudeConfig
from nmfs_agents.core.queue import Task
from nmfs_agents.tools.project_memory import ProjectMemory
def _cfg():
cfg = MagicMock(spec=AgentsConfig)
cfg.projects = {}
cfg.claude = ClaudeConfig(model="claude-sonnet-4-6", api_key=None)
cfg.devices = {}
return cfg
def test_os_engineer_system_covers_perf_domains():
for kw in ["内存", "网络", "NPU", "iperf", "valgrind", "perf_reports"]:
assert kw in OS_ENGINEER_SYSTEM, f"缺少关键词: {kw}"
def test_os_engineer_does_not_cover_rtos_setup():
"""新定位不再包含 RTOS 任务调度设置(基础搭建已移至 dev-kernel/dev-lowlevel"""
assert "任务调度" not in OS_ENGINEER_SYSTEM
assert "U-Boot" not in OS_ENGINEER_SYSTEM