boardx / boardx/boardx-dev-template

[F05] GitHub App 多仓安装流:/onboard 接真(UC-01 接入体检真实现)

Open
#789 0 comments 0 reactions 0 assignees View on GitHub
area:platform sprint:p30-02
Dominant language
TypeScript
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## 交付契约(user_visible_behavior)

/onboard 三步向导接真:①「跳转 GitHub 安装」发起真实 GitHub App(App 4328933)安装授权,返回真实 installation 回执(install-receipt 显示 installation # + 账户 + 权限清单);② repo 列表来自该 installation 的真实仓库,admin 权限徽章按 GitHub collaborator permission 真实判定,非 admin 禁用;③ 自动体检由后端逐项回报事件驱动(webhook 连通 / issues·PR 镜像种子真实灌入 / CODEOWNERS·CONTRIBUTING 检查 / 分支保护检查,警告不阻塞),checkup-item- 的 data-state 跟随真实进度;完成后项目出现在目录 DO 中成为租户、coord-agent 归属确立,「进入工作区」落 /p/:slug/settings;全程目标 ≤5 分钟。

## Story

[requirements/feature-list-draft.md](https://github.com/boardx/boardx-dev-template/blob/main/phases/phase-p30-devportal-platform/requirements/feature-list-draft.md) — 章节 `R5`

## 验证(完成的唯一标准:每条命令退出码 0)

- [ ] `pnpm --filter coord-gateway test`
- [ ] `bash phases/phase-p30-devportal-platform/scripts/verify-onboard-checkup.sh`
- [ ] `test -f apps/devportal/e2e/p30/onboard.spec.ts && pnpm --filter devportal exec playwright test e2e/p30/onboard.spec.ts`

证据落盘:`phases/phase-p30-devportal-platform/sprints/sprint-02/evidence/F05.verify.log`

## 实现指引(notes)

p29-F03 的 App 与 webhook ingest 是单仓的,本 feature 把它扩成「安装即租户注册」多仓流(installation/installation_repositories 事件 → 目录 DO 写入的单测归 coord-gateway test)。onboard-elapsed 显示真实耗时而非静态 3m42s。e2e spec 待写,锚定批 3 testid:onboard-step-{1,2,3} 真实点击路径、admin-badge-*/not-admin-* 与真实权限一致、onboard-done 与 enter-workspace 出现。

## 设计参照

(无 UI 或沿用现有界面)

## 前置依赖

- 无

## 元数据

| phase | sprint | 能力平面 | 优先级 | wave | area |
|---|---|---|---|---|---|
| p30 | 02 | CAP-DATA | P2 | - | platform |

## 开工流程(agent 必读)

> 本 issue 是仓库的**只读投影**;权威是 [`phases/phase-p30-devportal-platform/feature_list.json`](https://github.com/boardx/boardx-dev-template/blob/main/phases/phase-p30-devportal-platform/feature_list.json)。若两者不一致,以仓库为准。

1. 环境:`./init.sh`(验证失败先修基础状态,别在坏地基上开工)。
2. 认领:`pnpm harness claim --phase p30 --feature F05 --owner <你的-agent-id>`(同一 owner 同时最多一个 in_progress)。
3. 读上下文:[`requirements/`](https://github.com/boardx/boardx-dev-template/blob/main/phases/phase-p30-devportal-platform/requirements)(原始需求)、[`ui-signoff.md`](https://github.com/boardx/boardx-dev-template/blob/main/phases/phase-p30-devportal-platform/ui-signoff.md)(已确认 UI 的组件落点与 data-testid)、[`sprints/sprint-02/session-handoff.md`](https://github.com/boardx/boardx-dev-template/blob/main/phases/phase-p30-devportal-platform/sprints/sprint-02/session-handoff.md)(上一轮交接)。
4. 实现:只做本 feature 的最小实现,不顺手重构无关区域;不碰 `active-features.json`(脚本派生只读)。
5. 验证:逐条跑上方 verification,输出留到 `phases/phase-p30-devportal-platform/sprints/sprint-02/evidence/F05.verify.log`;然后 `pnpm harness verify --sprint p30/02 --feature F05` 门控转 passing——**不允许手改 status**。
6. 提交:分支 `worker/-p30-f05-`,PR 关联本 issue(`Closes #<本 issue 号>`),收尾更新 progress.md 与 session-handoff.md。

完整硬约束见 [`AGENTS.md`](https://github.com/boardx/boardx-dev-template/blob/main/AGENTS.md);多 agent 协作规则见 [`.harness/instructions/multi-agent-coordination.md`](https://github.com/boardx/boardx-dev-template/blob/main/.harness/instructions/multi-agent-coordination.md)。

Contributor guide

No contributing guide indexed for this repository

Research direction

Run ./init.sh first, then read requirements/feature-list-draft.md (R5), ui-signoff.md, and sprints/sprint-02/session-handoff.md. Use pnpm --filter coord-gateway test, verify-onboard-checkup.sh, and apps/devportal/e2e/p30/onboard.spec.ts as the validation entry points; done means all listed commands pass and evidence is saved to phases/phase-p30-devportal-platform/sprints/sprint-02/evidence/F05.verify.log.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, playwright, typescript
Domain
api, authentication, full-stack, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.