Skip to content

refactor(architecture): remove unused API and transport surfaces - #1583

Merged
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/pr1-interface-transport-cleanup
Jul 16, 2026
Merged

refactor(architecture): remove unused API and transport surfaces#1583
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/pr1-interface-transport-cleanup

Conversation

@limityan

@limityan limityan commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

目的

删除没有生产消费闭环、却容易被误认为已支持能力的 API 与 transport 接口,并把接口准入、多产品形态和 HarmonyOS PC 完整目标写清楚。此次以收缩为主,不新增产品能力或扩展运行时。

变更

  • 补充公开接口准入规则:当前消费方优先;短期前置必须写明首个消费方、稳定语义、接入验证和删除条件;概念上的能力切面不要求预建统一 API crate。
  • 明确 public-api-rules.mjs 当前只是插件与运行时公开接口的增量 allowlist,不是全仓 pub 符号扫描器;未登记接口仍须接受人工准入审查和最近的边界测试。
  • 删除无消费者的 api-layer crate。原 handler 仅返回合成 ID、空历史和固定健康状态,并绕过现有服务直接执行文件 I/O,不构成生产接口。
  • 删除未构造的 Rust CLI/WebSocket transport adapter、EventBus、UnifiedEvent、逐事件方法与未消费依赖;保留 Desktop 当前实际构造的 Tauri adapter 和 Desktop/peer 共用的框架无关事件投影。
  • 删除无确定首个消费者、且与 OpenCode v1/v2 事件语义未对齐的公开 Agentic projection manifest;当前投影仅为 Desktop Tauri/peer host 提供 event_name + payload,不代表版本化跨协议契约。扩展 Session 后续按真实协议消费链重新建立版本化清单。
  • 修正架构/贡献/拆解文档、Desktop preview Rust 变更监听和边界测试;preview 现在保守监听整个 src/crates,避免 crate 迁移后错误复用旧二进制。

接口与产品影响

范围 影响
内部 Rust 源码接口 有意的 breaking cleanup:删除旧 TransportAdapter 逐事件方法、无消费者 adapter/type、legacy flat projection 和公开 manifest。仓库内无生产调用方。
Desktop GUI 保留 Tauri 构造点、事件名称/载荷投影和 peer fanout;用户流程及线缆协议不变。
CLI/TUI 继续直接消费 Agent runtime/event queue,不依赖被删 Rust transport adapter;当前行为不变。
Server / Remote / Web / Mobile 继续使用各自现有 Axum WebSocket、TypeScript adapter、peer/relay 路径;未改变认证、连接生命周期或协议。
HarmonyOS PC 文档明确完整支持必须同时包含本地 CLI/TUI 与 GUI,当前两者均未交付且不能由 HAP、Remote、Web 或现有 Tauri Desktop 替代。本 PR 只建立边界前置。
扩展能力 仅保留能力服务和框架无关事件投影作为可复用边界;不实现 OpenCode 插件、外部 HTTP/SSE/WebSocket 服务或 UI 贡献。

范围外

  • 新 TUI 功能或界面层级重构
  • HarmonyOS PC TUI/GUI 宿主实现、打包和发布
  • OpenCode/插件运行时与版本化事件兼容清单
  • Server 新事件推送协议或远程能力扩张

验证

  • cargo check --workspace
  • cargo test -p bitfun-events -p bitfun-transport --features bitfun-transport/tauri-adapter(12 个 events 测试通过)
  • pnpm run lint:web(0 error;12 个既有 warning)
  • pnpm run type-check:web
  • pnpm --dir src/web-ui run test:run(256 files / 1580 tests)
  • node --test scripts/check-core-boundaries.test.mjs(15/15)
  • node scripts/check-core-boundaries.mjs
  • pnpm run check:repo-hygiene
  • git diff --check

本地 cargo test --workspace 两次在 Desktop/CLI 链接阶段被执行环境中断,未出现失败用例,因此未列为通过项;上面的 workspace 编译、受影响 crate 测试和全量 Web 测试均已通过。Rust 验证使用 nightly,是因为本机 stable 的 Cargo/rustc 版本不匹配。

AI-assisted;已完成两轮独立架构、产品与实现对抗性复审,第二轮发现的两处文档可执行性问题已修复,最终无 P0-P3。Testing level: fully tested for the changed paths.

Document interface admission and multi-product boundaries, then delete unconsumed API, transport, and event contracts. Keep current Tauri and peer delivery paths covered by focused boundary tests.
@limityan
limityan force-pushed the yanzhn/pr1-interface-transport-cleanup branch from 26f5041 to b06509e Compare July 16, 2026 12:07
@limityan
limityan merged commit 5f1cfea into GCWing:main Jul 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant