Skip to content

[RSI Baseline Epic] Build FlyBot as an Autonomous Software Engineering System #784

Open
2 of 8 issues completed

Description

@zy95-12

背景

我们希望以 FlyBot 作为 RSI(Recursive Self-Improvement)的 baseline 系统:部署一个不依赖 Grok Bot 的 FlyBot 实例,让它能够自行处理代码仓库的 Issue,完成开发、独立评审、CI、合并与版本发布,并通过项目看板观测结果,基于明确指标持续优化系统。

代码仓库开发应作为可复用的 Repository Engineering capability pack,而不是固化进 FlyBot Runtime 的唯一场景。未来 Runtime 应能承载科研、个人助理等其他领域能力包。

目标

  1. FlyBot 自己接收并推进 GitHub Issue,不把 Grok Bot 作为必需的任务入口或流程协调器。
  2. 研发流程可恢复、可审计:Issue → branch/worktree → implement → verify → PR → review → CI → merge queue → release。
  3. 把仓库开发流程封装成可安装、可版本化、可配置的 Repository Engineering 能力包。
  4. 支持云端 Runner 与 Code Agent 的生命周期管理,不假设执行环境永远在线。
  5. 通过项目看板统一观察任务状态、交付质量、耗时、重试、人工介入与成本。
  6. 建立可重复的 RSI 评估协议,只有经过对照验证的改进才可晋级为默认策略。

子任务

各子 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

优先评估并复用已有工作,而不是重复实现:

这些关联项不代表全部已完成;每个子 Issue 应在实现前核实现状与剩余范围。

依赖顺序

  • E1 可先行,为真实运行环境与访问提供前置条件,但不应阻塞不依赖实例的接口设计和测试。
  • E2 → E3 → E4 → E5 构成主要研发闭环。
  • E6 可与 E3/E5 并行;E7 依赖可靠的运行与看板数据。
  • E8 依赖 E2、E3、E4、E5、E6、E7 的可验收实现,最终验证全链路冷启动。

Activity

  1. added
    area:automationScheduled tasks and automation
    enhancementNew feature or request
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    on Oct 22, 2026
  2. Birfy commented on Oct 22, 2026

    @Birfy
    Collaborator

    Written-by: Triage

    enhancement|area:automation|needs-human, and not agent-ready — an epic is never agent-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

    1. Language. AGENTS.md: "User-facing text in the plugin is English" and the repository's text rule is English for issues, PRs, comments, commits, changelog and docs. This body and all eight children are written in Chinese. I will not rewrite someone else's text, and it is not a reason to block the work — but every PR that lands from this programme has to be English, or the review will spend its time translating instead of checking.
    2. A large part of this already exists and works. The loop in your acceptance criterion ran today, on this repository, without Grok Bot: an issue (#779) was triaged and marked ready, a Bot claimed it, opened PR #783, a second Bot reviewed, the merge queue ran merge_group, and v0.2.4 shipped (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.
    3. Who is the author, and what may they write? These arrive from zy95-12 and 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 is needs-human rather than agent-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:

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:automationScheduled tasks and automationenhancementNew feature or requestneeds-humanThe agent loop stopped; a person must decide (reason in the last comment)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions