Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .pilot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# .pilot.yml — pilot 各阶段读它取分支/清理策略。
#
# integration_branch 为什么必须 ≠ base_branch(PR #450 评审 High #1):
# phases/run.md §1 规定,无人值守的 `pilot run` 见到 daemon 给出 APPROVED + checks 绿,
# 就会自动 `git-guard.sh merge-pr --integration <integration_branch> --squash`。
# 若 integration_branch 写成 master,这条自动路径就等于「daemon 批准即直接合进主干」,
# 与 SKILL.md 硬约束 2「绝不直接合并自己的 PR 到主干」冲突。
# GitHub 侧的分支保护挡不住它 —— master 要求 1 个 approving review,
# 而 daemon 提交的正是一个 approving review,条件天然满足。
#
# 所以:feature 分支 → PR → review → 自动合进 preview;
# preview → master 保留为人工决定,不由 pilot 自动完成。
# 本仓库 #433–#449 历史上是直接合 master 的,preview 分支于 2026-08-02 从 master 建出。

base_branch: master
integration_branch: preview
protect_patterns:
- release
- hotfix
- "7702" # EIP-7702 独立实验分支,不参与主线,永不清理
remote: origin
allow_remote_cleanup: false
docs_dir: docs/agent
78 changes: 78 additions & 0 deletions docs/agent/progress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# YetAnotherAA 实时状态 — progress

> 「此刻仓库真实发生了什么」。由 `pilot run` 每一步更新。更新时间:2026-08-02
> 00:55

## 当前聚焦

- **Milestone**:M1 Beta 上线(Sepolia)
- **Feature**:F1.2 高优负向用例 / F1.4 转账 UX 抢救项
- **正在开发的 Task**:无(刚完成 `pilot plan`,等 `pilot run` 挑第一个 READY)
- **分支 / worktree**:`docs/pilot-plan`(无额外 worktree)
- **PR**:[#450](https://github.com/AAStarCommunity/YetAnotherAA/pull/450)(本规划台账自身,base
`preview`)

## 仓库基线(2026-08-02)

- 集成分支 = `preview`(2026-08-02 从 master 建出并推到 origin)。 **PR 合进
`preview`,`preview` → `master` 保留为人工决定** —— 不这样的话,无人值守的
`pilot run` 见 daemon APPROVED 就会自动 squash 合进主干(PR #450 评审 High
#1)
- 本地分支:`master` / `preview`(集成) / `docs/pilot-plan`(本 PR) /
`refactor/pure-frontend`(PR #400 draft,base 仍是 master,解冻时需一并改到
`preview`) / `7702`(实验,保护不清理)
- pre-commit hook ✅ 生效于 `.git/hooks`
- PR 评审 daemon ✅ 在线

## 进行中 / 待回执的 PR

| Task | PR | 状态 | 备注 |
| :----- | :--------------------------------------------------------------- | :------ | :------------------------------------------------------------- |
| T3.2.1 | [#400](https://github.com/AAStarCommunity/YetAnotherAA/pull/400) | BLOCKED | draft,自标 WIP·PAUSED,卡在 API-key/KMS-Origin 基建(T3.1.1) |

## 阻塞项(BLOCKED)

- **T1.1.6 KMS 双板 HA**:硬件依赖,等二号 imx93 到货。**待决**:YAA 侧配双 KMS
endpoint 故障转移,还是由上游 KMS 做 VIP?
- **T1.2.4 Guard 真机复现**:需要真机 Face ID/Touch
ID,CDP 虚拟认证器覆盖不到。**待决**:是否接受 CDP 降级验证?
- **T2.6.1 主网冒烟**:真实资金 + 发布闸门,必须最后做。**待决**:主网测试账户与预算上限由谁定?
- **T3.1.1
API-key 授权模型**:当前写不出可机器验证的验收命令 → 保持 BACKLOG,不许直接转 READY
- **T3.2.1 纯前端迁移**:依赖 T3.1.1。**待决**:beta 要不要一次性导入既有后端数据到 localStorage,还是从零开始?
- **T3.5.1 executeRecovery
TOCTOU(#447)**:需合约侧原子接口配合。**待决**:等合约,还是 YAA 侧接受窗口 + 加监控?

## 最近完成

- 2026-08-01 PR [#449](https://github.com/AAStarCommunity/YetAnotherAA/pull/449)
合并进 master(`1d77b19`,squash)——
guardian 恢复后的 DB 写入按爆炸半径排序(#446)
- 2026-08-02 `pilot plan` 建立三级规划:`roadmap.md` / `tasks.md` /
`progress.md` + `.pilot.yml`
- 2026-08-02
**陈旧分支清理**(用户拍板:抢救特性、废弃分支)。删除前均已打归档 tag,**且已推到 origin**
——任意 clone `git fetch --tags` 后即可 `git show <commit>`
取回,不依赖某一台机器的本地仓库。验证:`git ls-remote --tags origin | grep archive`
应返回 4 条。

| 已删分支 | 归档 tag | 处置 |
| :----------------------------- | :---------------------------- | :---------------------------------- |
| `feat/registry-portal-sdk` | `archive/registry-portal-sdk` | 特性抢救为 T1.4.1 / T1.4.2 |
| `fix/portal-review-269` | `archive/portal-review-269` | 同上(门户主体已由 #269 进 master) |
| `feat/tier3b-raise-limit` | `archive/tier3b-raise-limit` | 已被 PR #390 取代,无需抢救 |
| `test/stage-1b-l1-more` | `archive/stage-1b-l1-more` | 同类用例已由 #415 落地 |
| `fix/446-recovery-write-order` | —(内容已全进 master) | 直接删除 |

## 下一个 READY

按优先级排序,`pilot run` 应从这里挑:

1. **T1.2.1** 解冻并跑通 transfer-replay e2e(high)—— 依赖的 create-flow
bug 已闭合,spec 的 `test.fixme` 与 BLOCKED 注释都已过期;验收须断言
`1 passed`
2. **T1.2.2** JWT 401 鉴权负向用例(high)
3. **T1.3.1** 未验证能力 UI 标 experimental(high)
4. **T1.1.5** 把已闭合的 beta 阻塞项回写进评估文档(mid)
5. **T1.4.1** AA26 智能 gas 估算 + 自动重试(mid,**涉钱**:必须设 gas 硬上限)
6. **T1.4.2** 最近收款人下拉(low)
84 changes: 84 additions & 0 deletions docs/agent/roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# YetAnotherAA Roadmap — Milestone → Feature

> - 「未来要做什么」。具体怎么做 + 验收见 [`tasks.md`](tasks.md);此刻在做什么见
> [`progress.md`](progress.md)。
> - 编号:`M<里程碑>` → `F<里程碑>.<序号>`
> - 记录日期:2026-08-02
>
> **来源**:本 roadmap 不是新造的,是把仓库既有规划转成三级结构:
>
> - 里程碑划分 =
> [`../BETA_READINESS_ASSESSMENT.md`](../BETA_READINESS_ASSESSMENT.md)
> §5 三阶段计划
> - Feature/Task 素材 = 同文档 §4 must-do +
> [`../LAUNCH_READINESS_PLAN.md`](../LAUNCH_READINESS_PLAN.md) 五步 + open
> issues (#447/#382/#378) + 在途分支盘点
> - 每条状态都对着 master 的**代码**核过,不是照抄 7 月的文档结论(详见 tasks.md 各 Task 的「证据」)

---

## M1 — Beta 上线(Sepolia,二号 imx93 到位后)

目标:把**已被链上证据支撑的核心路径**(passkey 注册 → 建号 → gasless Tier
1/2/3 转账 → 买入 aPNTs/GToken)作为 beta 范围发出去;范围外的能力显式标 experimental,不假装可用。

- **F1.1 Beta 阻塞项收口** — `BETA_READINESS_ASSESSMENT` §4
must-do 清单里**尚未闭合**的那几条(多数已在 7 月后落地,见 tasks.md 核查结论)
- **F1.2 高优负向用例** — 重放拒绝、JWT
401、余额不足、passkey 取消:每条断言「被正确拒绝」而非静默通过
- **F1.3 Beta 范围闸门** — recovery / operator
/ 多 EntryPoint 在 UI 上显式标 experimental 或禁用,避免用户踩未验证路径
- **F1.4 转账 UX 抢救项** — 从被废弃的 `feat/registry-portal-sdk`
抢救出来的两个未落地改进(AA26 智能 gas 估算+自动重试、最近收款人下拉),在当前 master 上重写
- **F1.5 KMS 单点消除** — 二号 imx93 到位后的双板 HA(硬件依赖,非本仓库代码)

## M2 — OP 主网发布(beta 期约一个月后)

目标:beta 跑满一个月、负向矩阵补全、运营者链路闭环之后,发布主网版本;发布前做小额真实资金冒烟。

- **F2.1 运营者准入闭环** — `operator-onboarding.spec.ts` 卡在 Step5 的
`deployAndRegisterPaymasterV4` revert;查因 → 补 Step5–7(Paymaster 部署 +
EntryPoint 充值 + Complete)
- **F2.2 完整负向/异常矩阵** — `LAUNCH_READINESS_PLAN.md`
步骤 5 的 D1–D5 全表(L1 链上 / L2 API / L3 Playwright)
- **F2.3 Guardian 协签 UX 闭环** — issue
#382:提额(#3b) 已落地,转账 Tier-3 协签(#3a) 待补
- **F2.4 多 EntryPoint 覆盖** — 目前只验过 v0.7;v0.6 / v0.8 未测
- **F2.5 前端单测** — 至少覆盖 transfer / auth 关键路径(目前前端零测试)
- **F2.6 主网冒烟** — gasless 转账 +
gasless 买入各一笔,小额,证据归档;**全部前项通过后才做**

## M3 — 基建加固(与 M1/M2 并行推进)

目标:把 beta/主网依赖的基础设施从「单点 + 手工」变成「冗余 + 可观测」,并解锁被基建卡住的纯前端迁移。

- **F3.1 API-key 模型 / KMS Origin**
— 浏览器直连 bundler+KMS 的授权模型;这是 F3.2 的硬前置
- **F3.2 纯前端零后端迁移** — PR
#400(draft,自标 WIP·PAUSED)解冻;含 localStorage 存储类的数据迁移决策
- **F3.3 依赖存量监控** — bundler / paymaster / EntryPoint
deposit 余额告警,DVT 节点存活
- **F3.4 发布物安全检查** — 浏览器 bundle 密钥泄漏扫描(DoD #8)
- **F3.5 已知安全缺口跟踪** — issue #447(executeRecovery
TOCTOU 窗口,已知、当前不可闭合)的收敛条件与再评估

## M4 — cos72 多社区演进(只到 Feature 层,暂不拆 Task)

目标:从「单站点 YAA」演进到「小社区可自助拥有的协作站点」。
**方向仍在收敛,故本里程碑刻意不拆 Task** —— 避免 `pilot run`
在产品方向未定时抢跑。真要开工前需先补 `research.md` + `acceptance.md`。

- **F4.1 配置即部署** — 一份配置驱动一个社区站点的产出(skill 化)
- **F4.2 多租户子域插件** — no-code 小社区 + 可评估的 Chrome 插件形态
- **F4.3 create-app 模版** — 已有 `create-cos72-dapp` /
Cos72 雏形,需收敛成正式模版
- **F4.4 可嵌入 SDK** — JS 引用 + React 组件两种嵌入形态
- **F4.5 移动端与 FangPay** — 终点形态,依赖 F4.1–F4.4

> 注:M4 的多数实现落在独立仓库(`cos72-tour` /
> `create-cos72-dapp`)。本 roadmap 只记录 YAA 侧需要暴露的能力与边界。

---

> **当前聚焦**:M1 / F1.2 + F1.4。M4 只到 Feature 层,`pilot run`
> 不应从 M4 挑 Task。每个 Feature 的 Task 拆分与状态见 [`tasks.md`](tasks.md)。
Loading
Loading