|
1086
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1047
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772164510
|
1772164511
|
0
|
1772164510
|
1772164511
|
NULL
|
|
0
|
Edit
Delete
|
|
1087
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1048
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772164810
|
1772164811
|
0
|
1772164810
|
1772164811
|
NULL
|
|
0
|
Edit
Delete
|
|
1088
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1049
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772165110
|
1772165111
|
0
|
1772165110
|
1772165111
|
NULL
|
|
0
|
Edit
Delete
|
|
1089
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1050
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772165410
|
1772165411
|
0
|
1772165410
|
1772165411
|
NULL
|
|
0
|
Edit
Delete
|
|
1090
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1051
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772165710
|
1772165711
|
0
|
1772165710
|
1772165711
|
NULL
|
|
0
|
Edit
Delete
|
|
1091
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1052
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772166010
|
1772166011
|
0
|
1772166010
|
1772166011
|
NULL
|
|
0
|
Edit
Delete
|
|
1092
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1053
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772166310
|
1772166311
|
0
|
1772166310
|
1772166311
|
NULL
|
|
0
|
Edit
Delete
|
|
1093
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1054
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772166610
|
1772166611
|
0
|
1772166610
|
1772166611
|
NULL
|
|
0
|
Edit
Delete
|
|
1094
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1055
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772166910
|
1772166911
|
0
|
1772166910
|
1772166911
|
NULL
|
|
0
|
Edit
Delete
|
|
1095
|
fix(ai-agent): handle rejected promise on messageb fix(ai-agent): handle rejected promise on messagebox and value for radio button...
|
6
|
5
|
health-check.yml
|
1056
|
-2
|
40
|
refs/heads/main
|
f484e8b33e9c317c16aa0794fea29ecd968246e1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"68528dce9b8c543283a675374b5a23bc2e46c935","after":"f484e8b33e9c317c16aa0794fea29ecd968246e1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/68528dce9b8c543283a675374b5a23bc2e46c935...f484e8b33e9c317c16aa0794fea29ecd968246e1","commits":[{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.vue"]}],"total_commits":0,"head_commit":{"id":"f484e8b33e9c317c16aa0794fea29ecd968246e1","message":"fix(ai-agent): handle rejected promise on messagebox and value for radio button\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f484e8b33e9c317c16aa0794fea29ecd968246e1","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T09:32:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/finance/reconciliation.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/system-events/system-event.service.ts","backend/src/shared/services/base.service.ts","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/channels/Detail.vue","frontend/src/views/community-tasks/Detail.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/groupbuy-reviews/Detail.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/avatars/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":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":481059,"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,"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-02-27T09:30:10+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":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,"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","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/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
|
1
|
3
|
1772167210
|
1772167211
|
0
|
1772167210
|
1772167211
|
NULL
|
|
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
|