Skip to content

SHA-4 Growth Loop MVP 集成:合并 codex/growth-loop-mvp 到最新 main (SHA-5) - #43

Draft
WardLu wants to merge 5 commits into
mainfrom
feat/growth-loop-integration
Draft

SHA-4 Growth Loop MVP 集成:合并 codex/growth-loop-mvp 到最新 main (SHA-5)#43
WardLu wants to merge 5 commits into
mainfrom
feat/growth-loop-integration

Conversation

@WardLu

@WardLu WardLu commented Aug 15, 2026

Copy link
Copy Markdown
Owner

概览

将本地分支 codex/growth-loop-mvp(2 个 commit:aad1ed8 + c762626,约 6000 行,基于旧 main dc9794c)集成到最新 origin/maina7bd8ca),并补入共享 Supabase 测试路由约定。本 PR 只做集成与验证,不实现新功能。

关联:SHA-4(实施计划父任务)/ SHA-5(本集成任务)。

变更内容

  • Growth Loop MVP 核心src/learning-*.js 状态封装/账本/奖励/兑换/同步/导出、src/app.jssrc/cloud.js 接入、src/app.css 样式、8 个 supabase/migrations/ 数据库提案迁移、5 个 pgTAP 测试、tests/e2e/growth-loop.spec.js 与 14 个新单测文件。
  • 共享 Supabase 测试路由(来自 feat/email-template-designa8da8d6028bea7 两个基础设施 commit,按任务要求保留共享路由约定):scripts/test-shared-db.mjsstart-shared-supabase.mjsserve-shared-functions.mjspackage.jsontest:db 改走共享路由并新增 test:fast/test:ui/test:full,CI 增加 SHADOW_MATE_TEST_DB_URL 导出与分层测试约定文档。
  • 冲突处理(以 origin/main 为准)
    • .github/workflows/shared-supabase-policy.yml:add/add 冲突,保留 origin/main 版本(允许新增迁移、禁止修改历史,符合本 PR 新增 8 个迁移的需求)。
    • README.md:自动合并,共享路由文档与 origin/main 的 TTS CDN 说明共存。
    • package.json:growth-loop 分支未改脚本,直接采用含共享路由的主线版本。
    • 文档(README/CHANGELOG/RELEASE_NOTES)、src/piper-tts.js 与 TTS 测试:全部保留 origin/main 版本。

验证证据

命令 结果 说明
npm run check PASS 静态检查
npm run test:unit PASS 19 文件 / 109 项(含 14 个 growth-loop 新单测 + shared-db 脚本测试)
npm run test:db PASS 共享 Supabase 路由 learning_rls_test.sql 58 项
growth-loop pgTAP(隔离本地) PASS 6 文件 / 159 项(5 个 growth-loop + learning_rls)
npm run test:functions PASS delete-account 隔离守卫(隔离实例)
npm run test:e2e PASS 60/60,含 growth-loop 2/2 与 cloud-real 真实 Supabase
npm run verify PASS public/security/static/build/check-build/coverage 全过(exit 0)
npm run release:check PASS 未设 RELEASE_URL,生产 URL 检查按约定跳过

未决问题 / 环境阻塞

  1. growth-loop pgTAP 无法经共享路由运行:共享本地库(merchant-admin 54322)尚未加载 growth_loop_* schema。8 个新迁移未进入 Shadow Portal 控制面台账,apply-shadow-mate-local-schema.mjs 会拒绝未登记源迁移。按 proposal-only 边界本仓库不执行共享库迁移;需控制面登记并生成 SHA-256 校验快照后,test:db 共享路由才能覆盖 growth-loop pgTAP。当前以隔离本地实例验证通过(159 项)。
  2. test:functions 依赖隔离实例:共享 merchant-admin 函数 overlay 清单未包含 shadow-mate 的 delete-account,因此该测试在 shadow-mate 自身隔离实例(54311)上验证。
  3. E2E 采用隔离实例:按 CI 约定以 E2E_REAL_SUPABASE=1 + 隔离实例运行,避免触碰生产 Supabase。

约束遵守

  • 未执行任何生产迁移;未 push codex/growth-loop-mvp;未引入 src/analytics.js(Vercel Custom Events 属另一条工作线)。

WardLu added 5 commits August 14, 2026 17:16
- ci.yml:导出 DB_URL 到 SHADOW_MATE_TEST_DB_URL,支持共享数据库测试
- test-delete-account-guard.mjs:加载 .env.local 以支持本地共享链路测试
- PULL_REQUEST_TEMPLATE / CONTRIBUTING:按改动范围选择测试层级的最小充分约定
@vercel

vercel Bot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
shadow-mate Ready Ready Preview Aug 15, 2026 6:52pm

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant