Repository navigation
[RSI Baseline Epic] Build FlyBot as an Autonomous Software Engineering System #784
Copy link
Copy link
Open
2 / 82 of 8 issues completedOpen
2 / 82 of 8 issues completed
Copy link
Labels
area:automationScheduled tasks and automationScheduled tasks and automationenhancementNew feature or requestNew feature or requestneeds-humanThe agent loop stopped; a person must decide (reason in the last comment)The agent loop stopped; a person must decide (reason in the last comment)
Description
背景
我们希望以 FlyBot 作为 RSI(Recursive Self-Improvement)的 baseline 系统:部署一个不依赖 Grok Bot 的 FlyBot 实例,让它能够自行处理代码仓库的 Issue,完成开发、独立评审、CI、合并与版本发布,并通过项目看板观测结果,基于明确指标持续优化系统。
代码仓库开发应作为可复用的 Repository Engineering capability pack,而不是固化进 FlyBot Runtime 的唯一场景。未来 Runtime 应能承载科研、个人助理等其他领域能力包。
目标
- FlyBot 自己接收并推进 GitHub Issue,不把 Grok Bot 作为必需的任务入口或流程协调器。
- 研发流程可恢复、可审计:Issue → branch/worktree → implement → verify → PR → review → CI → merge queue → release。
- 把仓库开发流程封装成可安装、可版本化、可配置的 Repository Engineering 能力包。
- 支持云端 Runner 与 Code Agent 的生命周期管理,不假设执行环境永远在线。
- 通过项目看板统一观察任务状态、交付质量、耗时、重试、人工介入与成本。
- 建立可重复的 RSI 评估协议,只有经过对照验证的改进才可晋级为默认策略。
子任务
- E1 #785:提供持久化 FlyBot RSI 测试实例
- E2 #786:云端 Runner 与 Code Agent 生命周期管理
- E3 #787:持久化自主任务编排器
- E4 #788:Repository Engineering 能力包
- E5 #789:GitHub PR-to-Release 自动化闭环
- E6 #790:RSI 项目看板
- E7 #791:RSI Baseline 指标与评估协议
- E8 #792:新仓库冷启动与端到端验收
各子 Issue 的正文均引用本 Epic #784。GitHub 原生 sub-issue 关系暂未设置;目前以 Epic 链接和正文依赖关系追踪。
设计原则
- Runtime 提供通用机制;能力包定义领域工作流;适配器对接 GitHub、Runner 和 Code Agent。
- 复用现有 GitHub Actions、分支保护、CI 和 Merge Queue,不重复实现已有基础设施。
- 维护者明确授权后才启用真实仓库写操作;不得绕过权限、评审或合并门禁。
- 外部 Code Agent、Runner 和 FlyBot Host 均需有明确的状态、身份、日志、超时、取消与恢复语义。
- 失败和实验结果可追溯;RSI 不得自行放宽安全策略或发布门禁。
验收标准
在一个全新仓库与独立云执行环境中,完成从部署 FlyBot、安装能力包、配置授权,到处理一个真实低风险 Issue、生成 PR、通过独立评审与 CI、进入合并队列、发布版本并验证产物的完整链路;全过程可在项目看板追踪,且不依赖 Grok Bot 或旧项目的隐藏状态。
相关现有 Issue
优先评估并复用已有工作,而不是重复实现:
- [RFC] 跨运行时 Agent 对话与协作:以 OpenCode 为首个试点的目标、需求与两种方案 #198 跨 Runtime / OpenCode 协作
- [Feature RFC] Agent inbox board: one place for tasks, approvals and failures (personal first, team second) #349 Agent Inbox 看板
- Deployment step 1: official image and one isolated instance per person #352 独立部署
- Proactive reminders 3/3: 24/7 runtime and Slack/email delivery #355 24/7 Runtime
- [Team] Persist a minimal collaboration task lifecycle #54 任务生命周期
- Team mode via groups: task layer step 1 - responsible-owner authority, FLYBOT-TASK envelope, workBotId #149 团队任务层
- RFC: merged Bot output digest and acceptance (reduce human orchestration load) #401 Bot 输出汇总与验收
- Performance dashboard: Nightly CI metrics for FlyBot smoothness #357 团队质量可观测性
- Timeline: a team run report (digest) #582 Timeline 运行摘要
这些关联项不代表全部已完成;每个子 Issue 应在实现前核实现状与剩余范围。
依赖顺序
- E1 可先行,为真实运行环境与访问提供前置条件,但不应阻塞不依赖实例的接口设计和测试。
- E2 → E3 → E4 → E5 构成主要研发闭环。
- E6 可与 E3/E5 并行;E7 依赖可靠的运行与看板数据。
- E8 依赖 E2、E3、E4、E5、E6、E7 的可验收实现,最终验证全链路冷启动。
Metadata
Metadata
Assignees
Labels
area:automationScheduled tasks and automationScheduled tasks and automationenhancementNew feature or requestNew feature or requestneeds-humanThe agent loop stopped; a person must decide (reason in the last comment)The agent loop stopped; a person must decide (reason in the last comment)
Activity
Birfy commentedon Oct 22, 2026
Written-by: Triage
enhancement|area:automation|needs-human, and notagent-ready— an epic is neveragent-ready. AGENTS.md rules out a tracking/umbrella issue for that label, and this one is the umbrella: it has no single expected behaviour to verify and no bounded diff. The eight children can each be judged; this stays open as their index.Three things before the children are worth judging
#779) was triaged and marked ready, a Bot claimed it, opened PR#783, a second Bot reviewed, the merge queue ranmerge_group, andv0.2.4shipped (177d0ffa, release 21:37Z, 39 changelog entries). So#789(Issue-to-release) and#787(orchestrator) are not greenfield: the gap is where that loop is manual and where its state is not durable, and each of those needs to say which step it replaces. A sibling issue that reimplements the loop as a second pipeline would leave two paths that disagree.zy95-12and ask for a running instance, cloud Runner access and repository write permission (#785,#786,#792). Nothing in this repository can grant that; the owner (Danyang /Birfy) has to decide who gets an instance, which Runner, and what may be written. That is why each child isneeds-humanrather thanagent-ready.What each child has to answer before it can become
agent-ready— that is the real triage work, and it is in each issue now. In short:merge-gate,enqueue-guard,review-gate, therisk:T*recomputation, and the rule that only a person removeshold.Sub-issue structure. I linked the eight children to this epic as GitHub sub-issues rather than only as a bulleted list, so the board and the API can see the relationship. Please keep that link when new children arrive.