From 66dc6289e6b8a4c37ce968cd205a3a0b75165dbf Mon Sep 17 00:00:00 2001 From: eanzhao Date: Tue, 12 May 2026 13:14:20 +0800 Subject: [PATCH 1/2] =?UTF-8?q?data:=20=E8=A1=A5=E5=85=85=20aevatar=206=20?= =?UTF-8?q?=E4=B8=AA=E6=96=B0=E6=94=BB=E5=9D=9A=E8=8A=82=E7=82=B9=20+=20?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=8E=B0=E6=9C=89=E8=8A=82=E7=82=B9=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增 (基于 aevatarAI/aevatar repo 当前 issues / discussions / ADRs): - Channel-Multi-Adapter (scoped) — RFC #254 + ADR 0008-0013 - Studio-Team-First (bridged) — ADR 0017 + 17 设计文档 - Responses-API-Gateway (seed) — 里程碑 #14 (issues #611-624) - Ornn-Skill-Platform (obligation) — #367 / #598 / PR #576 - SessionStream-Abstraction (obligation) — RFC #560 - EventSourcing-Hardening (seed) — #381 / #533 / #591-#594 状态推进: - CSharp-Scripting: scoped → bridged (PR #515 + /daily 生产) - NyxID-Integration: public → bridged (PR #561 / #570 / #571) A0 / A1 聚合节点串上新节点 deps。 Co-Authored-By: Claude Opus 4.7 (1M context) --- regions.json | 180 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 168 insertions(+), 12 deletions(-) diff --git a/regions.json b/regions.json index 074ddac..015279b 100644 --- a/regions.json +++ b/regions.json @@ -27,7 +27,10 @@ "Aevatar-Workflow-YAML", "Aevatar-Virtual-Actors", "Aevatar-Agent-Framework", - "Aevatar-NyxID-Integration" + "Aevatar-NyxID-Integration", + "Aevatar-Channel-Multi-Adapter", + "Aevatar-Studio-Team-First", + "Aevatar-EventSourcing-Hardening" ], "gh_query": "is:issue is:open repo:aevatarAI/aevatar A0 in:title" }, @@ -51,10 +54,160 @@ "promoted_at": {}, "deps": [ "Aevatar-A0-Milestone", - "Aevatar-CSharp-Scripting" + "Aevatar-CSharp-Scripting", + "Aevatar-Responses-API-Gateway", + "Aevatar-Ornn-Skill-Platform", + "Aevatar-SessionStream-Abstraction" ], "gh_query": "is:issue is:open repo:aevatarAI/aevatar A1 in:title" }, + "Aevatar-Channel-Multi-Adapter": { + "label": { + "en": "Channel Multi-Adapter (Lark / Telegram / …)", + "zh": "多 Channel 适配器 (Lark / Telegram / …)" + }, + "desc": { + "en": "RFC #254 + ADR 0008-0013: channel-agnostic abstraction (IChannelTransport / IChannelOutboundPort / IMessageComposer / ConversationReference) replacing the 53-file ChannelRuntime megamodule. Milestone #6 'Channel Runtime Foundation' tracks rollout.", + "zh": "RFC #254 + ADR 0008-0013: channel 无关抽象 (IChannelTransport / IChannelOutboundPort / IMessageComposer / ConversationReference), 替换 53 个文件的 ChannelRuntime 大模块。里程碑 #6 'Channel Runtime Foundation' 跟踪推进" + }, + "closure": "scoped", + "formal": "checked", + "product": "aevatar", + "milestone": "A0", + "owner": "eanzhao", + "issue_count": 22, + "focus": true, + "archived": false, + "promoted_at": { + "scoped": "2026-04-20" + }, + "deps": [ + "Aevatar-Agent-Framework", + "Aevatar-Virtual-Actors" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar milestone:\"Channel Runtime Foundation\"" + }, + "Aevatar-Studio-Team-First": { + "label": { + "en": "Studio Team-First Console", + "zh": "Studio Team-First 控制台" + }, + "desc": { + "en": "ADR 0017 + 17 design docs: surface Team as first-class backend aggregate under Scope. Member workbench, team directory, workspace wording. Milestones #2 / #3 / #8 / #10 / #11 / #12 actively shipping.", + "zh": "ADR 0017 + 17 篇设计文档: Team 作为 Scope 下一等聚合, Member workbench, Team Directory, Workspace 语义。里程碑 #2 / #3 / #8 / #10 / #11 / #12 持续在发" + }, + "closure": "bridged", + "formal": "checked", + "product": "aevatar", + "milestone": "A0", + "owner": "eanzhao", + "issue_count": 8, + "focus": true, + "archived": false, + "promoted_at": { + "scoped": "2026-04-29", + "bridged": "2026-05-11" + }, + "deps": [ + "Aevatar-Testnet-Stability" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar label:\"team\" OR (Studio in:title OR Team in:title)" + }, + "Aevatar-EventSourcing-Hardening": { + "label": { + "en": "EventSourcing / CQRS Hardening", + "zh": "EventSourcing / CQRS 加固" + }, + "desc": { + "en": "Architecture-track work: unify async write/observation/read-model freshness (#594), standardize ES projection mappings (#533), reduce projection boilerplate (#591), resolve OCC pending-state leaks (#381). Symphony-team backlog.", + "zh": "架构线工作: 统一 async write/observation/read-model 新鲜度 (#594), 标准化 ES projection mapping (#533), 减少 projection 模板 (#591), 修复 OCC pending 残留 (#381)。Symphony 团队 backlog" + }, + "closure": "seed", + "formal": "none", + "product": "aevatar", + "milestone": "A0", + "owner": "chronoai-shining", + "issue_count": 5, + "focus": false, + "archived": false, + "promoted_at": {}, + "deps": [ + "Aevatar-Agent-Framework" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar label:architecture" + }, + "Aevatar-Responses-API-Gateway": { + "label": { + "en": "Responses API v1 (NyxID-fronted)", + "zh": "Responses API v1 (NyxID 前置)" + }, + "desc": { + "en": "Milestone #14 'Responses API v1 Minimal Prototype': OpenAI Responses-compatible /v1/responses ingress + NyxID auth bridge + scope resolution + tool classification + run/session ownership actor. Discussion #609, blocked on ChatRuntime refactor #608.", + "zh": "里程碑 #14 'Responses API v1 Minimal Prototype': OpenAI Responses 协议 /v1/responses 入口 + NyxID 鉴权桥 + scope 解析 + 工具分类 + run/session ownership actor。讨论 #609, 被 ChatRuntime 重构 #608 阻塞" + }, + "closure": "seed", + "formal": "none", + "product": "aevatar", + "milestone": "A1", + "owner": "eanzhao", + "issue_count": 14, + "focus": true, + "archived": false, + "promoted_at": {}, + "deps": [ + "Aevatar-NyxID-Integration", + "Aevatar-Agent-Framework" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar milestone:\"Responses API v1 Minimal Prototype\"" + }, + "Aevatar-Ornn-Skill-Platform": { + "label": { + "en": "Day One → Ornn Skill Migration", + "zh": "Day One → Ornn skill 迁移" + }, + "desc": { + "en": "Migrate hardcoded AgentBuilder templates (/daily, /social-media) from C# to Ornn skill YAML runtime (#367, #598). SkillRunner hardening (#439, #444-#450). PR #576 (Lark Ornn autoload) shipped 2026-05-07.", + "zh": "AgentBuilder 模板 (/daily, /social-media) 从硬编码 C# 迁移到 Ornn skill YAML 运行时 (#367, #598)。SkillRunner 加固 (#439, #444-#450)。PR #576 (Lark Ornn autoload) 2026-05-07 已合并" + }, + "closure": "obligation", + "formal": "none", + "product": "aevatar", + "milestone": "A1", + "owner": "eanzhao", + "issue_count": 8, + "focus": false, + "archived": false, + "promoted_at": {}, + "deps": [ + "Aevatar-Workflow-YAML", + "Aevatar-CSharp-Scripting" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar Ornn in:title OR daily in:title OR SkillRunner in:title" + }, + "Aevatar-SessionStream-Abstraction": { + "label": { + "en": "SessionStream Abstraction (RFC)", + "zh": "SessionStream 抽象 (RFC)" + }, + "desc": { + "en": "RFC #560: unify external long-lived streams (WebSocket / WebRTC / SSE / polling) as actor-first SessionStreamGAgent. Co-assigned jason-aelf / louis4li / eanzhao; team-discussion phase, ADR not yet written.", + "zh": "RFC #560: 把外部长连接流 (WebSocket / WebRTC / SSE / polling) 统一为 actor 一等 SessionStreamGAgent。jason-aelf / louis4li / eanzhao 三人共同 assignee, 团队讨论阶段, ADR 尚未撰写" + }, + "closure": "obligation", + "formal": "none", + "product": "aevatar", + "milestone": "A1", + "owner": "eanzhao", + "issue_count": 1, + "focus": false, + "archived": false, + "promoted_at": {}, + "deps": [ + "Aevatar-Agent-Framework", + "Aevatar-Voice-Stage-D" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar SessionStream in:title OR \"long connection\" in:title" + }, "Aevatar-Agent-Framework": { "label": { "en": "Agent Framework Core", @@ -85,18 +238,20 @@ "zh": "C# 脚本运行时" }, "desc": { - "en": "Dynamic C# script execution inside Virtual Actors for custom agent behavior", - "zh": "在 Virtual Actor 内动态执行 C# 脚本, 支持自定义 agent 行为" + "en": "Dynamic C# script execution inside Virtual Actors. Powering /daily + /social-media AgentBuilder templates in production. PR #515 (script lifecycle build surface) shipped 2026-04-29.", + "zh": "Virtual Actor 内动态执行 C# 脚本, 生产环境驱动 /daily + /social-media AgentBuilder 模板。PR #515 (script lifecycle build surface) 2026-04-29 已合并" }, - "closure": "scoped", - "formal": "none", + "closure": "bridged", + "formal": "checked", "product": "aevatar", - "milestone": "A1", + "milestone": "A0", "owner": "eanzhao", "issue_count": 4, "focus": false, "archived": false, - "promoted_at": {}, + "promoted_at": { + "bridged": "2026-04-29" + }, "deps": [ "Aevatar-Virtual-Actors" ], @@ -128,10 +283,10 @@ "zh": "Aevatar × NyxID 集成" }, "desc": { - "en": "LLM / Tool / Auth Provider via NyxID, agent tool calls routed through NyxID proxy", - "zh": "通过 NyxID 提供 LLM / Tool / Auth Provider, agent 工具调用经 NyxID proxy 路由" + "en": "LLM / Tool / Auth Provider via NyxID, agent tool calls routed through NyxID proxy. PRs #561 / #570 / #571 (OAuth binding rebuild + self-heal) shipped early May. Recent bugs #538 / #543 / #549 (NyxIdSpecCatalog / OAuth rolling-deploy race) prevent mature.", + "zh": "通过 NyxID 提供 LLM / Tool / Auth Provider, agent 工具调用经 NyxID proxy 路由。PR #561 / #570 / #571 (OAuth binding rebuild + 自愈) 5 月初已合。近期 bug #538 / #543 / #549 (NyxIdSpecCatalog / OAuth 滚动部署竞争) 不满足 mature" }, - "closure": "public", + "closure": "bridged", "formal": "checked", "product": "aevatar", "milestone": "A0", @@ -140,7 +295,8 @@ "focus": true, "archived": false, "promoted_at": { - "public": "2026-04-02" + "public": "2026-04-02", + "bridged": "2026-05-06" }, "deps": [ "NyxID-Hosted-Instance" From 9020b80371bc0b414a2773be835f142f205ee85e Mon Sep 17 00:00:00 2001 From: eanzhao Date: Tue, 12 May 2026 16:27:02 +0800 Subject: [PATCH 2/2] =?UTF-8?q?data:=20=E6=8A=8A=20M14=20(Responses=20API?= =?UTF-8?q?=20v1)=20=E6=8B=86=E6=88=90=20milestone=20+=205=20=E6=94=AF?= =?UTF-8?q?=E6=9F=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前用一个 Aevatar-Responses-API-Gateway 概括 14 个 issue, 体现不出当前焦点。 按 RFC #609 的章节拆分: - Aevatar-M14-Milestone (聚合): GitHub milestone #14, 收所有支柱 - Aevatar-ChatRuntime-Harness: blocker, #608 + #596 (eanzhao 已 assigned) - Aevatar-Responses-Ingress: HTTP 层, #611 / #612 / #614 / #615 - Aevatar-Responses-Auth-Scope: 安全层 §8, #613 / #621 - Aevatar-Session-Continuation: response.id 状态机 §13, #617-#620 - Aevatar-Tool-Classification: agent 能力层 §5, #622-#624 A1 milestone deps 中 Aevatar-Responses-API-Gateway → Aevatar-M14-Milestone。 全部 focus=true, owner=eanzhao, 当前 closure=obligation。 Co-Authored-By: Claude Opus 4.7 (1M context) --- regions.json | 141 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 132 insertions(+), 9 deletions(-) diff --git a/regions.json b/regions.json index 015279b..994bbbe 100644 --- a/regions.json +++ b/regions.json @@ -55,7 +55,7 @@ "deps": [ "Aevatar-A0-Milestone", "Aevatar-CSharp-Scripting", - "Aevatar-Responses-API-Gateway", + "Aevatar-M14-Milestone", "Aevatar-Ornn-Skill-Platform", "Aevatar-SessionStream-Abstraction" ], @@ -136,29 +136,152 @@ ], "gh_query": "is:issue is:open repo:aevatarAI/aevatar label:architecture" }, - "Aevatar-Responses-API-Gateway": { + "Aevatar-M14-Milestone": { "label": { - "en": "Responses API v1 (NyxID-fronted)", - "zh": "Responses API v1 (NyxID 前置)" + "en": "Aevatar M14 — Responses API v1 Prototype", + "zh": "Aevatar M14 — Responses API v1 原型" }, "desc": { - "en": "Milestone #14 'Responses API v1 Minimal Prototype': OpenAI Responses-compatible /v1/responses ingress + NyxID auth bridge + scope resolution + tool classification + run/session ownership actor. Discussion #609, blocked on ChatRuntime refactor #608.", - "zh": "里程碑 #14 'Responses API v1 Minimal Prototype': OpenAI Responses 协议 /v1/responses 入口 + NyxID 鉴权桥 + scope 解析 + 工具分类 + run/session ownership actor。讨论 #609, 被 ChatRuntime 重构 #608 阻塞" + "en": "Aggregator: GitHub milestone #14 'Responses API v1 Minimal Prototype' — current focus. End state: user configures NyxID base URL + API key in Codex/Cursor/Opencode; request flows client -> NyxID -> Aevatar /v1/responses -> NyxID LLM -> client. Product RFC discussion #609.", + "zh": "聚合节点: GitHub milestone #14 'Responses API v1 Minimal Prototype' — 当前焦点。终态: 用户在 Codex/Cursor/Opencode 里配置 NyxID base URL + API key, 请求链路 client → NyxID → Aevatar /v1/responses → NyxID LLM → client。产品 RFC 讨论 #609" }, - "closure": "seed", + "closure": "obligation", "formal": "none", "product": "aevatar", - "milestone": "A1", + "milestone": "M14", "owner": "eanzhao", "issue_count": 14, "focus": true, "archived": false, "promoted_at": {}, + "deps": [ + "Aevatar-ChatRuntime-Harness", + "Aevatar-Responses-Ingress", + "Aevatar-Responses-Auth-Scope", + "Aevatar-Session-Continuation", + "Aevatar-Tool-Classification", + "Aevatar-NyxID-Integration" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar milestone:\"Responses API v1 Minimal Prototype\"" + }, + "Aevatar-ChatRuntime-Harness": { + "label": { + "en": "ChatRuntime → Harness Refactor (M14 blocker)", + "zh": "ChatRuntime → Harness 重构 (M14 blocker)" + }, + "desc": { + "en": "M14 blocker: refactor ChatRuntime / ChannelLlmReplyInboxRuntime to match Harness boundary (#568). #608 is the umbrella refactor; #596 collapses ChatRuntime into actor-owned Agent Continuation (assigned eanzhao).", + "zh": "M14 blocker: 把 ChatRuntime / ChannelLlmReplyInboxRuntime 重构到 Harness boundary (#568)。#608 主重构 issue, #596 (eanzhao 已 assigned) 把 ChatRuntime 收敛为 actor-owned Agent Continuation" + }, + "closure": "obligation", + "formal": "none", + "product": "aevatar", + "milestone": "M14", + "owner": "eanzhao", + "issue_count": 2, + "focus": true, + "archived": false, + "promoted_at": {}, + "deps": [ + "Aevatar-Agent-Framework", + "Aevatar-Virtual-Actors" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar ChatRuntime in:title OR Harness in:title" + }, + "Aevatar-Responses-Ingress": { + "label": { + "en": "/v1/responses HTTP Ingress", + "zh": "/v1/responses HTTP 入口" + }, + "desc": { + "en": "M14 pillar — HTTP layer: minimal /v1/responses endpoint on Aevatar Mainnet Host (#611), normalize Responses payloads into internal chat requests (#612), serialize Responses-compatible SSE output (#614), host-level tests + docs (#615).", + "zh": "M14 支柱 — HTTP 层: Aevatar Mainnet Host 上最小 /v1/responses 端点 (#611), Responses 载荷归一化到内部 chat request (#612), 兼容 Responses 协议的 SSE 输出序列化 (#614), host 级测试 + 文档 (#615)" + }, + "closure": "obligation", + "formal": "none", + "product": "aevatar", + "milestone": "M14", + "owner": "eanzhao", + "issue_count": 4, + "focus": true, + "archived": false, + "promoted_at": {}, + "deps": [ + "Aevatar-ChatRuntime-Harness" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar responses in:title" + }, + "Aevatar-Responses-Auth-Scope": { + "label": { + "en": "NyxID Auth Bridge + Scope Port", + "zh": "NyxID 鉴权桥 + Scope 端口" + }, + "desc": { + "en": "M14 pillar — security: bridge NyxID request auth into the existing NyxIdLLMProvider (#613), add scope resolution port translating NyxID identity to aevatar scope (#621). §8 of RFC #609.", + "zh": "M14 支柱 — 安全层: 把 NyxID 请求鉴权接入现有 NyxIdLLMProvider (#613), 新增 scope 解析端口把 NyxID 身份翻译为 aevatar scope (#621)。对应 RFC #609 §8" + }, + "closure": "obligation", + "formal": "none", + "product": "aevatar", + "milestone": "M14", + "owner": "eanzhao", + "issue_count": 2, + "focus": true, + "archived": false, + "promoted_at": {}, "deps": [ "Aevatar-NyxID-Integration", + "Aevatar-Responses-Ingress" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar scope in:title OR auth in:title" + }, + "Aevatar-Session-Continuation": { + "label": { + "en": "Session Continuation (response.id state machine)", + "zh": "Session Continuation (response.id 状态机)" + }, + "desc": { + "en": "M14 pillar — long-running state: run/session ownership actor for opaque response.id (#617), persist forwarded tool calls (#618), POST /v1/responses/{id}/cancel + TTL expiry (#619), resume re-auth + cross-origin resume guard (#620). §13 of RFC #609.", + "zh": "M14 支柱 — 长连接状态: opaque response.id 的 run/session ownership actor (#617), 持久化 forwarded tool call (#618), POST /v1/responses/{id}/cancel + TTL 过期 (#619), resume 重新鉴权 + 跨域 resume guard (#620)。对应 RFC #609 §13" + }, + "closure": "obligation", + "formal": "none", + "product": "aevatar", + "milestone": "M14", + "owner": "eanzhao", + "issue_count": 4, + "focus": true, + "archived": false, + "promoted_at": {}, + "deps": [ + "Aevatar-Responses-Ingress", + "Aevatar-Virtual-Actors" + ], + "gh_query": "is:issue is:open repo:aevatarAI/aevatar session in:title OR response.id in:title" + }, + "Aevatar-Tool-Classification": { + "label": { + "en": "Tool Classification (forward / substitute / additive)", + "zh": "工具分类层 (forward / substitute / additive)" + }, + "desc": { + "en": "M14 pillar — agent capability: tool classification layer at /v1/responses boundary (#622), substitute TodoWrite + Task with agent-scoped / topology-aware versions (#623), substitute WebFetch + WebSearch with traced versions (#624). §5 of RFC #609.", + "zh": "M14 支柱 — agent 能力层: /v1/responses 边界的工具分类 (#622), 把 TodoWrite + Task 替换为 agent 范围 / 拓扑感知版本 (#623), 把 WebFetch + WebSearch 替换为带 trace 版本 (#624)。对应 RFC #609 §5" + }, + "closure": "obligation", + "formal": "none", + "product": "aevatar", + "milestone": "M14", + "owner": "eanzhao", + "issue_count": 3, + "focus": true, + "archived": false, + "promoted_at": {}, + "deps": [ + "Aevatar-Responses-Ingress", "Aevatar-Agent-Framework" ], - "gh_query": "is:issue is:open repo:aevatarAI/aevatar milestone:\"Responses API v1 Minimal Prototype\"" + "gh_query": "is:issue is:open repo:aevatarAI/aevatar Substitute in:title OR classification in:title" }, "Aevatar-Ornn-Skill-Platform": { "label": {