|
7609
|
fix: v-permission第二批5模块覆盖 + 三表多租户索引优化
|
6
|
5
|
health-check.yml
|
7534
|
-2
|
118
|
refs/heads/main
|
2ec5b7d8079ffd911c7b27a395d5aba3ceafe372
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ff3149170c6b0deb6d8151cb962592199b95bdd8","after":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/ff3149170c6b0deb6d8151cb962592199b95bdd8...2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","commits":[{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]}],"total_commits":0,"head_commit":{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956120,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T01:13:28+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":false,"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"}}...
|
schedule
|
4
|
4
|
1774312841
|
1774312842
|
0
|
1774312840
|
1774312842
|
|
|
0
|
Edit
Delete
|
|
7610
|
fix: v-permission第二批5模块覆盖 + 三表多租户索引优化
|
6
|
5
|
health-check.yml
|
7535
|
-2
|
118
|
refs/heads/main
|
2ec5b7d8079ffd911c7b27a395d5aba3ceafe372
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ff3149170c6b0deb6d8151cb962592199b95bdd8","after":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/ff3149170c6b0deb6d8151cb962592199b95bdd8...2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","commits":[{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]}],"total_commits":0,"head_commit":{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956120,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T01:13:28+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":false,"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"}}...
|
schedule
|
4
|
4
|
1774313141
|
1774313142
|
0
|
1774313140
|
1774313142
|
|
|
0
|
Edit
Delete
|
|
7611
|
fix: v-permission第二批5模块覆盖 + 三表多租户索引优化
|
6
|
5
|
health-check.yml
|
7536
|
-2
|
118
|
refs/heads/main
|
2ec5b7d8079ffd911c7b27a395d5aba3ceafe372
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ff3149170c6b0deb6d8151cb962592199b95bdd8","after":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/ff3149170c6b0deb6d8151cb962592199b95bdd8...2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","commits":[{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]}],"total_commits":0,"head_commit":{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956120,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T01:13:28+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":false,"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"}}...
|
schedule
|
4
|
4
|
1774313441
|
1774313442
|
0
|
1774313440
|
1774313442
|
|
|
0
|
Edit
Delete
|
|
7612
|
fix: v-permission第二批5模块覆盖 + 三表多租户索引优化
|
6
|
5
|
health-check.yml
|
7537
|
-2
|
118
|
refs/heads/main
|
2ec5b7d8079ffd911c7b27a395d5aba3ceafe372
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ff3149170c6b0deb6d8151cb962592199b95bdd8","after":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/ff3149170c6b0deb6d8151cb962592199b95bdd8...2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","commits":[{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]}],"total_commits":0,"head_commit":{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956120,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T01:13:28+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":false,"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"}}...
|
schedule
|
4
|
4
|
1774313741
|
1774313742
|
0
|
1774313740
|
1774313742
|
|
|
0
|
Edit
Delete
|
|
7613
|
fix: v-permission第二批5模块覆盖 + 三表多租户索引优化
|
6
|
5
|
health-check.yml
|
7538
|
-2
|
118
|
refs/heads/main
|
2ec5b7d8079ffd911c7b27a395d5aba3ceafe372
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ff3149170c6b0deb6d8151cb962592199b95bdd8","after":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/ff3149170c6b0deb6d8151cb962592199b95bdd8...2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","commits":[{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]}],"total_commits":0,"head_commit":{"id":"2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","message":"fix: v-permission第二批5模块覆盖 + 三表多租户索引优化\n\n## v-permission 第二批覆盖 (17 个指令)\n- customers: create/import/export/update/delete (5个)\n- campaigns: create/update (3个)\n- partners: create/update/delete (3个)\n- shipments: create/update/delete (4个)\n- renewals: update/quote:create (4个,含JS+指令双重防线)\n\n## 多租户索引优化\n- opportunities: 清理6个重复/缺失tenant_id索引 → 8个多租户复合索引\n- orders: fulfillment_status/payment_status 补充 tenant_id 前缀\n- service_tickets: priority 补充 tenant_id+status 复合索引\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2ec5b7d8079ffd911c7b27a395d5aba3ceafe372","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T08:29:44+08:00","added":[],"removed":[],"modified":["backend/prisma/schema.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/sales.prisma","backend/prisma/schema/service.prisma","frontend/src/views/campaigns/Index.vue","frontend/src/views/customers/Index.vue","frontend/src/views/partners/Index.vue","frontend/src/views/renewals/Index.vue","frontend/src/views/shipments/Index.vue"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956120,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T01:13:28+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":false,"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"}}...
|
schedule
|
4
|
4
|
1774314041
|
1774314042
|
0
|
1774314040
|
1774314042
|
|
|
0
|
Edit
Delete
|
|
13575
|
feat: 更新项目配置和脚本
|
6
|
5
|
ci.yml
|
13498
|
5
|
0
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
push
|
2
|
12
|
1776001252
|
1776001294
|
0
|
1776001251
|
1776007228
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
13576
|
feat: 更新项目配置和脚本
|
6
|
5
|
e2e-tests.yml
|
13499
|
5
|
0
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
push
|
2
|
20
|
1776001294
|
1776007179
|
0
|
1776001251
|
1776007270
|
|
|
0
|
Edit
Delete
|
|
13577
|
feat: 更新项目配置和脚本
|
6
|
5
|
test-pipeline.yml
|
13500
|
5
|
0
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
push
|
2
|
68
|
1776007180
|
1776007225
|
0
|
1776001252
|
1776007337
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/heads/main
|
1
|
Edit
Delete
|
|
13578
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13501
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007229
|
1776007230
|
0
|
1776001550
|
1776007230
|
|
|
0
|
Edit
Delete
|
|
13579
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13502
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007231
|
1776007232
|
0
|
1776001910
|
1776007232
|
|
|
0
|
Edit
Delete
|
|
13580
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13503
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007233
|
1776007234
|
0
|
1776002150
|
1776007234
|
|
|
0
|
Edit
Delete
|
|
13581
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13504
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007235
|
1776007236
|
0
|
1776002450
|
1776007236
|
|
|
0
|
Edit
Delete
|
|
13582
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13505
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007237
|
1776007238
|
0
|
1776002750
|
1776007238
|
|
|
0
|
Edit
Delete
|
|
13583
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13506
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007239
|
1776007240
|
0
|
1776003050
|
1776007240
|
|
|
0
|
Edit
Delete
|
|
13584
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13507
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007241
|
1776007242
|
0
|
1776003350
|
1776007242
|
|
|
0
|
Edit
Delete
|
|
13585
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13508
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007243
|
1776007244
|
0
|
1776003650
|
1776007244
|
|
|
0
|
Edit
Delete
|
|
13586
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13509
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007245
|
1776007246
|
0
|
1776003950
|
1776007246
|
|
|
0
|
Edit
Delete
|
|
13587
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13510
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007247
|
1776007248
|
0
|
1776004250
|
1776007248
|
|
|
0
|
Edit
Delete
|
|
13588
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13511
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007249
|
1776007250
|
0
|
1776004550
|
1776007250
|
|
|
0
|
Edit
Delete
|
|
13589
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13512
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007251
|
1776007252
|
0
|
1776004850
|
1776007252
|
|
|
0
|
Edit
Delete
|
|
13590
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13513
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007253
|
1776007254
|
0
|
1776005150
|
1776007254
|
|
|
0
|
Edit
Delete
|
|
13591
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13514
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007255
|
1776007256
|
0
|
1776005450
|
1776007256
|
|
|
0
|
Edit
Delete
|
|
13592
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13515
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007257
|
1776007258
|
0
|
1776005750
|
1776007258
|
|
|
0
|
Edit
Delete
|
|
13593
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13516
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007259
|
1776007260
|
0
|
1776006050
|
1776007260
|
|
|
0
|
Edit
Delete
|
|
13594
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13517
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007261
|
1776007262
|
0
|
1776006350
|
1776007262
|
|
|
0
|
Edit
Delete
|
|
13595
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13518
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007263
|
1776007264
|
0
|
1776006650
|
1776007264
|
|
|
0
|
Edit
Delete
|
|
13596
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13519
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007265
|
1776007266
|
0
|
1776006950
|
1776007266
|
|
|
0
|
Edit
Delete
|
|
13597
|
feat: 更新项目配置和脚本
|
6
|
5
|
test-report.yml
|
13520
|
5
|
0
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-12T21:30:41+08:00","updated_at":"2026-04-12T21:30:41+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":13576,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/13576","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/13576","display_title":"feat: 更新项目配置和脚本","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":13499,"head_sha":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-12T21:41:34+08:00","completed_at":"2026-04-12T23:19:39+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
2
|
14
|
1776007271
|
1776007276
|
0
|
1776007180
|
1776007296
|
|
|
0
|
Edit
Delete
|
|
13598
|
feat: 更新项目配置和脚本
|
6
|
5
|
deploy.yml
|
13521
|
5
|
0
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-12T21:30:41+08:00","updated_at":"2026-04-12T21:30:41+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":13577,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/13577","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/13577","display_title":"feat: 更新项目配置和脚本","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":13500,"head_sha":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-12T23:19:40+08:00","completed_at":"2026-04-12T23:20:25+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
3
|
26
|
1776007276
|
1776007334
|
0
|
1776007225
|
1776007335
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
13599
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13522
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007288
|
1776007288
|
0
|
1776007250
|
1776007288
|
|
|
0
|
Edit
Delete
|
|
13600
|
feat: 更新项目配置和脚本
|
6
|
5
|
test-report.yml
|
13523
|
5
|
0
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-12T21:30:41+08:00","updated_at":"2026-04-12T21:30:41+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":13576,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/13576","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/13576","display_title":"feat: 更新项目配置和脚本","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":13499,"head_sha":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-12T21:41:34+08:00","completed_at":"2026-04-12T23:19:39+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
2
|
14
|
1776007290
|
1776007293
|
0
|
1776007270
|
1776007330
|
|
|
0
|
Edit
Delete
|
|
13601
|
feat: 更新项目配置和脚本
|
6
|
5
|
deploy.yml
|
13524
|
5
|
0
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-12T21:30:41+08:00","updated_at":"2026-04-12T21:30:41+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":13577,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/13577","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/13577","display_title":"feat: 更新项目配置和脚本","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":13500,"head_sha":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-12T23:19:40+08:00","completed_at":"2026-04-12T23:20:25+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
3
|
12
|
0
|
1776007337
|
0
|
1776007335
|
1776007339
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
13602
|
feat: 更新项目配置和脚本
|
6
|
5
|
deploy.yml
|
13525
|
5
|
0
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-12T21:30:41+08:00","updated_at":"2026-04-12T21:30:41+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":13577,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/13577","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/13577","display_title":"feat: 更新项目配置和脚本","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":13500,"head_sha":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","head_branch":"main","status":"completed","actor":{"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"},"trigger_actor":{"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"},"repository":{"id":6,"owner":{"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"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-12T23:19:40+08:00","completed_at":"2026-04-12T23:20:25+08:00"},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5211826,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-12T21:40:53+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":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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"}}...
|
workflow_run
|
1
|
40
|
1776007339
|
1776007361
|
0
|
1776007339
|
1776007361
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
13603
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13526
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007551
|
1776007552
|
0
|
1776007550
|
1776007552
|
|
|
0
|
Edit
Delete
|
|
13604
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13527
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776007851
|
1776007852
|
0
|
1776007850
|
1776007852
|
|
|
0
|
Edit
Delete
|
|
13605
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13528
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776008151
|
1776008152
|
0
|
1776008150
|
1776008152
|
|
|
0
|
Edit
Delete
|
|
13606
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13529
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776008451
|
1776008452
|
0
|
1776008450
|
1776008452
|
|
|
0
|
Edit
Delete
|
|
13607
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13530
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776008751
|
1776008752
|
0
|
1776008750
|
1776008752
|
|
|
0
|
Edit
Delete
|
|
13608
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13531
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776009051
|
1776009052
|
0
|
1776009050
|
1776009052
|
|
|
0
|
Edit
Delete
|
|
13609
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13532
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776009351
|
1776009352
|
0
|
1776009350
|
1776009352
|
|
|
0
|
Edit
Delete
|
|
13610
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13533
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776009652
|
1776009653
|
0
|
1776009650
|
1776009653
|
|
|
0
|
Edit
Delete
|
|
13611
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13534
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
2
|
4
|
1776009958
|
1776010790
|
0
|
1776009950
|
1776010790
|
|
|
0
|
Edit
Delete
|
|
13612
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13535
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776010251
|
1776010252
|
0
|
1776010250
|
1776010252
|
|
|
0
|
Edit
Delete
|
|
13613
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13536
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776010551
|
1776010551
|
0
|
1776010550
|
1776010551
|
|
|
0
|
Edit
Delete
|
|
13614
|
feat: 更新项目配置和脚本
|
6
|
5
|
health-check.yml
|
13537
|
-2
|
262
|
refs/heads/main
|
2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","after":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","commits":[{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},{"id":"83f8b781d7305c9badf23edd7d8523a626a5a18c","message":"Improve governance guidance and audit coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83f8b781d7305c9badf23edd7d8523a626a5a18c","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T12:31:56+08:00","added":["backend/scripts/generate-phantom-modules.ts","backend/src/modules/abm-marketing/abm-marketing.controller.ts","backend/src/modules/abm-marketing/abm-marketing.docs.ts","backend/src/modules/abm-marketing/abm-marketing.routes.ts","backend/src/modules/abm-marketing/abm-marketing.schema.ts","backend/src/modules/abm-marketing/abm-marketing.service.ts","backend/src/modules/ad-analytics/ad-analytics.controller.ts","backend/src/modules/ad-analytics/ad-analytics.docs.ts","backend/src/modules/ad-analytics/ad-analytics.routes.ts","backend/src/modules/ad-analytics/ad-analytics.schema.ts","backend/src/modules/ad-analytics/ad-analytics.service.ts","backend/src/modules/attribution-models/attribution-models.controller.ts","backend/src/modules/attribution-models/attribution-models.docs.ts","backend/src/modules/attribution-models/attribution-models.routes.ts","backend/src/modules/attribution-models/attribution-models.schema.ts","backend/src/modules/attribution-models/attribution-models.service.ts","backend/src/modules/attribution-reports/attribution-reports.controller.ts","backend/src/modules/attribution-reports/attribution-reports.docs.ts","backend/src/modules/attribution-reports/attribution-reports.routes.ts","backend/src/modules/attribution-reports/attribution-reports.schema.ts","backend/src/modules/attribution-reports/attribution-reports.service.ts","backend/src/modules/channel-integrations/channel-integrations.controller.ts","backend/src/modules/channel-integrations/channel-integrations.docs.ts","backend/src/modules/channel-integrations/channel-integrations.routes.ts","backend/src/modules/channel-integrations/channel-integrations.schema.ts","backend/src/modules/channel-integrations/channel-integrations.service.ts","backend/src/modules/customer-segmentation/customer-segmentation.controller.ts","backend/src/modules/customer-segmentation/customer-segmentation.docs.ts","backend/src/modules/customer-segmentation/customer-segmentation.routes.ts","backend/src/modules/customer-segmentation/customer-segmentation.schema.ts","backend/src/modules/customer-segmentation/customer-segmentation.service.ts","backend/src/modules/lead-assignment/lead-assignment.controller.ts","backend/src/modules/lead-assignment/lead-assignment.docs.ts","backend/src/modules/lead-assignment/lead-assignment.routes.ts","backend/src/modules/lead-assignment/lead-assignment.schema.ts","backend/src/modules/lead-assignment/lead-assignment.service.ts","backend/src/modules/lead-scoring/lead-scoring.controller.ts","backend/src/modules/lead-scoring/lead-scoring.docs.ts","backend/src/modules/lead-scoring/lead-scoring.routes.ts","backend/src/modules/lead-scoring/lead-scoring.schema.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/local-events/local-events.controller.ts","backend/src/modules/local-events/local-events.docs.ts","backend/src/modules/local-events/local-events.routes.ts","backend/src/modules/local-events/local-events.schema.ts","backend/src/modules/local-events/local-events.service.ts","backend/src/modules/local-promotion/local-promotion.controller.ts","backend/src/modules/local-promotion/local-promotion.docs.ts","backend/src/modules/local-promotion/local-promotion.routes.ts","backend/src/modules/local-promotion/local-promotion.schema.ts","backend/src/modules/local-promotion/local-promotion.service.ts","backend/src/modules/member-benefits/member-benefits.controller.ts","backend/src/modules/member-benefits/member-benefits.docs.ts","backend/src/modules/member-benefits/member-benefits.routes.ts","backend/src/modules/member-benefits/member-benefits.schema.ts","backend/src/modules/member-benefits/member-benefits.service.ts","backend/src/modules/member-levels/member-levels.controller.ts","backend/src/modules/member-levels/member-levels.docs.ts","backend/src/modules/member-levels/member-levels.routes.ts","backend/src/modules/member-levels/member-levels.schema.ts","backend/src/modules/member-levels/member-levels.service.ts","backend/src/modules/member-points/member-points.controller.ts","backend/src/modules/member-points/member-points.docs.ts","backend/src/modules/member-points/member-points.routes.ts","backend/src/modules/member-points/member-points.schema.ts","backend/src/modules/member-points/member-points.service.ts","backend/src/modules/members/members.controller.ts","backend/src/modules/members/members.docs.ts","backend/src/modules/members/members.routes.ts","backend/src/modules/members/members.schema.ts","backend/src/modules/members/members.service.ts","backend/src/modules/notification-configs/notification-configs.controller.ts","backend/src/modules/notification-configs/notification-configs.docs.ts","backend/src/modules/notification-configs/notification-configs.routes.ts","backend/src/modules/notification-configs/notification-configs.schema.ts","backend/src/modules/notification-configs/notification-configs.service.ts","backend/src/modules/product-categories/product-categories.controller.ts","backend/src/modules/product-categories/product-categories.docs.ts","backend/src/modules/product-categories/product-categories.routes.ts","backend/src/modules/product-categories/product-categories.schema.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/qr-codes/qr-codes.controller.ts","backend/src/modules/qr-codes/qr-codes.docs.ts","backend/src/modules/qr-codes/qr-codes.routes.ts","backend/src/modules/qr-codes/qr-codes.schema.ts","backend/src/modules/qr-codes/qr-codes.service.ts","backend/src/modules/social-matrix/social-matrix.controller.ts","backend/src/modules/social-matrix/social-matrix.docs.ts","backend/src/modules/social-matrix/social-matrix.routes.ts","backend/src/modules/social-matrix/social-matrix.schema.ts","backend/src/modules/social-matrix/social-matrix.service.ts","backend/src/modules/store-configs/store-configs.controller.ts","backend/src/modules/store-configs/store-configs.docs.ts","backend/src/modules/store-configs/store-configs.routes.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/store-configs/store-configs.service.ts","backend/src/modules/supplier-center/supplier-center.controller.ts","backend/src/modules/supplier-center/supplier-center.docs.ts","backend/src/modules/supplier-center/supplier-center.routes.ts","backend/src/modules/supplier-center/supplier-center.schema.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/utm-tracking/utm-tracking.controller.ts","backend/src/modules/utm-tracking/utm-tracking.docs.ts","backend/src/modules/utm-tracking/utm-tracking.routes.ts","backend/src/modules/utm-tracking/utm-tracking.schema.ts","backend/src/modules/utm-tracking/utm-tracking.service.ts","backend/src/modules/video-analytics/video-analytics.controller.ts","backend/src/modules/video-analytics/video-analytics.docs.ts","backend/src/modules/video-analytics/video-analytics.routes.ts","backend/src/modules/video-analytics/video-analytics.schema.ts","backend/src/modules/video-analytics/video-analytics.service.ts","backend/src/modules/video-content/video-content.controller.ts","backend/src/modules/video-content/video-content.docs.ts","backend/src/modules/video-content/video-content.routes.ts","backend/src/modules/video-content/video-content.schema.ts","backend/src/modules/video-content/video-content.service.ts","backend/src/modules/video-publishing/video-publishing.controller.ts","backend/src/modules/video-publishing/video-publishing.docs.ts","backend/src/modules/video-publishing/video-publishing.routes.ts","backend/src/modules/video-publishing/video-publishing.schema.ts","backend/src/modules/video-publishing/video-publishing.service.ts","backend/src/modules/workflow-designer/workflow-designer.controller.ts","backend/src/modules/workflow-designer/workflow-designer.docs.ts","backend/src/modules/workflow-designer/workflow-designer.routes.ts","backend/src/modules/workflow-designer/workflow-designer.schema.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts"],"removed":[],"modified":["backend/prisma/schema/customers.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/system.prisma","backend/prisma/schema/workflow.prisma","backend/src/modules/groupbuy-pricing/groupbuy-pricing.service.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/sample-requests/sample-request.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/routes/register-domain-routes.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh","scripts/harness/module-manifests.json","scripts/healthcheck.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/status.sh"]},{"id":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","message":"Refactor governance baselines and remove obsolete module code\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T17:16:05+08:00","added":["e2e/helpers/create-catalog.ts","e2e/playwright-report/data/1c59ef9c594dee5d50479214a3d23db8b2206c59.png","e2e/playwright-report/data/80392828a7bc35bcb324bde0306238e4448f4c7f.md","e2e/test-results/.last-run.json","e2e/test-results/create-verify-all-report.json","e2e/tests/create-forms/create-verify-all.spec.ts","shared/create-route-catalog.ts"],"removed":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json"],"modified":["backend/src/modules/rma/rma.service.ts","e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/router/__tests__/create-route-catalog.test.ts","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","message":"Harden create form coverage and fix broken create flows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b6a3f7493a79f95a2db09aff9c57350ae135c1b","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T13:18:09+08:00","added":["e2e/playwright-report/data/25cbc99c63faba33dad311c373b5dc24591abec3.png","e2e/playwright-report/data/b8fdc6a93eb8f0836725688053076f4ff601006f.md","e2e/test-results/create-ui-all-report.json","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","frontend/src/router/__tests__/create-route-catalog.test.ts"],"removed":[],"modified":["e2e/.auth/admin.json","e2e/package.json","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/approval-templates.ts","frontend/src/views/ad-creatives/Form.vue","frontend/src/views/ad-reports/Form.vue","frontend/src/views/ai-agents/skill-library/Form.vue","frontend/src/views/alliance-campaigns/Form.vue","frontend/src/views/alliance-coupons/Form.vue","frontend/src/views/alliance-packages/Form.vue","frontend/src/views/alliance-products/Form.vue","frontend/src/views/alliance-referrals/Form.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/assets/Form.vue"]},{"id":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","message":"Harden harness reporting and add regression tests\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e224c0ecaa34df97ef5acd412d614a7362bfa6c3","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-11T08:45:25+08:00","added":["e2e/tests/create-forms/create-ui-all.spec.ts","scripts/harness/finding-id.ts","scripts/harness/report.test.ts"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/create-all-report.json"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-payloads.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-all.spec.ts","package.json","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/harness/cli.ts","scripts/harness/doctor.ts","scripts/harness/fix.ts","scripts/harness/orchestrator.ts","scripts/harness/reflect.ts","scripts/harness/report.ts","scripts/harness/types.ts"]}],"total_commits":0,"head_commit":{"id":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-12T21:30:41+08:00","added":[],"removed":[],"modified":["backend/Dockerfile","docker-compose.prod.yml","docker-compose.yml","e2e/.auth/admin.json","e2e/test-results/create-verify-all-report.json","frontend/Dockerfile","frontend/package.json","frontend/vite.config.ts","scripts/post-deploy-verify.sh","scripts/restart-dev.sh","scripts/start-all.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5204609,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T10:01:27+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":false,"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"}}...
|
schedule
|
4
|
4
|
1776010851
|
1776010851
|
0
|
1776010850
|
1776010851
|
|
|
0
|
Edit
Delete
|
|
9674
|
Align order states and preload image docs guidance
|
6
|
5
|
e2e-tests.yml
|
9598
|
5
|
0
|
refs/heads/main
|
2cf3567367105da23ab10795975e05379e764f31
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1b7720d8bdc8f3778e6ad14715be746db29627af","after":"2cf3567367105da23ab10795975e05379e764f31","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1b7720d8bdc8f3778e6ad14715be746db29627af...2cf3567367105da23ab10795975e05379e764f31","commits":[{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904526,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","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-02-23T23:57:52+08:00","updated_at":"2026-03-30T17:19:41+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":false,"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"}}...
|
push
|
2
|
20
|
1774865782
|
1774867450
|
0
|
1774865781
|
1774867725
|
|
|
0
|
Edit
Delete
|
|
9675
|
Align order states and preload image docs guidance
|
6
|
5
|
test-pipeline.yml
|
9599
|
5
|
0
|
refs/heads/main
|
2cf3567367105da23ab10795975e05379e764f31
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1b7720d8bdc8f3778e6ad14715be746db29627af","after":"2cf3567367105da23ab10795975e05379e764f31","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1b7720d8bdc8f3778e6ad14715be746db29627af...2cf3567367105da23ab10795975e05379e764f31","commits":[{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904526,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","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-02-23T23:57:52+08:00","updated_at":"2026-03-30T17:19:41+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":false,"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"}}...
|
push
|
3
|
26
|
1774867450
|
1774867689
|
0
|
1774865781
|
1774867691
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/heads/main
|
1
|
Edit
Delete
|
|
9676
|
Align order states and preload image docs guidance
|
6
|
5
|
health-check.yml
|
9600
|
-2
|
217
|
refs/heads/main
|
2cf3567367105da23ab10795975e05379e764f31
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1b7720d8bdc8f3778e6ad14715be746db29627af","after":"2cf3567367105da23ab10795975e05379e764f31","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1b7720d8bdc8f3778e6ad14715be746db29627af...2cf3567367105da23ab10795975e05379e764f31","commits":[{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904526,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","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-02-23T23:57:52+08:00","updated_at":"2026-03-30T17:19:41+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":false,"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"}}...
|
schedule
|
4
|
4
|
1774867710
|
1774867710
|
0
|
1774866018
|
1774867710
|
|
|
0
|
Edit
Delete
|
|
9677
|
Align order states and preload image docs guidance
|
6
|
5
|
health-check.yml
|
9601
|
-2
|
217
|
refs/heads/main
|
2cf3567367105da23ab10795975e05379e764f31
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1b7720d8bdc8f3778e6ad14715be746db29627af","after":"2cf3567367105da23ab10795975e05379e764f31","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1b7720d8bdc8f3778e6ad14715be746db29627af...2cf3567367105da23ab10795975e05379e764f31","commits":[{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904526,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","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-02-23T23:57:52+08:00","updated_at":"2026-03-30T17:19:41+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":false,"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"}}...
|
schedule
|
4
|
4
|
1774867712
|
1774867712
|
0
|
1774866318
|
1774867712
|
|
|
0
|
Edit
Delete
|
|
9678
|
Align order states and preload image docs guidance
|
6
|
5
|
health-check.yml
|
9602
|
-2
|
217
|
refs/heads/main
|
2cf3567367105da23ab10795975e05379e764f31
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1b7720d8bdc8f3778e6ad14715be746db29627af","after":"2cf3567367105da23ab10795975e05379e764f31","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1b7720d8bdc8f3778e6ad14715be746db29627af...2cf3567367105da23ab10795975e05379e764f31","commits":[{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"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":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904526,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","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-02-23T23:57:52+08:00","updated_at":"2026-03-30T17:19:41+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":false,"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"}}...
|
schedule
|
4
|
4
|
1774867714
|
1774867714
|
0
|
1774866618
|
1774867714
|
|
|
0
|
Edit
Delete
|