|
9566
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
test-pipeline.yml
|
9490
|
5
|
0
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774844600
|
1774844927
|
0
|
1774844139
|
1774845152
|
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
|
|
9567
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9491
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774844929
|
1774844929
|
0
|
1774844418
|
1774844929
|
|
|
0
|
Edit
Delete
|
|
9569
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9493
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774844937
|
1774844938
|
0
|
1774844718
|
1774844938
|
|
|
0
|
Edit
Delete
|
|
9572
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9496
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774845149
|
1774845149
|
0
|
1774845018
|
1774845149
|
|
|
0
|
Edit
Delete
|
|
9575
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9499
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774845318
|
1774845318
|
0
|
1774845318
|
1774845318
|
|
|
0
|
Edit
Delete
|
|
9576
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9500
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774845618
|
1774845618
|
0
|
1774845618
|
1774845618
|
|
|
0
|
Edit
Delete
|
|
9577
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9501
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774845918
|
1774845918
|
0
|
1774845918
|
1774845918
|
|
|
0
|
Edit
Delete
|
|
9578
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9502
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774846218
|
1774846218
|
0
|
1774846218
|
1774846218
|
|
|
0
|
Edit
Delete
|
|
9579
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9503
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774846518
|
1774846518
|
0
|
1774846518
|
1774846518
|
|
|
0
|
Edit
Delete
|
|
9580
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9504
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774846818
|
1774846818
|
0
|
1774846818
|
1774846818
|
|
|
0
|
Edit
Delete
|
|
9581
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9505
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774847118
|
1774847118
|
0
|
1774847118
|
1774847118
|
|
|
0
|
Edit
Delete
|
|
9582
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9506
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774847418
|
1774847418
|
0
|
1774847418
|
1774847418
|
|
|
0
|
Edit
Delete
|
|
9583
|
Sync governance docs with tenantCode login and vie Sync governance docs with tenantCode login and view snapshot...
|
6
|
5
|
health-check.yml
|
9507
|
-2
|
199
|
refs/heads/main
|
3ccdb3e3d8a8734cc11324a89259df948523a812
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1e14b41edac86496d70ac83d1cb3292fa0513af3","after":"3ccdb3e3d8a8734cc11324a89259df948523a812","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","commits":[{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]}],"total_commits":0,"head_commit":{"id":"3ccdb3e3d8a8734cc11324a89259df948523a812","message":"Sync governance docs with tenantCode login and view snapshot\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3ccdb3e3d8a8734cc11324a89259df948523a812","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T11:57:56+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/tests/api/auth.test.ts","e2e/scripts/run-visible-write-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/ai-test-cases-permissions.spec.ts","e2e/tests/business-flows/quote-approval-flow.spec.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","scripts/acceptance/api_acceptance.mjs","scripts/e2e-health-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1903691,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T11:49:36+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
|
1774847718
|
1774847718
|
0
|
1774847718
|
1774847718
|
|
|
0
|
Edit
Delete
|
|
6987
|
Merge pull request '11111' (#21) from pc-2 Merge pull request '11111' (#21) from pc-260401 into main...
|
2
|
2
|
hello-world.yaml
|
55
|
1
|
0
|
refs/heads/main
|
7ea655b1af2dddb5922a00b33a039453979d0697
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89","after":"7ea655b1af2dddb5922a00b33a039453979d0697","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/1ef6ab81eeec77f3d60f54a3af5c9a6f46332a89...7ea655b1af2dddb5922a00b33a039453979d0697","commits":[{"id":"7ea655b1af2dddb5922a00b33a039453979d0697","message":"Merge pull request '11111' (#21) from pc-260401 into main\n\nReviewed-on: https://gitea.g-hi.com/juhai/testpc/pulls/21\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/7ea655b1af2dddb5922a00b33a039453979d0697","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-19T16:58:17+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},{"id":"b678da8d00cf7b8be2141acd5482811386dc834c","message":"同步所有\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/b678da8d00cf7b8be2141acd5482811386dc834c","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:47:32+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},{"id":"62eaedf1e6d2116287bf82d324ff642f894551b9","message":"11111sss\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/62eaedf1e6d2116287bf82d324ff642f894551b9","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T19:33:44+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},{"id":"767661cae2aa8a91e80754ebb66d9aad5943ca1a","message":"11111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/767661cae2aa8a91e80754ebb66d9aad5943ca1a","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T16:34:38+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},{"id":"81010fc873c5b5fe0d871fdccb321c9f9015e9ae","message":"11111\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/81010fc873c5b5fe0d871fdccb321c9f9015e9ae","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T15:17:38+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]}],"total_commits":0,"head_commit":{"id":"7ea655b1af2dddb5922a00b33a039453979d0697","message":"Merge pull request '11111' (#21) from pc-260401 into main\n\nReviewed-on: https://gitea.g-hi.com/juhai/testpc/pulls/21\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/7ea655b1af2dddb5922a00b33a039453979d0697","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-19T16:58:17+08:00","added":[],"removed":[],"modified":["pc/alilog.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":17876,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":20,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T20:06:20+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"1+zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"1+zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"}}...
|
push
|
2
|
4
|
1773910701
|
1773910704
|
0
|
1773910700
|
1773910704
|
|
|
0
|
Edit
Delete
|
|
1349
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
ci.yml
|
1302
|
5
|
0
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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"}}...
|
push
|
2
|
24
|
1772240166
|
1772240195
|
0
|
1772240164
|
1772240195
|
NULL
|
|
0
|
Edit
Delete
|
|
1350
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1303
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772240412
|
1772240413
|
0
|
1772240412
|
1772240413
|
NULL
|
|
0
|
Edit
Delete
|
|
1351
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1304
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772240712
|
1772240713
|
0
|
1772240712
|
1772240713
|
NULL
|
|
0
|
Edit
Delete
|
|
1352
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1305
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772241012
|
1772241013
|
0
|
1772241012
|
1772241013
|
NULL
|
|
0
|
Edit
Delete
|
|
1353
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1306
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772241312
|
1772241313
|
0
|
1772241312
|
1772241313
|
NULL
|
|
0
|
Edit
Delete
|
|
1354
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1307
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772241612
|
1772241613
|
0
|
1772241612
|
1772241613
|
NULL
|
|
0
|
Edit
Delete
|
|
1355
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1308
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772241912
|
1772241913
|
0
|
1772241912
|
1772241913
|
NULL
|
|
0
|
Edit
Delete
|
|
1356
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1309
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772242212
|
1772242213
|
0
|
1772242212
|
1772242213
|
NULL
|
|
0
|
Edit
Delete
|
|
1357
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1310
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772242512
|
1772242513
|
0
|
1772242512
|
1772242513
|
NULL
|
|
0
|
Edit
Delete
|
|
1358
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1311
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772242812
|
1772242813
|
0
|
1772242812
|
1772242813
|
NULL
|
|
0
|
Edit
Delete
|
|
1359
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1312
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772243112
|
1772243113
|
0
|
1772243112
|
1772243113
|
NULL
|
|
0
|
Edit
Delete
|
|
1360
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1313
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772243412
|
1772243413
|
0
|
1772243412
|
1772243413
|
NULL
|
|
0
|
Edit
Delete
|
|
1361
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1314
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772243712
|
1772243713
|
0
|
1772243712
|
1772243713
|
NULL
|
|
0
|
Edit
Delete
|
|
1362
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1315
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772244012
|
1772244013
|
0
|
1772244012
|
1772244013
|
NULL
|
|
0
|
Edit
Delete
|
|
1363
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1316
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772244312
|
1772244313
|
0
|
1772244312
|
1772244313
|
NULL
|
|
0
|
Edit
Delete
|
|
1364
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1317
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772244612
|
1772244613
|
0
|
1772244612
|
1772244613
|
NULL
|
|
0
|
Edit
Delete
|
|
1365
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1318
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772244912
|
1772244913
|
0
|
1772244912
|
1772244913
|
NULL
|
|
0
|
Edit
Delete
|
|
1366
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1319
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772245212
|
1772245213
|
0
|
1772245212
|
1772245213
|
NULL
|
|
0
|
Edit
Delete
|
|
1367
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1320
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772245512
|
1772245513
|
0
|
1772245512
|
1772245513
|
NULL
|
|
0
|
Edit
Delete
|
|
1368
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1321
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772245812
|
1772245813
|
0
|
1772245812
|
1772245813
|
NULL
|
|
0
|
Edit
Delete
|
|
1369
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1322
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772246112
|
1772246113
|
0
|
1772246112
|
1772246113
|
NULL
|
|
0
|
Edit
Delete
|
|
1370
|
fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误
|
6
|
5
|
health-check.yml
|
1323
|
-2
|
43
|
refs/heads/main
|
79d594dd776b47b40e6329ed3f6cf53c2b18251f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2186d56d658fcaab3ff5ca5880742254dc8c4545","after":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2186d56d658fcaab3ff5ca5880742254dc8c4545...79d594dd776b47b40e6329ed3f6cf53c2b18251f","commits":[{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]}],"total_commits":0,"head_commit":{"id":"79d594dd776b47b40e6329ed3f6cf53c2b18251f","message":"fix(migrations): 修复7个迁移文件确保 shadow DB 全量回放零错误\n\n修复内容:\n1. 20260125000001_enable_pgvector_and_agent_groups\n - 移除重复/冲突的索引定义,消除 shadow DB 回放时的语法冲突\n\n2. 20260126000000_sync_indexes_and_constraints\n - 对索引创建语句进行幂等性保护(IF NOT EXISTS)\n - 修复约束名称冲突问题\n\n3. 20260126000001_add_foreign_keys\n - 将外键添加操作包裹在 DO 块内\n - 检查列是否存在(如 parent_task_id)再添加外键,防止\"列不存在\"错误\n\n4. 20260214000002_expand_serial_number_sn_code_length\n - 先 DROP 依赖视图 v_entitlements_expiring\n - 执行 ALTER COLUMN sn_code TYPE VARCHAR(100)\n - 重建视图,解决\"列被视图使用不能修改类型\"错误\n\n5. 20260215000003_migrate_bank_accounts_from_json\n - 将迁移逻辑包裹在 DO 块内\n - 检查 config_key 列是否存在后再执行,兼容 baseline 和 live DB 的列名差异\n\n6. 20260219000000_add_agent_audit_tables\n - 在 CREATE TABLE agent_audit_logs 前添加条件 DROP\n - 检查旧表标记列 action_type 存在时 DROP CASCADE,解决旧表无 status 列的问题\n\n7. 20260223000000_add_performance_indexes\n - 将 idx_groupbuy_campaign_products_tenant_id_status 索引创建\n 包裹在 DO 块内,检查 status 列存在后再创建\n - groupbuy_campaign_products 建表时未含 status 列,条件跳过\n\n验证:migrate deploy 在空数据库全量回放成功,\"All migrations have been successfully applied.\"\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/79d594dd776b47b40e6329ed3f6cf53c2b18251f","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-28T08:55:53+08:00","added":[],"removed":[],"modified":["backend/prisma/migrations/20260125000001_enable_pgvector_and_agent_groups/migration.sql","backend/prisma/migrations/20260126000000_sync_indexes_and_constraints/migration.sql","backend/prisma/migrations/20260126000001_add_foreign_keys/migration.sql","backend/prisma/migrations/20260214000002_expand_serial_number_sn_code_length/migration.sql","backend/prisma/migrations/20260215000003_migrate_bank_accounts_from_json/migration.sql","backend/prisma/migrations/20260219000000_add_agent_audit_tables/migration.sql","backend/prisma/migrations/20260223000000_add_performance_indexes/migration.sql"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":481311,"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-28T08:55:14+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
|
1772246412
|
1772246413
|
0
|
1772246412
|
1772246413
|
NULL
|
|
0
|
Edit
Delete
|
|
21
|
test11188889
|
2
|
2
|
hello-world.yaml
|
20
|
1
|
0
|
refs/heads/main
|
ac9571bc40f603c832247b982b1f4181e6a3e297
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"22ffb09cf279f85db485e386b24c7d3a1cdda4e6","after":"ac9571bc40f603c832247b982b1f4181e6a3e297","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/22ffb09cf279f85db485e386b24c7d3a1cdda4e6...ac9571bc40f603c832247b982b1f4181e6a3e297","commits":[{"id":"ac9571bc40f603c832247b982b1f4181e6a3e297","message":"test11188889\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/ac9571bc40f603c832247b982b1f4181e6a3e297","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T14:39:37+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]}],"total_commits":0,"head_commit":{"id":"ac9571bc40f603c832247b982b1f4181e6a3e297","message":"test11188889\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/ac9571bc40f603c832247b982b1f4181e6a3e297","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T14:39:37+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17726,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T14:39:21+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"}}...
|
push
|
2
|
3
|
1770878387
|
1770878407
|
0
|
1770878387
|
1770878407
|
NULL
|
|
0
|
Edit
Delete
|
|
6324
|
修改测试调用不存在的model
|
2
|
2
|
hello-world.yaml
|
45
|
1
|
0
|
refs/heads/main
|
82563bcddd8d32587bc08757c8fdba4bb728fdbe
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"252852cf322c50ffd2a193223a08e9e4b567bf78","after":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/252852cf322c50ffd2a193223a08e9e4b567bf78...82563bcddd8d32587bc08757c8fdba4bb728fdbe","commits":[{"id":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/82563bcddd8d32587bc08757c8fdba4bb728fdbe","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T13:06:35+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},{"id":"8af6ec06b4c2ac909aacc0291583cee3db2e235d","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/8af6ec06b4c2ac909aacc0291583cee3db2e235d","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T13:04:18+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},{"id":"22b2df01d02fbe472599226ffcd14ff8b3b10460","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/22b2df01d02fbe472599226ffcd14ff8b3b10460","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T11:27:00+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]}],"total_commits":0,"head_commit":{"id":"82563bcddd8d32587bc08757c8fdba4bb728fdbe","message":"修改测试调用不存在的model\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/82563bcddd8d32587bc08757c8fdba4bb728fdbe","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T13:06:35+08:00","added":[],"removed":[],"modified":["pc/application/controllers/Bill.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17808,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":10,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-17T11:13:49+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773724005
|
1773724008
|
0
|
1773724005
|
1773724008
|
NULL
|
|
0
|
Edit
Delete
|
|
9
|
测试修改3333
|
2
|
2
|
hello-world.yaml
|
8
|
1
|
0
|
refs/heads/main
|
9ea10aada78365404579933ba4df771f312ad652
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"265f1b4a557b2a64464bc98e1e418e0e01298d31","after":"9ea10aada78365404579933ba4df771f312ad652","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/265f1b4a557b2a64464bc98e1e418e0e01298d31...9ea10aada78365404579933ba4df771f312ad652","commits":[{"id":"9ea10aada78365404579933ba4df771f312ad652","message":"测试修改3333\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/9ea10aada78365404579933ba4df771f312ad652","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-11T17:16:15+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]}],"total_commits":0,"head_commit":{"id":"9ea10aada78365404579933ba4df771f312ad652","message":"测试修改3333\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/9ea10aada78365404579933ba4df771f312ad652","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-11T17:16:15+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17706,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-11T17:05:40+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"}}...
|
push
|
2
|
3
|
1770801383
|
1770801388
|
0
|
1770801383
|
1770801388
|
NULL
|
|
0
|
Edit
Delete
|
|
6430
|
sync: 同步治理文档与获客/内容/增长中心治理回放产物
|
6
|
5
|
ci.yml
|
6358
|
5
|
0
|
refs/heads/main
|
8a1f5fc17b0e1692e9da7c94fc0fd769eff89926
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2732364ba177bf3cf8029788b582f34689d5d9a9","after":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2732364ba177bf3cf8029788b582f34689d5d9a9...8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","commits":[{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]}],"total_commits":0,"head_commit":{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1839621,"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-03-17T20:35:34+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"}}...
|
push
|
2
|
24
|
1773751025
|
1773751151
|
0
|
1773751025
|
1773751151
|
NULL
|
|
0
|
Edit
Delete
|
|
6431
|
sync: 同步治理文档与获客/内容/增长中心治理回放产物
|
6
|
5
|
health-check.yml
|
6359
|
-2
|
64
|
refs/heads/main
|
8a1f5fc17b0e1692e9da7c94fc0fd769eff89926
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2732364ba177bf3cf8029788b582f34689d5d9a9","after":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2732364ba177bf3cf8029788b582f34689d5d9a9...8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","commits":[{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]}],"total_commits":0,"head_commit":{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1839621,"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-03-17T20:35:34+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
|
1773751233
|
1773751233
|
0
|
1773751232
|
1773751233
|
NULL
|
|
0
|
Edit
Delete
|
|
6432
|
sync: 同步治理文档与获客/内容/增长中心治理回放产物
|
6
|
5
|
health-check.yml
|
6360
|
-2
|
64
|
refs/heads/main
|
8a1f5fc17b0e1692e9da7c94fc0fd769eff89926
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2732364ba177bf3cf8029788b582f34689d5d9a9","after":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2732364ba177bf3cf8029788b582f34689d5d9a9...8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","commits":[{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]}],"total_commits":0,"head_commit":{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1839621,"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-03-17T20:35:34+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
|
1773751533
|
1773751533
|
0
|
1773751532
|
1773751533
|
NULL
|
|
0
|
Edit
Delete
|
|
6433
|
sync: 同步治理文档与获客/内容/增长中心治理回放产物
|
6
|
5
|
health-check.yml
|
6361
|
-2
|
64
|
refs/heads/main
|
8a1f5fc17b0e1692e9da7c94fc0fd769eff89926
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2732364ba177bf3cf8029788b582f34689d5d9a9","after":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2732364ba177bf3cf8029788b582f34689d5d9a9...8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","commits":[{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]}],"total_commits":0,"head_commit":{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1839621,"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-03-17T20:35:34+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
|
1773751833
|
1773751833
|
0
|
1773751832
|
1773751833
|
NULL
|
|
0
|
Edit
Delete
|
|
6434
|
sync: 同步治理文档与获客/内容/增长中心治理回放产物
|
6
|
5
|
health-check.yml
|
6362
|
-2
|
64
|
refs/heads/main
|
8a1f5fc17b0e1692e9da7c94fc0fd769eff89926
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2732364ba177bf3cf8029788b582f34689d5d9a9","after":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2732364ba177bf3cf8029788b582f34689d5d9a9...8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","commits":[{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]}],"total_commits":0,"head_commit":{"id":"8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","message":"sync: 同步治理文档与获客/内容/增长中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 后端修复 content-distribution 模块(controller/routes/schema)\n- 前端修复 community-messages API 模块\n- 新增获客中心治理回放产物 (acquisition-governance-v1~v5)\n - 覆盖归因/渠道/线索/二维码/UTM 等 probes\n- 新增内容中心治理回放产物:\n - content-social-content-v1~v4: 社交内容/内容库\n - content-templates-v1~v2: 内容模板\n- 新增增长中心治理回放产物:\n - growth-community-messages-v1: 社区消息\n - growth-governance-tail-v1~v6: 社区等级/营销工具/细分\n - growth-groupbuy-pricing-v1: 团购定价\n - growth-segments-v1~v2: 用户细分\n- 更新可见菜单写动作配置 (module-catalog.overrides.ts)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a1f5fc17b0e1692e9da7c94fc0fd769eff89926","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:36:51+08:00","added":["e2e/output/playwright/acquisition-governance-v1/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v1/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v1/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-1773750248508.json","e2e/output/playwright/acquisition-governance-v1/probes/-attribution-models-1773750244916.json","e2e/output/playwright/acquisition-governance-v1/probes/-channel-integrations-1773750228269.json","e2e/output/playwright/acquisition-governance-v1/probes/-channels-1773750225676.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-pools-1773750223182.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-qualification-1773750218697.json","e2e/output/playwright/acquisition-governance-v1/probes/-lead-scoring-1773750220904.json","e2e/output/playwright/acquisition-governance-v1/probes/-leads-1773750216441.json","e2e/output/playwright/acquisition-governance-v1/probes/-qr-codes-1773750229812.json","e2e/output/playwright/acquisition-governance-v1/probes/-utm-tracking-1773750231196.json","e2e/output/playwright/acquisition-governance-v1/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v2/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v2/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v2/probes/-channel-integrations-1773750273145.json","e2e/output/playwright/acquisition-governance-v2/probes/-channels-1773750270510.json","e2e/output/playwright/acquisition-governance-v2/probes/-lead-pools-1773750268034.json","e2e/output/playwright/acquisition-governance-v2/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v3/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v3/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v3/probes/-channel-integrations-1773750292253.json","e2e/output/playwright/acquisition-governance-v3/probes/-channels-1773750289713.json","e2e/output/playwright/acquisition-governance-v3/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v4/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v4/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v4/probes/-qr-codes-1773750355274.json","e2e/output/playwright/acquisition-governance-v4/probes/-utm-tracking-1773750356685.json","e2e/output/playwright/acquisition-governance-v4/visible-menu-snapshot.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.json","e2e/output/playwright/acquisition-governance-v5/action-coverage-report.md","e2e/output/playwright/acquisition-governance-v5/blocked-unmapped-pages.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-1773750386093.json","e2e/output/playwright/acquisition-governance-v5/probes/-attribution-models-1773750382566.json","e2e/output/playwright/acquisition-governance-v5/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v1/action-coverage-report.json","e2e/output/playwright/content-social-content-v1/probes/-content-library-1773750524004.json","e2e/output/playwright/content-social-content-v1/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v2/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.json","e2e/output/playwright/content-social-content-v3/action-coverage-report.md","e2e/output/playwright/content-social-content-v3/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v3/failure-1.html","e2e/output/playwright/content-social-content-v3/failure-1.png","e2e/output/playwright/content-social-content-v3/failure-2.html","e2e/output/playwright/content-social-content-v3/failure-2.png","e2e/output/playwright/content-social-content-v3/failure-3.html","e2e/output/playwright/content-social-content-v3/failure-3.png","e2e/output/playwright/content-social-content-v3/visible-menu-snapshot.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.json","e2e/output/playwright/content-social-content-v4/action-coverage-report.md","e2e/output/playwright/content-social-content-v4/blocked-unmapped-pages.json","e2e/output/playwright/content-social-content-v4/failure-1.html","e2e/output/playwright/content-social-content-v4/failure-1.png","e2e/output/playwright/content-social-content-v4/failure-2.html","e2e/output/playwright/content-social-content-v4/failure-2.png","e2e/output/playwright/content-social-content-v4/probes/-content-creation-1773750936440.json","e2e/output/playwright/content-social-content-v4/probes/-content-distribution-1773750940988.json","e2e/output/playwright/content-social-content-v4/probes/-email-marketing-1773750939178.json","e2e/output/playwright/content-social-content-v4/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v1/visible-menu-snapshot.json","e2e/output/playwright/content-templates-v2/action-coverage-report.json","e2e/output/playwright/content-templates-v2/action-coverage-report.md","e2e/output/playwright/content-templates-v2/blocked-unmapped-pages.json","e2e/output/playwright/content-templates-v2/probes/-content-templates-1773750715239.json","e2e/output/playwright/content-templates-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.json","e2e/output/playwright/growth-community-messages-v1/action-coverage-report.md","e2e/output/playwright/growth-community-messages-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-community-messages-v1/probes/-community-messages-1773749886865.json","e2e/output/playwright/growth-community-messages-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v2/failure-1.html","e2e/output/playwright/growth-governance-tail-v2/failure-1.png","e2e/output/playwright/growth-governance-tail-v2/failure-2.html","e2e/output/playwright/growth-governance-tail-v2/failure-2.png","e2e/output/playwright/growth-governance-tail-v2/probes/-community-levels-1773749472298.json","e2e/output/playwright/growth-governance-tail-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v3/failure-1.html","e2e/output/playwright/growth-governance-tail-v3/failure-1.png","e2e/output/playwright/growth-governance-tail-v3/probes/-community-levels-1773749696995.json","e2e/output/playwright/growth-governance-tail-v3/probes/-marketing-tools-1773749700362.json","e2e/output/playwright/growth-governance-tail-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v4/failure-1.html","e2e/output/playwright/growth-governance-tail-v4/failure-1.png","e2e/output/playwright/growth-governance-tail-v4/probes/-community-levels-1773749913824.json","e2e/output/playwright/growth-governance-tail-v4/probes/-community-messages-1773749916334.json","e2e/output/playwright/growth-governance-tail-v4/probes/-marketing-tools-1773749918891.json","e2e/output/playwright/growth-governance-tail-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-tail-v6/action-coverage-report.md","e2e/output/playwright/growth-governance-tail-v6/blocked-unmapped-pages.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-levels-1773750123745.json","e2e/output/playwright/growth-governance-tail-v6/probes/-community-messages-1773750126280.json","e2e/output/playwright/growth-governance-tail-v6/probes/-marketing-tools-1773750128787.json","e2e/output/playwright/growth-governance-tail-v6/probes/-segments-1773750131379.json","e2e/output/playwright/growth-governance-tail-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.json","e2e/output/playwright/growth-groupbuy-pricing-v1/action-coverage-report.md","e2e/output/playwright/growth-groupbuy-pricing-v1/blocked-unmapped-pages.json","e2e/output/playwright/growth-groupbuy-pricing-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v1/visible-menu-snapshot.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.json","e2e/output/playwright/growth-segments-v2/action-coverage-report.md","e2e/output/playwright/growth-segments-v2/blocked-unmapped-pages.json","e2e/output/playwright/growth-segments-v2/probes/-segments-1773750075276.json","e2e/output/playwright/growth-segments-v2/visible-menu-snapshot.json","e2e/playwright-report/data/01283c1528362c00e12351f7e0f8db5f816037e7.md","e2e/playwright-report/data/324ffedd11b224a0791a44b2b2e43373471ce70e.png","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.routes.ts","backend/src/modules/content-distribution/content-distribution.schema.ts","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/crud/module-catalog.overrides.ts","frontend/src/api/modules/community-messages.ts"]},"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":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1839621,"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-03-17T20:35:34+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
|
1773752133
|
1773752133
|
0
|
1773752132
|
1773752133
|
NULL
|
|
0
|
Edit
Delete
|
|
6286
|
测试提交内容
|
2
|
2
|
hello-world.yaml
|
41
|
1
|
0
|
refs/heads/main
|
e8a92e1ba30259f2607d811af202d67a1e14c6f6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"29b5655925cbfa8c56c5447ee5bb8dc020b74c5b","after":"e8a92e1ba30259f2607d811af202d67a1e14c6f6","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/29b5655925cbfa8c56c5447ee5bb8dc020b74c5b...e8a92e1ba30259f2607d811af202d67a1e14c6f6","commits":[{"id":"e8a92e1ba30259f2607d811af202d67a1e14c6f6","message":"测试提交内容\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/e8a92e1ba30259f2607d811af202d67a1e14c6f6","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T10:16:14+08:00","added":[],"removed":[],"modified":["pc/index.php"]}],"total_commits":0,"head_commit":{"id":"e8a92e1ba30259f2607d811af202d67a1e14c6f6","message":"测试提交内容\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/e8a92e1ba30259f2607d811af202d67a1e14c6f6","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-03-17T10:16:14+08:00","added":[],"removed":[],"modified":["pc/index.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17780,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":2,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-03-16T20:25:14+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"}}...
|
push
|
1
|
3
|
1773713784
|
1773713787
|
0
|
1773713783
|
1773713787
|
NULL
|
|
0
|
Edit
Delete
|
|
24
|
test111888899s
|
2
|
2
|
hello-world.yaml
|
23
|
1
|
0
|
refs/heads/main
|
f98b8cb65887cd9ea97ec74d24dca6f43e8f15ff
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2ac24ff0484bc4a60c5bfed9495a83a4e337f27b","after":"f98b8cb65887cd9ea97ec74d24dca6f43e8f15ff","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/2ac24ff0484bc4a60c5bfed9495a83a4e337f27b...f98b8cb65887cd9ea97ec74d24dca6f43e8f15ff","commits":[{"id":"f98b8cb65887cd9ea97ec74d24dca6f43e8f15ff","message":"test111888899s\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/f98b8cb65887cd9ea97ec74d24dca6f43e8f15ff","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T16:37:48+08:00","added":[],"removed":[],"modified":["pc/kg.php"]}],"total_commits":0,"head_commit":{"id":"f98b8cb65887cd9ea97ec74d24dca6f43e8f15ff","message":"test111888899s\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/f98b8cb65887cd9ea97ec74d24dca6f43e8f15ff","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-12T16:37:48+08:00","added":[],"removed":[],"modified":["pc/kg.php"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17730,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","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-06T13:52:11+08:00","updated_at":"2026-02-12T16:23:50+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":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"}}...
|
push
|
2
|
3
|
1770885475
|
1770885478
|
0
|
1770885473
|
1770885478
|
NULL
|
|
0
|
Edit
Delete
|
|
9696
|
Improve startup and deployment tooling
|
6
|
5
|
e2e-tests.yml
|
9620
|
5
|
0
|
refs/heads/main
|
a255ed13fa907f9a1c0dc03afaa0038c6c432749
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","after":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8...a255ed13fa907f9a1c0dc03afaa0038c6c432749","commits":[{"id":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","message":"Improve startup and deployment tooling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a255ed13fa907f9a1c0dc03afaa0038c6c432749","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:04:55+08:00","added":["docs/plans/channels-governance-3.0-progress-2026-03-30.md","docs/plans/community-messages-governance-3.0-progress-2026-03-30.md","docs/plans/customer-health-governance-3.0-progress-2026-03-30.md","docs/plans/financial-reports-governance-3.0-progress-2026-03-30.md","docs/plans/knowledge-feedback-governance-3.0-progress-2026-03-30.md","docs/plans/reconciliation-governance-3.0-progress-2026-03-30.md","docs/plans/scheduled-jobs-governance-3.0-progress-2026-03-30.md","docs/plans/stage-knowledge-governance-3.0-progress-2026-03-30.md","docs/plans/targets-governance-3.0-progress-2026-03-30.md","docs/reports/channels-acceptance-card-2026-03-30.md","docs/reports/channels-runner-evidence-bundle-2026-03-30.md","docs/reports/community-messages-acceptance-card-2026-03-30.md","docs/reports/community-messages-runner-evidence-bundle-2026-03-30.md","docs/reports/customer-health-acceptance-card-2026-03-30.md","docs/reports/customer-health-runner-evidence-bundle-2026-03-30.md","docs/reports/financial-reports-acceptance-card-2026-03-30.md","docs/reports/financial-reports-runner-evidence-bundle-2026-03-30.md","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/reconciliation-acceptance-card-2026-03-30.md","docs/reports/reconciliation-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","docs/reports/targets-acceptance-card-2026-03-30.md","docs/reports/targets-runner-evidence-bundle-2026-03-30.md"],"removed":[],"modified":["frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/lib/docker-compose-helpers.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","message":"Improve startup and deployment tooling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a255ed13fa907f9a1c0dc03afaa0038c6c432749","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:04:55+08:00","added":["docs/plans/channels-governance-3.0-progress-2026-03-30.md","docs/plans/community-messages-governance-3.0-progress-2026-03-30.md","docs/plans/customer-health-governance-3.0-progress-2026-03-30.md","docs/plans/financial-reports-governance-3.0-progress-2026-03-30.md","docs/plans/knowledge-feedback-governance-3.0-progress-2026-03-30.md","docs/plans/reconciliation-governance-3.0-progress-2026-03-30.md","docs/plans/scheduled-jobs-governance-3.0-progress-2026-03-30.md","docs/plans/stage-knowledge-governance-3.0-progress-2026-03-30.md","docs/plans/targets-governance-3.0-progress-2026-03-30.md","docs/reports/channels-acceptance-card-2026-03-30.md","docs/reports/channels-runner-evidence-bundle-2026-03-30.md","docs/reports/community-messages-acceptance-card-2026-03-30.md","docs/reports/community-messages-runner-evidence-bundle-2026-03-30.md","docs/reports/customer-health-acceptance-card-2026-03-30.md","docs/reports/customer-health-runner-evidence-bundle-2026-03-30.md","docs/reports/financial-reports-acceptance-card-2026-03-30.md","docs/reports/financial-reports-runner-evidence-bundle-2026-03-30.md","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/reconciliation-acceptance-card-2026-03-30.md","docs/reports/reconciliation-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","docs/reports/targets-acceptance-card-2026-03-30.md","docs/reports/targets-runner-evidence-bundle-2026-03-30.md"],"removed":[],"modified":["frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/lib/docker-compose-helpers.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.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":1904978,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T18:48:13+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
|
1774868831
|
1774869434
|
0
|
1774868830
|
1774870499
|
|
|
0
|
Edit
Delete
|
|
9697
|
Improve startup and deployment tooling
|
6
|
5
|
test-pipeline.yml
|
9621
|
5
|
0
|
refs/heads/main
|
a255ed13fa907f9a1c0dc03afaa0038c6c432749
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","after":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8...a255ed13fa907f9a1c0dc03afaa0038c6c432749","commits":[{"id":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","message":"Improve startup and deployment tooling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a255ed13fa907f9a1c0dc03afaa0038c6c432749","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:04:55+08:00","added":["docs/plans/channels-governance-3.0-progress-2026-03-30.md","docs/plans/community-messages-governance-3.0-progress-2026-03-30.md","docs/plans/customer-health-governance-3.0-progress-2026-03-30.md","docs/plans/financial-reports-governance-3.0-progress-2026-03-30.md","docs/plans/knowledge-feedback-governance-3.0-progress-2026-03-30.md","docs/plans/reconciliation-governance-3.0-progress-2026-03-30.md","docs/plans/scheduled-jobs-governance-3.0-progress-2026-03-30.md","docs/plans/stage-knowledge-governance-3.0-progress-2026-03-30.md","docs/plans/targets-governance-3.0-progress-2026-03-30.md","docs/reports/channels-acceptance-card-2026-03-30.md","docs/reports/channels-runner-evidence-bundle-2026-03-30.md","docs/reports/community-messages-acceptance-card-2026-03-30.md","docs/reports/community-messages-runner-evidence-bundle-2026-03-30.md","docs/reports/customer-health-acceptance-card-2026-03-30.md","docs/reports/customer-health-runner-evidence-bundle-2026-03-30.md","docs/reports/financial-reports-acceptance-card-2026-03-30.md","docs/reports/financial-reports-runner-evidence-bundle-2026-03-30.md","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/reconciliation-acceptance-card-2026-03-30.md","docs/reports/reconciliation-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","docs/reports/targets-acceptance-card-2026-03-30.md","docs/reports/targets-runner-evidence-bundle-2026-03-30.md"],"removed":[],"modified":["frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/lib/docker-compose-helpers.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","message":"Improve startup and deployment tooling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a255ed13fa907f9a1c0dc03afaa0038c6c432749","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:04:55+08:00","added":["docs/plans/channels-governance-3.0-progress-2026-03-30.md","docs/plans/community-messages-governance-3.0-progress-2026-03-30.md","docs/plans/customer-health-governance-3.0-progress-2026-03-30.md","docs/plans/financial-reports-governance-3.0-progress-2026-03-30.md","docs/plans/knowledge-feedback-governance-3.0-progress-2026-03-30.md","docs/plans/reconciliation-governance-3.0-progress-2026-03-30.md","docs/plans/scheduled-jobs-governance-3.0-progress-2026-03-30.md","docs/plans/stage-knowledge-governance-3.0-progress-2026-03-30.md","docs/plans/targets-governance-3.0-progress-2026-03-30.md","docs/reports/channels-acceptance-card-2026-03-30.md","docs/reports/channels-runner-evidence-bundle-2026-03-30.md","docs/reports/community-messages-acceptance-card-2026-03-30.md","docs/reports/community-messages-runner-evidence-bundle-2026-03-30.md","docs/reports/customer-health-acceptance-card-2026-03-30.md","docs/reports/customer-health-runner-evidence-bundle-2026-03-30.md","docs/reports/financial-reports-acceptance-card-2026-03-30.md","docs/reports/financial-reports-runner-evidence-bundle-2026-03-30.md","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/reconciliation-acceptance-card-2026-03-30.md","docs/reports/reconciliation-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","docs/reports/targets-acceptance-card-2026-03-30.md","docs/reports/targets-runner-evidence-bundle-2026-03-30.md"],"removed":[],"modified":["frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/lib/docker-compose-helpers.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.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":1904978,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T18:48:13+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
26
|
1774869435
|
1774869698
|
0
|
1774868831
|
1774869700
|
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
|
|
9698
|
Improve startup and deployment tooling
|
6
|
5
|
health-check.yml
|
9622
|
-2
|
223
|
refs/heads/main
|
a255ed13fa907f9a1c0dc03afaa0038c6c432749
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","after":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8...a255ed13fa907f9a1c0dc03afaa0038c6c432749","commits":[{"id":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","message":"Improve startup and deployment tooling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a255ed13fa907f9a1c0dc03afaa0038c6c432749","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:04:55+08:00","added":["docs/plans/channels-governance-3.0-progress-2026-03-30.md","docs/plans/community-messages-governance-3.0-progress-2026-03-30.md","docs/plans/customer-health-governance-3.0-progress-2026-03-30.md","docs/plans/financial-reports-governance-3.0-progress-2026-03-30.md","docs/plans/knowledge-feedback-governance-3.0-progress-2026-03-30.md","docs/plans/reconciliation-governance-3.0-progress-2026-03-30.md","docs/plans/scheduled-jobs-governance-3.0-progress-2026-03-30.md","docs/plans/stage-knowledge-governance-3.0-progress-2026-03-30.md","docs/plans/targets-governance-3.0-progress-2026-03-30.md","docs/reports/channels-acceptance-card-2026-03-30.md","docs/reports/channels-runner-evidence-bundle-2026-03-30.md","docs/reports/community-messages-acceptance-card-2026-03-30.md","docs/reports/community-messages-runner-evidence-bundle-2026-03-30.md","docs/reports/customer-health-acceptance-card-2026-03-30.md","docs/reports/customer-health-runner-evidence-bundle-2026-03-30.md","docs/reports/financial-reports-acceptance-card-2026-03-30.md","docs/reports/financial-reports-runner-evidence-bundle-2026-03-30.md","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/reconciliation-acceptance-card-2026-03-30.md","docs/reports/reconciliation-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","docs/reports/targets-acceptance-card-2026-03-30.md","docs/reports/targets-runner-evidence-bundle-2026-03-30.md"],"removed":[],"modified":["frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/lib/docker-compose-helpers.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","message":"Improve startup and deployment tooling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a255ed13fa907f9a1c0dc03afaa0038c6c432749","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:04:55+08:00","added":["docs/plans/channels-governance-3.0-progress-2026-03-30.md","docs/plans/community-messages-governance-3.0-progress-2026-03-30.md","docs/plans/customer-health-governance-3.0-progress-2026-03-30.md","docs/plans/financial-reports-governance-3.0-progress-2026-03-30.md","docs/plans/knowledge-feedback-governance-3.0-progress-2026-03-30.md","docs/plans/reconciliation-governance-3.0-progress-2026-03-30.md","docs/plans/scheduled-jobs-governance-3.0-progress-2026-03-30.md","docs/plans/stage-knowledge-governance-3.0-progress-2026-03-30.md","docs/plans/targets-governance-3.0-progress-2026-03-30.md","docs/reports/channels-acceptance-card-2026-03-30.md","docs/reports/channels-runner-evidence-bundle-2026-03-30.md","docs/reports/community-messages-acceptance-card-2026-03-30.md","docs/reports/community-messages-runner-evidence-bundle-2026-03-30.md","docs/reports/customer-health-acceptance-card-2026-03-30.md","docs/reports/customer-health-runner-evidence-bundle-2026-03-30.md","docs/reports/financial-reports-acceptance-card-2026-03-30.md","docs/reports/financial-reports-runner-evidence-bundle-2026-03-30.md","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/reconciliation-acceptance-card-2026-03-30.md","docs/reports/reconciliation-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","docs/reports/targets-acceptance-card-2026-03-30.md","docs/reports/targets-runner-evidence-bundle-2026-03-30.md"],"removed":[],"modified":["frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/lib/docker-compose-helpers.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.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":1904978,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T18:48:13+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
|
1774870492
|
1774870493
|
0
|
1774869018
|
1774870493
|
|
|
0
|
Edit
Delete
|
|
9699
|
Improve startup and deployment tooling
|
6
|
5
|
health-check.yml
|
9623
|
-2
|
223
|
refs/heads/main
|
a255ed13fa907f9a1c0dc03afaa0038c6c432749
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","after":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8...a255ed13fa907f9a1c0dc03afaa0038c6c432749","commits":[{"id":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","message":"Improve startup and deployment tooling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a255ed13fa907f9a1c0dc03afaa0038c6c432749","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:04:55+08:00","added":["docs/plans/channels-governance-3.0-progress-2026-03-30.md","docs/plans/community-messages-governance-3.0-progress-2026-03-30.md","docs/plans/customer-health-governance-3.0-progress-2026-03-30.md","docs/plans/financial-reports-governance-3.0-progress-2026-03-30.md","docs/plans/knowledge-feedback-governance-3.0-progress-2026-03-30.md","docs/plans/reconciliation-governance-3.0-progress-2026-03-30.md","docs/plans/scheduled-jobs-governance-3.0-progress-2026-03-30.md","docs/plans/stage-knowledge-governance-3.0-progress-2026-03-30.md","docs/plans/targets-governance-3.0-progress-2026-03-30.md","docs/reports/channels-acceptance-card-2026-03-30.md","docs/reports/channels-runner-evidence-bundle-2026-03-30.md","docs/reports/community-messages-acceptance-card-2026-03-30.md","docs/reports/community-messages-runner-evidence-bundle-2026-03-30.md","docs/reports/customer-health-acceptance-card-2026-03-30.md","docs/reports/customer-health-runner-evidence-bundle-2026-03-30.md","docs/reports/financial-reports-acceptance-card-2026-03-30.md","docs/reports/financial-reports-runner-evidence-bundle-2026-03-30.md","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/reconciliation-acceptance-card-2026-03-30.md","docs/reports/reconciliation-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","docs/reports/targets-acceptance-card-2026-03-30.md","docs/reports/targets-runner-evidence-bundle-2026-03-30.md"],"removed":[],"modified":["frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/lib/docker-compose-helpers.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","message":"Improve startup and deployment tooling\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a255ed13fa907f9a1c0dc03afaa0038c6c432749","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T19:04:55+08:00","added":["docs/plans/channels-governance-3.0-progress-2026-03-30.md","docs/plans/community-messages-governance-3.0-progress-2026-03-30.md","docs/plans/customer-health-governance-3.0-progress-2026-03-30.md","docs/plans/financial-reports-governance-3.0-progress-2026-03-30.md","docs/plans/knowledge-feedback-governance-3.0-progress-2026-03-30.md","docs/plans/reconciliation-governance-3.0-progress-2026-03-30.md","docs/plans/scheduled-jobs-governance-3.0-progress-2026-03-30.md","docs/plans/stage-knowledge-governance-3.0-progress-2026-03-30.md","docs/plans/targets-governance-3.0-progress-2026-03-30.md","docs/reports/channels-acceptance-card-2026-03-30.md","docs/reports/channels-runner-evidence-bundle-2026-03-30.md","docs/reports/community-messages-acceptance-card-2026-03-30.md","docs/reports/community-messages-runner-evidence-bundle-2026-03-30.md","docs/reports/customer-health-acceptance-card-2026-03-30.md","docs/reports/customer-health-runner-evidence-bundle-2026-03-30.md","docs/reports/financial-reports-acceptance-card-2026-03-30.md","docs/reports/financial-reports-runner-evidence-bundle-2026-03-30.md","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-runner-evidence-bundle-2026-03-30.md","docs/reports/reconciliation-acceptance-card-2026-03-30.md","docs/reports/reconciliation-runner-evidence-bundle-2026-03-30.md","docs/reports/scheduled-jobs-acceptance-card-2026-03-30.md","docs/reports/scheduled-jobs-runner-evidence-bundle-2026-03-30.md","docs/reports/stage-knowledge-acceptance-card-2026-03-30.md","docs/reports/stage-knowledge-runner-evidence-bundle-2026-03-30.md","docs/reports/targets-acceptance-card-2026-03-30.md","docs/reports/targets-runner-evidence-bundle-2026-03-30.md"],"removed":[],"modified":["frontend/src/views/__tests__/scheduled-jobs-g4.smoke.test.ts","frontend/src/views/stage-knowledge/__tests__/stage-knowledge-index.smoke.test.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/commander-workset.latest.json","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/lib/docker-compose-helpers.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.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":1904978,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T18:48:13+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
|
1774870494
|
1774870495
|
0
|
1774869318
|
1774870495
|
|
|
0
|
Edit
Delete
|