Commit Graph

72 Commits

Author SHA1 Message Date
lanrtop
bdee5ea67f chore(blueprint): 收口炼境工具链契约
All checks were successful
Push & PR Check / check (push) Successful in 58s
Rules-Applied: R11,R13
2026-09-22 22:18:59 +09:00
lanrtop
23e9c297ca fix(ci): 使用项目工具链版本声明
All checks were successful
Push & PR Check / check (push) Successful in 1m7s
Push & PR Check / check (pull_request) Successful in 53s
Rules-Applied: R13
2026-09-22 22:09:28 +09:00
lanrtop
ff3f3d40d6 feat(toolchain): 补齐炼境自身工具链契约
Some checks failed
Push & PR Check / check (push) Failing after 31s
Push & PR Check / check (pull_request) Failing after 25s
Feature-Confirmed: true
Rules-Applied: R02,R13
2026-09-22 22:01:35 +09:00
lanrtop
c9e92f7af4 chore(blueprint): 收口 Agent PR 合并门禁
All checks were successful
Push & PR Check / check (push) Successful in 1m20s
记录 PR #14 的真实 SHA 绑定合并与交付状态回读证据,并写入 M 级任务复盘。

Rules-Applied: R03,R13
2026-09-22 21:23:01 +09:00
lanrtop
b6d7490254 chore(onboarding): 完成炼境自身 Codex 接入
All checks were successful
Push & PR Check / check (push) Successful in 1m18s
Push & PR Check / check (pull_request) Successful in 58s
建立 canonical project context、Codex MCP 配置、项目级炼境 skill 与能力包版本记录,并补齐蓝图任务和复盘证据。

Rules-Applied: R03,R10,R13
2026-09-22 21:10:42 +09:00
lanrtop
0141b8b09a feat(delivery/gitea): 归一化 Gitea 部署状态信号
All checks were successful
Push & PR Check / check (push) Successful in 1m4s
Push & PR Check / check (pull_request) Successful in 59s
保留目标 SHA、context、时间与跳转证据,按精确 context 提取部署结果,并修正 Gitea 1.22 skipped job 被编码为 success 的误判。同步落账 production 只读双证据方案与 P3-A 完成状态。

Rules-Applied: R07,R10,R13

Feature-Confirmed: true
2026-09-22 19:54:43 +09:00
lanrtop
a1c0ef5ad7 docs(blueprint): 收官工具链消费者试点
All checks were successful
Push & PR Check / check (push) Successful in 1m3s
2026-09-22 16:19:56 +09:00
lanrtop
32b32438d1 docs(blueprint): record toolchain consumer pilot
All checks were successful
Push & PR Check / check (pull_request) Successful in 57s
Record the verified Windows mise path and keep Enterprise CI plus new-session validation open.

Rules-Applied: R13
2026-09-22 01:59:57 +09:00
lanrtop
ccbd2b0e23 style(env): 扩大环境工具模态框
All checks were successful
Push & PR Check / check (push) Successful in 1m2s
Push & PR Check / check (pull_request) Successful in 59s
根据 human_verify 调整响应式宽高与内容间距,并将工具链 UI 任务标记完成。

Rules-Applied: R08,R13
2026-09-22 01:41:30 +09:00
lanrtop
ead35ad12a feat(toolchain): 增加项目级运行时能力包
以 .nvmrc 与 packageManager 作为 Node/pnpm 版本事实,新增 Windows-only 的状态诊断、受控 mise 准备、MCP/Tauri/UI 双投影及 onboarding 自检。

Feature-Confirmed: true

Rules-Applied: R01,R04,R06,R07,R08,R10,R12
2026-09-22 01:08:31 +09:00
lanrtop
057c2b3a10 fix(onboarding): recognize custom lefthook checks
All checks were successful
Push & PR Check / check (pull_request) Successful in 1m1s
2026-09-21 22:42:03 +09:00
lanrtop
f5b66aba4a feat(onboarding): version capability packs
Feature-Confirmed: true
2026-09-21 19:23:54 +09:00
lanrtop
167fcf9880 feat(agent-context): add canonical project context
Feature-Confirmed: true
2026-09-21 18:16:32 +09:00
lanrtop
383b5b35d7 feat(delivery): add project delivery status
All checks were successful
Push & PR Check / check (push) Successful in 1m0s
Push & PR Check / check (pull_request) Successful in 58s
Feature-Confirmed: true
2026-09-21 15:16:40 +09:00
lanrtop
99d41d5939 chore(blueprint): plan Codex model switch 2026-09-21 12:53:25 +09:00
lanrtop
87494ba055 chore(blueprint): 三卡收官——ship 体检实补3处/envoy 零改动收官/分诊先核现状教训入账
All checks were successful
Push & PR Check / check (push) Successful in 55s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 22:27:30 +09:00
lanrtop
91d9ca1346 chore(blueprint): 使者回传第二轮分诊 36 条落账——已消化6/过时1/待行动3卡/归档19,回执缺口实锤升级
All checks were successful
Push & PR Check / check (push) Successful in 54s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 22:03:12 +09:00
lanrtop
ed2b95b90d chore(blueprint): dsh-takeover T1/T2 收官——记忆回流 AGENTS/cicd-workflow + CI 校验验收留痕
All checks were successful
Push & PR Check / check (push) Successful in 55s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 21:28:39 +09:00
lanrtop
246d562b15 chore(blueprint): 立项 dsh-takeover-readiness(DSH 接管准备,协作模式=DSH 干活+Claude 调教)
All checks were successful
Push & PR Check / check (push) Successful in 2m31s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 21:10:46 +09:00
lanrtop
1bb4ce978e chore(blueprint): 沉淀开发侧世界模型透镜 + staleness 卡收官 + notes 档案卡就绪 2026-08-23 15:46:41 +09:00
lanrtop
7cfbfb1b86 chore(blueprint): onboarding-pack 模块收官——U1/U3/B4 实调终验通过
All checks were successful
Push & PR Check / check (push) Successful in 51s
批量分发 25 项目 0 失败(envoy/gate 全托管升级生效)、ingest 清洗
链路贯通、verify 七项链准确检出 lefthook 缺失键。模块 status→done。
2026-07-15 19:53:49 +09:00
lanrtop
1672b071e4 feat(onboarding/upgrade-channel): 全托管文件升级通道 + 批量重分发(U1)
All checks were successful
Push & PR Check / check (push) Successful in 51s
Push & PR Check / check (pull_request) Successful in 51s
三档升级语义落地:envoy.md/blueprint-gate.cjs 切全托管
(内容不一致即覆盖,CRLF 归一化防抖动),文件头加托管声明;
verify_onboarding 第 7 项「lefthook 检查段齐全」从内嵌模板自省
键集合,零硬编码;MCP apply_onboarding_pack 缺省 project_id
时批量分发全部已登记项目,替代 batch_apply.py 手摇脚本。

Rules-Applied: R06,R07

Feature-Confirmed: true
2026-07-15 14:20:22 +09:00
lanrtop
2fe576b75a feat(mcp/diagnostics): get_diagnostics 新增使者回传覆盖率「沉默项目」信号(B4)
All checks were successful
Push & PR Check / check (push) Successful in 49s
近 30 天有 commit 采集但零使者回传的已登记项目浮出水面,
提示去该项目跑 /envoy——回流触发不自动化(辩证决策 2026-07-15),
用可观测性让遗忘可见,人留在过滤环里。

Rules-Applied: R06,R07
2026-07-15 14:10:28 +09:00
lanrtop
aaf3343133 feat(flywheel/rules-validation): Rules-Applied 规则 ID ingest 层真实性校验(U3)
All checks were successful
Push & PR Check / check (push) Successful in 1m17s
校验单点放统计消费端(R12 边界单点):extract_rule_ids 从项目
CONVENTIONS.md 提取合法 ID 集合,filter_valid_rules 在入库前剔除
幻觉/typo ID(无 CONVENTIONS.md 时 fail-open 不校验)。接入全部
4 条写入链路(buff 增量/webhook/gitea 轮询/全量导入);
sanitize_rules_applied 提供回溯清洗,重跑全量导入即可清历史污染。

Rules-Applied: R01,R06,R07
2026-07-15 14:05:13 +09:00
lanrtop
4226372423 docs(blueprint): 登记 governance-feedback-loop concept 模块——治理反馈闭环
All checks were successful
Push & PR Check / check (push) Successful in 50s
老板-员工手册隐喻:用户反馈子项目问题 → 结构化落账 → 梦核蒸馏进
规则/模板 → 批量分发 → 飞轮观测生效。治理管线已存在大半
(governance 规则同步 / feedback 梦核 / onboarding 模板版本化),
三处断环:治理反馈入口、反馈进梦核高权重输入、接入包批量重分发。
L 级,待 /architect。
2026-07-06 21:35:41 +09:00
lanrtop
a05fb49347 docs(blueprint): mcp-single-server 模块收官——T4 端到端终验通过
All checks were successful
Push & PR Check / check (push) Successful in 49s
验证:~/.claude.json 仅剩 lian-jing(12 条旧注册清零)、3 项目抽查
新格式通过、新路由握手 + get_diagnostics 实调通过、旧路由 404。
T4 暴露 git-bash 硬编码存量 bug 已修(0d1427f)。
遗留:同路径重复登记(legacy id 与 uuid id 并存)待登记卫生清理。
2026-07-06 20:18:32 +09:00
lanrtop
df7d52a084 feat(mcp): T6 删除旧 /mcp/group 路由与兼容层——提前并入本次发版
All checks were successful
Push & PR Check / check (push) Successful in 1m6s
Push & PR Check / check (pull_request) Successful in 49s
原计划后置一个版本,经评估提前:迁移在新版启动时自动重写全部
客户端配置(settings.json/liangjing.json/全局注册),旧路由的实际
消费者只剩升级前的存量会话,而服务重启后它们本就断开重连。
单人环境下双路由过渡的保留价值趋近于零,一次收口减少一轮发版。

- tools_call 签名去 Option 组上下文,process_rpc 单参数化
- list_group_projects 的 group_id 改为 required 参数
- grep 'mcp/group' src-tauri/src/ 零命中,cargo test 93 全绿
2026-07-06 19:34:51 +09:00
lanrtop
daed723438 docs(blueprint): mcp-single-server 设计定稿 + 拆卡 T1-T6
All checks were successful
Push & PR Check / check (push) Successful in 47s
方案 B 双路由过渡:全局 /mcp 新路由与旧 /mcp/group/:gid 并存一个版本。
关键决策:工具层 resolve_project_root 去组化(组归属校验实测无隔离价值)、
迁移内建于重注入(reinject_all_mcp 即批量迁移器)、旧全局注册两种命名
格式(完整 UUID/短 8 位)都清理。webhook 路由已核实不受影响。
2026-07-06 19:15:59 +09:00
lanrtop
138a06aa17 docs(blueprint): 登记 mcp-single-server concept 模块——组级挂载收敛为单一全局服务器
All checks were successful
Push & PR Check / check (push) Successful in 48s
动机:MCP 客户端配置成本随产品组数线性增长(12 组 × 28 工具),
与飞轮'项目越多越强'方向相反;实测组级挂载无隔离价值(任意组
服务器可操作任意项目)。单一服务器后 liangjing.json 只需
project_id,group_id 同步问题从根上消失。L 级,待 /architect。
2026-07-06 19:04:04 +09:00
lanrtop
94d8be6eb6 docs(blueprint): 阶段三消费者终验通过,flywheel-intelligence 模块收官
All checks were successful
Push & PR Check / check (push) Successful in 53s
Push & PR Check / check (pull_request) Successful in 48s
Rules-Applied: R13
2026-07-04 14:41:29 +09:00
lanrtop
a5cb30734d feat(flywheel): 返工热区 UI + get_high_risk_scopes 命令,阶段三收官
All checks were successful
Push & PR Check / check (push) Successful in 50s
Push & PR Check / check (pull_request) Successful in 50s
- risk.rs 新增 Tauri command get_high_risk_scopes(薄包装)+ lib.rs 注册
- commands.ts 封装 HighRiskScope 类型与调用(R01)
- FlywheelPanel 新增「返工热区」块:跨项目返工率降序,
  分级配色与 classify_risk 阈值一致(≥35% 红 / ≥15% 琥珀)
- 蓝图:P3-A~E 五卡全部 done,附 L 级复盘笔记,模块 progress 98

Rules-Applied: R01,R13
2026-07-04 14:22:52 +09:00
lanrtop
08e8d6d719 fix(flywheel): 修复 Rules-Applied trailer 死链,git log 原生提取 + UPSERT 回填
R1 管道自建成以来是死链:buff 与 ingest 两处 git log 都用 %s 只取
subject,trailer 在 body 里永远读不到(炼境自身 11 条带 trailer 的
commit,DB rules_applied 全空);单测喂全文所以全绿。

- GIT_LOG_FMT 加 %(trailers:key=Rules-Applied,valueonly,separator=%x2C),
  git 原生 trailer 解析,保持单行一条记录
- read_git_log 升为增量/全量统一取数入口(GitLogRange),buff 的
  get_new_commits 委托之,消灭两处重复 format 定义
- record_commit_entry + upsert_metrics:ON CONFLICT 仅回填
  rules_applied IS NULL 的存量行,绝不覆盖已有值,回填幂等
- ingest_full_git_history 改走 record_commit_entry,消灭第三处重复 INSERT
- get_new_commits 的 WSL 分支随 2026-07-04 裁决顺手清理
- 测试:真 git 仓库 e2e trailer 提取回归 + UPSERT 四态语义,82 全绿

Rules-Applied: R06,R07,R13
2026-07-04 14:04:20 +09:00
lanrtop
05d7673990 feat(onboarding): T2+B3 复杂度感知分支策略 + agent 按钮载体声明体系
T2 git-workflow 模板升 v1.3.0:
- 分支策略从强制 dev→main 改为复杂度感知
  (简单改动直推 main/master,功能性改动开 feat/<name> 分支+PR)
- PR 创建 MCP 示例 head 从 "dev" 改为 "feat/<name>"

B3 agent 按钮载体声明闭环:
- CONVENTIONS.md manifest.yaml 规范新增 agent_button_carrier 字段
  (tauri/http/cli/playwright,新建蓝图时必填)
- splitter SKILL.md 三级优先载体继承:manifest字段 > architect声明 > 就近推断
- 炼境自身 manifest.yaml 补 agent_button_carrier: tauri
- AGENTS.md.tmpl 项目概况 TODO 提示新增载体字段填写指引

Rules-Applied: R04,R13
2026-07-04 13:44:02 +09:00
lanrtop
9881b568b6 feat(manage): 项目/产品组多视图 — 全览/分组/概览/健康度四视图
All checks were successful
Push Check / check (push) Successful in 46s
2026-07-04 09:26:17 +09:00
lanrtop
ccf87ae09a feat(onboarding): V1 接入生效验收——lefthook 分发即激活 + verify_onboarding 六项检查链
All checks were successful
Push Check / check (push) Successful in 45s
分发成功 ≠ 功能生效:接入包此前只写 lefthook.yml 从不激活,
文件在 hook 死 → conventional 不强制 → 飞轮数据脏。

- apply_onboarding_pack 分发后自动 lefthook install(本地 .bin 优先/
  PATH 兜底/静默),OnboardingReport 新增 hook 三态
- 新 MCP 工具 verify_onboarding:管理块版本/hook 真挂/origin 命中
  Gitea 实例/CI workflow 存在/近 30 天飞轮数据 六项检查链 JSON
- 判定纯函数化 5 条单测 + in-memory DB 全链集成测试
- commands.ts 补 TemplateResult 缺失的 updated/appended 态(T1 旧债)
- AGENTS.md 去掉写死的工具计数(防腐:以 tools_list_result 自省为准)

Rules-Applied: R01,R06,R07,R13
2026-07-04 08:27:39 +09:00
lanrtop
2da50890ea chore(blueprint): onboarding-pack 新立 V1 接入生效验收卡
All checks were successful
Push Check / check (push) Successful in 45s
lefthook 分发后从不激活 + verify_onboarding 消费者角色验证,
acceptance 按可执行验证路径格式拆好,供下轮直接开工。
2026-07-04 08:13:53 +09:00
lanrtop
d8bd4a23e0 chore(blueprint): 同步 gitea-integration/onboarding-pack 状态
- gitea-integration: done 100%(/ship MCP 化闭环)
- onboarding-pack: in_progress 98%(B3 完成,B4 后置)
2026-07-03 21:12:37 +09:00
lanrtop
14fe02ec7d feat(mcp): 补全 agent 按钮体系——5 个新工具关闭三项结构性缺口
P0 PR 生命周期闭环:
- get_ci_status(project_id, commit_sha):查 Gitea CI pass/fail/pending
- merge_pull_request(project_id, pr_number):CI 绿灯后合并 PR
至此 /ship 流程全自主:推送→开 PR→查 CI→合并→poll_now

P1 飞轮数据对子项目透明:
- get_pr_events(project_id, limit?):读 pr_events 表,PR 生命周期历史
- get_commit_metrics(project_id, days?):读 commit_metrics,提交类型/返工分布

P2 分发层 agent 可自修复:
- distribute_cicd(project_id, workflow_type):写入 CI 模板,无需预存配置
2026-07-03 19:55:12 +09:00
lanrtop
6efde66c42 feat(onboarding): T1 模板版本化三态分发 + B1 CONVENTIONS 1.10.0(R12/R13) + B2 agent 按钮章节
- dispatch_versioned:不存在写全新 / 有标记同版本跳过 / 版本不同原位升级块 / 无标记末尾追加块,块外用户内容永不触碰
- AGENTS.md.tmpl 重写为三分区:用户 TODO 区 + ONBOARDING_MANAGED v1.1.0 块(含 agent 按钮与验证路径章节)+ 四支柱防腐元规则
- git-workflow.md.tmpl 全文入管理块 v1.1.0
- CONVENTIONS 升 1.10.0:R12 边界单点实现、R13 验收路径须真实走通(含载体就近选择表)
- lefthook.yml 保持存在即跳过(用户深度定制不适用块机制)

Rules-Applied: R05-skip, R12, R13
2026-07-03 13:23:41 +09:00
lanrtop
e6eb64b21b chore(blueprint): 体系分发落地拆卡——T1 模板版本化升格可派发,B 系列 planned 2026-07-03 13:03:40 +09:00
lanrtop
033f556268 chore(blueprint): R0 发版链路完成——v0.1.16 经 Gitea Actions 构建上线 OSS 2026-07-02 18:45:56 +09:00
lanrtop
8a64b29445 feat(gitea): G6 远端轮询采集——公网 Gitea + 内网炼境拓扑的观测面方案
- poll_all_repos:后台线程每 10 分钟出站拉取所有绑定仓库最新 commit
  (GET /repos/:owner/:repo/commits),record_commit 幂等写入,与本地
  watcher / 全量导入三路径共存不重复计数
- gitea_poll_now 命令 + GiteaPanel「立即拉取」按钮与拓扑说明
- 决策记录:webhook 仅作同网补充,否决 frp 全端口映射(MCP 路由无鉴权,
  27190 保持零公网暴露);飞轮为统计系统,10 分钟延迟无影响

验证:cargo test 67 passed(新增轮询解析 2 测试)、typecheck 全绿

Rules-Applied: R01, R07
2026-07-02 16:36:18 +09:00
lanrtop
de961d0e95 feat(flywheel): Gitea Actions 模板 + Rules-Applied trailer 自吸——规则有效性闭环接通
Gitea Actions workflow 生成(gitea-integration 收官卡):
- generate_workflow 输出 .gitea/workflows/;tauri_oss 模板去掉 GitHub Release
  步骤(发布走 OSS),构建改 pnpm tauri build + 签名环境变量,runs-on 改
  自建 windows runner 标签;CicdModal Secrets 文案改 Gitea 路径
- 单元测试断言模板无 github.com / GITHUB_TOKEN / gh-release 残留

R1 Rules-Applied trailer 被动自吸(flywheel-intelligence):
- smart-commit 技能:commit message 末尾附 Rules-Applied: R01,R06 trailer
  (仅真实触发的规则,防数据污染)
- commit_metrics 新增 rules_applied 列(增量 migration)+ parse_rules_applied
  解析(token 校验/去重/规范化)+ rule_hit_stats 跨项目"命中×返工"聚合
- 梦核 prompt 新增「规则命中×返工交叉」数据段 + 【规则置信度】分析任务
  (升/降 confidence、按 R11 细化边界)——R01-R10 置信度首次有真实数据来源

验证:cargo test 65 passed(新增 7 测试,其中一个抓到 trailer 解析的
? 提前返回 bug)、typecheck 全绿

Rules-Applied: R01, R05, R06, R07
2026-07-02 15:10:26 +09:00
lanrtop
bf697b5e28 feat(ui): 功能区重构阶段二——洞察页 + 全局/项目层级归位(N3/N4/N5)
N3 洞察页三 tab(飞轮/健康中心/全局治理):
   - FlywheelPanel(版本队列/阻塞/停转归档/Git质量/梦核)整体迁出 BlueprintModal
     ——跨项目内容不再寄生单项目弹窗,BlueprintModal 减重 414 行
   - CONVENTIONS 规则来源 + 应用梦核建议迁至全局治理 tab(影响所有项目的操作归全局层)
   - BlueprintModal 侧板只留单项目内容(模块详情/余票/可派发/项目治理)
N4 Gitea 层级归位:实例管理(全局配置)拆为 GiteaInstancesSection 挂设置页;
   项目绑定+webhook 留治理面板,无实例时提示去设置页添加;共用 queryKey 缓存
N5 仓库注册表并入 项目→管理→仓库 tab(RegistryTab 复用),Sidebar 底部入口
   与弹窗死壳移除;总览页更名对齐"跨项目行动项"定位

至此 ui-restructure N1-N5 全部完成:三条公理(名实一致/层级对齐/频率分层)落地。
零后端变更,typecheck 全绿。
2026-07-02 14:51:43 +09:00
lanrtop
bc07dd41bf feat(ui): 功能区重构阶段一——六组导航 + 资源/工具一级页 + 卡片操作分层
信息架构按三公理重排(名实一致/层级对齐/频率分层,设计见 ui-restructure 模块):
- Sidebar 六组:总览/项目/资源/洞察/工具/设置
- 新增资源页(服务器/软件仓库/云产品/API密钥/源码库 5 tab),从"项目管理"
  拆出寄生的资源类 tabs;新增工具页(开发环境/WSL代理 合并)
- Dashboard 看板只留产品组/独立项目;洞察页阶段一暂挂健康中心(N3 扩充)
- ProjectCard 底部 10 个平铺操作收敛为:🗺️蓝图/🎓导师/编辑/动态 + ⋯更多下拉
  (带文字标签收纳 Claude配置/备忘/服务器/CICD/环境扫描/工具管理)

零后端变更:纯组件挂载点迁移,面板组件与 queryKey 原样复用。
阶段二(N3 洞察页扩充 / N4 Gitea 实例迁设置 / N5 仓库注册表归位)已拆卡待启动。
2026-07-02 14:33:55 +09:00
lanrtop
d14b348845 feat(gitea): G2-G5 全链路——建仓/迁移/绑定 + webhook 收发 + 治理面板
G2 控制面:gitea_create_repo / gitea_migrate_repo / gitea_link_repo,
   upsert 绑定(换绑自动重置 webhook 字段),API 错误提取 Gitea message 可读返回
G3 观测面:MCP Server 新增 POST /webhook/gitea/:project_id——HMAC-SHA256 验签
   (X-Gitea-Signature,兼容 X-Hub-Signature-256)→ 解析 commits → 批量
   record_commit(sha 幂等,与本地 watcher 双路径不重复计数);验签失败记 log_event
G4 webhook 注册:gitea_setup_webhook 生成随机 secret 注册 push hook(重设先删旧)、
   gitea_unlink_repo 解绑顺带清理 Gitea 侧 hook
G5 治理面板:GiteaPanel——实例管理(添加/测试/删除)、当前项目三种绑定方式、
   webhook 注册与可复制回调地址、全部绑定概览

依赖:新增 hmac + sha2;project_id 与 commit_metrics 同源(Project.id),
避免双路径冲突复发;R10 修正设计文档错误签名头

验证:cargo test 58 passed(新增 upsert 换绑重置 + hmac 正反向 + payload 解析 5 测试)、
typecheck 全绿
2026-07-02 14:22:49 +09:00
lanrtop
29a066e7e3 chore(conventions): v1.9.0 自洽体检——规则边界结构 + R11 + 状态词汇统一
- CONVENTIONS 1.9.0:规则新增 boundaries/failure_cases 可选字段(失败定边界,
  经验细化为变体而非推翻);新增 R11 自动执行规则失效时必须记录失败案例;
  模块状态表补 abandoned 定义(何时更新蓝图章节早已引用但表中缺失)
- 状态词汇统一:github-auth/github-publish 的 deprecated(未定义状态)→ abandoned,
  BlueprintModal 状态色表补 abandoned 渲染
- 文档防腐:CLAUDE.md 技术栈改为 Gitea(GitHub 已退役);cicd-workflow 模块
  加改造中指针(单一事实来源指向 gitea-integration 的 Gitea Actions 卡)
- 蓝图:R2 卡完成解锁(分发随下次发版生效)
2026-07-02 14:09:09 +09:00
lanrtop
f4dd0e4ea0 chore(blueprint): 蓝图↔Gitea 分工裁决 + R1/R2 飞轮卡 + Gitea Actions 卡升格可派发 2026-07-02 13:35:07 +09:00
lanrtop
289b558278 refactor(github): GitHub 全面退役——免登录 + 发布/导入/同步链路移除 + 凭据去 GitHub 化
D1 免登录改造:App 启动直接进主界面,删 LoginPage/github.rs/OAuth 全套命令、
   Sidebar 账户区与 GitHub OAuth 设置弹窗、健康检查 GitHub Token 项
D2 移除发布/导入/PR/CI 入口:删 PublishModal/ImportRepoModal、ProjectCard 的
   PR compare 链接与 Actions 状态灯、RepoRegistryModal 同步 tab、CicdModal runs tab、
   publish.rs 的 github_create_repo/git_push_to_github
D3 spacesSync 单机化:删 spacesSync/useSpacesSync/SpacesPage/DiscoveryPanel,
   拆除 App→Dashboard→ProjectCard 的 spacesJson 链
D4 git_ops 凭据链重写:ssh agent → git credential helper → gitea_instances token
   前缀匹配 → default,不再依赖 github_token

保留:server_software GitHub 镜像(Releases 下载加速)、gitea_migrate 迁移入口、
cicd.rs(待 Gitea Actions 改造卡);DB 表不删(R05 migration 兼容)

顺带:修复 servers.rs 两个存量测试的 schema 漂移(测试建表缺 deploy_type 列);
      包含会话前未提交的 agent-infra F3(get_agent_health 健康诊断,与 lib.rs/
      commands.ts 物理耦合无法拆分提交)

验证:cargo test 53 passed / typecheck 全绿 / vitest passWithNoTests
2026-07-02 13:15:56 +09:00
lanrtop
dcbf1f9355 feat(gitea): G1 DB schema + 实例 CRUD + 连接测试
新增 gitea_instances / gitea_repos 两张表(db.rs migrate);
实现 save/list/delete/update/test_connection 命令(ureq 调 GET /api/v1/user 验证 token);
gitea_list_linked_repos / gitea_get_repo_link 查询绑定状态;
前端 commands.ts 完整类型封装;4 个单元测试全绿。
2026-06-30 17:44:39 +09:00