| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"50f92bc0038f667e701d2a53120e2691a831f381","after":"3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/50f92bc0038f667e701d2a53120e2691a831f381...3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2","commits":[{"id":"3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2","message":"merge: preserve approved refund governance alongside external integrations\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T16:48:13-07:00","added":["server/prisma/migrations/20261003231916_wallet_refund_positive/migration.sql"],"removed":[],"modified":["CLAUDE.md","docs/external-integrations-2026-10-03.md","docs/real-implementation-governance-batch2-2026-10-03.md","server/README.md","server/prisma/seed.ts","server/src/modules/decor/abtest.ts","server/test/r33-data-integrity.test.ts","server/test/r35-uncovered-writes.test.ts","开发计划.md","治理经验库.md","真实链路与状态机审计矩阵.md"]},{"id":"06920096ee8e9d4502e10f2e6c941485ef20f3d0","message":"fix(integrations): guard payment amounts and finalize protocol regression coverage\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/06920096ee8e9d4502e10f2e6c941485ef20f3d0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T16:43:36-07:00","added":["server/prisma/migrations/20261003233431_wechat_payment_amount_checks/migration.sql"],"removed":[],"modified":["CLAUDE.md","README.md","docs/external-integrations-2026-10-03.md","docs/loop-engineering/acceptance-checklist.md","docs/loop-engineering/api-contract.md","docs/reports/production-capability-truth-matrix-2026-06-12.md","server/.env.example","server/README.md","server/src/adapters/ai/real.ts","server/src/modules/platforms/service.ts","server/test/ai-real-http.unit.test.ts","server/test/helpers.ts","server/test/r30-platform-http-integrity.test.ts","server/test/r33-data-integrity.test.ts","server/test/r36-wechat-native.test.ts","server/test/route-coverage.baseline.json","团购本地生活AI运营App/README.md","开发计划.md","治理经验库.md","真实链路与状态机审计矩阵.md"]},{"id":"ea791b4795fec986c2a985d5ac1c68f26b4fce9f","message":"Merge branch 'main' into codex/external-integrations-20261003\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ea791b4795fec986c2a985d5ac1c68f26b4fce9f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T16:31:04-07:00","added":["docs/real-implementation-governance-batch2-2026-10-03.md","server/prisma/migrations/20261003161609_data_integrity_checks/migration.sql","server/scripts/route-coverage.mjs","server/src/lib/query.ts","server/test/r31-leads.test.ts","server/test/r32-resources.test.ts","server/test/r33-data-integrity.test.ts","server/test/r34-query-bounds.test.ts","server/test/r35-uncovered-writes.test.ts","server/test/route-coverage.baseline.json"],"removed":[],"modified":[".claude/skills/ygg-seed-migration-guard/SKILL.md",".gitignore","CLAUDE.md","README.md","server/README.md","server/package.json","server/src/modules/booking/service.ts","server/src/modules/leads/service.ts","server/src/modules/metrics/routes.ts","server/src/modules/ops/schema.ts","server/src/modules/ops/service.ts","server/src/modules/orders/routes.ts","server/src/modules/resources/schema.ts","server/src/modules/store/schema.ts","server/src/modules/wallet/service.ts","server/test/helpers.ts","开发计划.md","治理经验库.md","项目进展分析_2026-07-01.md"]},{"id":"a0d31127ccede37badd24d82386f64b5b4fef95a","message":"feat(integrations): add verified WeChat Native topups and bounded AI/platform transport\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/a0d31127ccede37badd24d82386f64b5b4fef95a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T16:31:04-07:00","added":["docs/external-integrations-2026-10-03.md","e2e/tests/07-payment-topup.spec.ts","server/prisma/migrations/20261003231027_wechat_native_topups/migration.sql","server/src/adapters/payment/wechatpay.ts","server/src/lib/external-http.ts","server/src/modules/payments/routes.ts","server/src/modules/payments/schema.ts","server/src/modules/payments/service.ts","server/test/ai-real-http.unit.test.ts","server/test/external-http.unit.test.ts","server/test/payment-contract.unit.test.ts","server/test/r36-wechat-native.test.ts","server/test/wechatpay.unit.test.ts"],"removed":[],"modified":["e2e/package.json","server/.env.example","server/package-lock.json","server/package.json","server/prisma/schema.prisma","server/src/adapters/ai/real.ts","server/src/adapters/ocr/vision.ts","server/src/adapters/platform/http.ts","server/src/app.ts","server/src/config/env.ts","server/src/index.ts","server/src/lib/errors.ts","server/src/middleware/request-log.ts","server/src/modules/platforms/service.ts","server/src/modules/wallet/service.ts","server/src/openapi.ts","server/src/routes.ts","server/test/ai-provider.unit.test.ts","server/test/env-production-guard.unit.test.ts","server/test/ocr-provider.unit.test.ts","server/test/platform-adapter.unit.test.ts","server/test/platform-ingest-integrity.unit.test.ts","server/test/request-log.unit.test.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/screen-governance.generated.json","团购本地生活AI运营App/screens-member.jsx","团购本地生活AI运营App/scripts/screen-governance.mjs","团购本地生活AI运营App/scripts/test-static.mjs"]}],"total_commits":0,"head_commit":{"id":"3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2","message":"merge: preserve approved refund governance alongside external integrations\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/3c9ccff1ba6415660a29cb99c8a4b4b1ce6eccc2","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-03T16:48:13-07:00","added":["server/prisma/migrations/20261003231916_wallet_refund_positive/migration.sql"],"removed":[],"modified":["CLAUDE.md","docs/external-integrations-2026-10-03.md","docs/real-implementation-governance-batch2-2026-10-03.md","server/README.md","server/prisma/seed.ts","server/src/modules/decor/abtest.ts","server/test/r33-data-integrity.test.ts","server/test/r35-uncovered-writes.test.ts","开发计划.md","治理经验库.md","真实链路与状态机审计矩阵.md"]},"repository":{"id":51,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":88810,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-02T16:02:07+08:00","updated_at":"2026-10-04T07:35:15+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}... |