feat(governance): refresh AI agent market radar
Some checks failed
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / tests (push) Successful in 1m42s
CD Pipeline / build-and-deploy (push) Successful in 3m58s
CD Pipeline / post-deploy-checks (push) Has been cancelled
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled
Some checks failed
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / tests (push) Successful in 1m42s
CD Pipeline / build-and-deploy (push) Successful in 3m58s
CD Pipeline / post-deploy-checks (push) Has been cancelled
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled
This commit is contained in:
@@ -15,6 +15,10 @@ def build_radar(
|
||||
market_watch: dict[str, Any],
|
||||
governance_snapshot: dict[str, Any],
|
||||
status_cleanup_dashboard: dict[str, Any],
|
||||
market_watch_path: str,
|
||||
governance_snapshot_path: str,
|
||||
status_cleanup_dashboard_path: str,
|
||||
evidence_commit: str,
|
||||
generated_at: str | None = None,
|
||||
) -> dict[str, Any]:
|
||||
"""Build a read-only market radar readback from committed evidence."""
|
||||
@@ -30,11 +34,11 @@ def build_radar(
|
||||
"schema_version": "ai_agent_market_radar_readback_v1",
|
||||
"generated_at": generated_at or datetime.now(timezone.utc).isoformat(),
|
||||
"source_scope": {
|
||||
"market_watch_report": "docs/evaluations/agent_market_watch_report_2026-06-25.json",
|
||||
"market_governance_snapshot": "docs/evaluations/agent_market_governance_snapshot_2026-06-25.json",
|
||||
"status_cleanup_dashboard": "docs/operations/awoooi-status-cleanup-dashboard.snapshot.json",
|
||||
"project_handoff_basis": "Codex Start Here handoff generated 2026-06-25",
|
||||
"gitea_main_evidence_basis_commit": "279f9531",
|
||||
"market_watch_report": market_watch_path,
|
||||
"market_governance_snapshot": governance_snapshot_path,
|
||||
"status_cleanup_dashboard": status_cleanup_dashboard_path,
|
||||
"project_handoff_basis": "Codex Start Here handoff + P2-412 primary-source refresh",
|
||||
"gitea_main_evidence_basis_commit": evidence_commit,
|
||||
"scope_note": "盤點範圍涵蓋近期 Gitea 主線、治理 handoff、AI Agent market watch 與 Status Cleanup gates;不包含 raw chat history。",
|
||||
},
|
||||
"summary": {
|
||||
@@ -213,7 +217,7 @@ def _recent_change_inventory(status_summary: dict[str, Any]) -> list[dict[str, A
|
||||
},
|
||||
{
|
||||
"priority": "P0",
|
||||
"title": "AI Agent market watch 2026-06-25",
|
||||
"title": "AI Agent market watch 最新 primary-source refresh",
|
||||
"status": "market_refresh_done_integration_blocked",
|
||||
"completion_percent": 100,
|
||||
"next_gate": "更新 scorecard 並進入 offline replay gate,不得直接替換。",
|
||||
@@ -358,7 +362,7 @@ def _priority_workplan() -> list[dict[str, Any]]:
|
||||
},
|
||||
{
|
||||
"order": 2,
|
||||
"work_item": "刷新 2026-06-25 market capability scorecard",
|
||||
"work_item": "刷新 market capability scorecard",
|
||||
"risk": "medium",
|
||||
"automation_mode": "agent_propose_owner_review",
|
||||
"done_definition": "OpenAI / LangGraph / NeMo-Nemotron / Claude / Microsoft / Google / CrewAI 均有新版官方來源與分數差異。",
|
||||
@@ -407,6 +411,7 @@ def main() -> int:
|
||||
parser.add_argument("--market-watch", required=True)
|
||||
parser.add_argument("--governance-snapshot", required=True)
|
||||
parser.add_argument("--status-cleanup-dashboard", required=True)
|
||||
parser.add_argument("--evidence-commit", required=True)
|
||||
parser.add_argument("--output", required=True)
|
||||
parser.add_argument("--markdown-output", required=True)
|
||||
args = parser.parse_args()
|
||||
@@ -415,6 +420,10 @@ def main() -> int:
|
||||
market_watch=load_json(Path(args.market_watch)),
|
||||
governance_snapshot=load_json(Path(args.governance_snapshot)),
|
||||
status_cleanup_dashboard=load_json(Path(args.status_cleanup_dashboard)),
|
||||
market_watch_path=args.market_watch,
|
||||
governance_snapshot_path=args.governance_snapshot,
|
||||
status_cleanup_dashboard_path=args.status_cleanup_dashboard,
|
||||
evidence_commit=args.evidence_commit,
|
||||
)
|
||||
Path(args.output).write_text(
|
||||
json.dumps(payload, ensure_ascii=False, indent=2, sort_keys=True) + "\n",
|
||||
|
||||
@@ -66,6 +66,7 @@ def build_radar(
|
||||
"high_priority_review_queue": _high_priority_review_queue(technology_watch),
|
||||
"professional_agent_roles": _professional_agent_roles(),
|
||||
"rolling_update_controls": _rolling_update_controls(technology_watch),
|
||||
"primary_source_alignment": _primary_source_alignment(),
|
||||
"integration_candidates": _integration_candidates(technology_watch),
|
||||
"priority_workplan": _priority_workplan(),
|
||||
"blocked_gates": [
|
||||
@@ -177,6 +178,19 @@ def render_markdown(payload: dict[str, Any]) -> str:
|
||||
f"{control['output']} | `{control['gate']}` |"
|
||||
)
|
||||
|
||||
lines.extend([
|
||||
"",
|
||||
"## 主流實務來源證據",
|
||||
"",
|
||||
"| 實務 | 官方來源 | AWOOOI Gate | Agent 分工 |",
|
||||
"|---|---|---|---|",
|
||||
])
|
||||
for item in payload["primary_source_alignment"]:
|
||||
lines.append(
|
||||
f"| {item['practice']} | {item['source']} | `{item['awoooi_gate']}` | "
|
||||
f"{item['agent_assignment']} |"
|
||||
)
|
||||
|
||||
lines.extend([
|
||||
"",
|
||||
"## 優先工作清單",
|
||||
@@ -325,6 +339,47 @@ def _rolling_update_controls(report: dict[str, Any]) -> list[dict[str, Any]]:
|
||||
]
|
||||
|
||||
|
||||
def _primary_source_alignment() -> list[dict[str, str]]:
|
||||
return [
|
||||
{
|
||||
"practice": "OpenAI Agents SDK:專家協作、tool execution、approvals、state 由產品掌控",
|
||||
"source": "https://developers.openai.com/api/docs/guides/agents",
|
||||
"awoooi_gate": "sandbox_orchestration_no_write",
|
||||
"agent_assignment": "OpenClaw 負責 policy guard;MarketRadar 追版本;Hermes 產審核包。",
|
||||
},
|
||||
{
|
||||
"practice": "NVIDIA Nemotron 3 Ultra / NeMo:長任務 Agent、profiling、evaluation、MCP / A2A 互通",
|
||||
"source": "https://developer.nvidia.com/blog/nvidia-nemotron-3-ultra-powers-faster-more-efficient-reasoning-for-long-running-agents/",
|
||||
"awoooi_gate": "nemotron_replay_evaluator_only",
|
||||
"agent_assignment": "NemoTron 只做離線 replay / evaluator / smoke gate,不接 production routing。",
|
||||
},
|
||||
{
|
||||
"practice": "LangGraph:durable execution、human-in-the-loop、stateful workflow runtime",
|
||||
"source": "https://docs.langchain.com/oss/python/langgraph/overview",
|
||||
"awoooi_gate": "incident_workflow_kernel_replay_first",
|
||||
"agent_assignment": "OpenClaw 仲裁狀態轉移;Hermes 記錄 replay 證據與交接原因。",
|
||||
},
|
||||
{
|
||||
"practice": "MCP:標準化 agent-to-tool / resource / prompt 連接,且需明確 user consent",
|
||||
"source": "https://modelcontextprotocol.io/specification/2025-06-18",
|
||||
"awoooi_gate": "read_only_tool_registry_before_write_adapter",
|
||||
"agent_assignment": "MarketRadar 監控 SDK / spec;Critic 檢查資料權限與 tool safety。",
|
||||
},
|
||||
{
|
||||
"practice": "A2A:跨框架 Agent 溝通、委派與互通;MCP 處理工具、A2A 處理 Agent 對 Agent",
|
||||
"source": "https://a2a-protocol.org/latest/",
|
||||
"awoooi_gate": "agent_to_agent_interop_watch_only",
|
||||
"agent_assignment": "OpenClaw 設定協作邊界;Hermes 彙整 handoff 記錄;NemoTron 比對輸出。",
|
||||
},
|
||||
{
|
||||
"practice": "OpenTelemetry GenAI:Agent / LLM / MCP trace 語意慣例,支援可觀測與稽核",
|
||||
"source": "https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/",
|
||||
"awoooi_gate": "trace_semconv_mapping_before_runtime_export",
|
||||
"agent_assignment": "Critic 定義稽核欄位;MarketRadar 追語意規範版本;Hermes 產日週月報。",
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def _integration_candidates(report: dict[str, Any]) -> list[dict[str, Any]]:
|
||||
return [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user