|
9588
|
Fix pre-deploy check counters and ignore local pro Fix pre-deploy check counters and ignore local prod assets...
|
6
|
5
|
test-pipeline.yml
|
9511
|
5
|
0
|
refs/heads/main
|
a8f1896ed41a547563a11d929465e7a92cdec4e9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4d1dd7b8c8604ad5b1f60158574ce50a60b0e82c","after":"a8f1896ed41a547563a11d929465e7a92cdec4e9","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/4d1dd7b8c8604ad5b1f60158574ce50a60b0e82c...a8f1896ed41a547563a11d929465e7a92cdec4e9","commits":[{"id":"a8f1896ed41a547563a11d929465e7a92cdec4e9","message":"Fix pre-deploy check counters and ignore local prod assets\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a8f1896ed41a547563a11d929465e7a92cdec4e9","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-30T13:17:09+08:00","added":[],"removed":[],"modified":[".gitignore","scripts/db-migrate.sh","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"a8f1896ed41a547563a11d929465e7a92cdec4e9","message":"Fix pre-deploy check counters and ignore local prod assets\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a8f1896ed41a547563a11d929465e7a92cdec4e9","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-30T13:17:09+08:00","added":[],"removed":[],"modified":[".gitignore","scripts/db-migrate.sh","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904053,"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-30T13:15:33+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
|
24
|
0
|
1774847976
|
0
|
1774847843
|
1774847978
|
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
|
|
9589
|
Export pre-deploy env vars for docker compose
|
6
|
5
|
e2e-tests.yml
|
9513
|
5
|
0
|
refs/heads/main
|
f2d6f50d81972cf5e93d657140a9a89b6e6189fb
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a8f1896ed41a547563a11d929465e7a92cdec4e9","after":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/a8f1896ed41a547563a11d929465e7a92cdec4e9...f2d6f50d81972cf5e93d657140a9a89b6e6189fb","commits":[{"id":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","message":"Export pre-deploy env vars for docker compose\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f2d6f50d81972cf5e93d657140a9a89b6e6189fb","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-30T13:19:14+08:00","added":[],"removed":[],"modified":["scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","message":"Export pre-deploy env vars for docker compose\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f2d6f50d81972cf5e93d657140a9a89b6e6189fb","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-30T13:19:14+08:00","added":[],"removed":[],"modified":["scripts/pre-deploy-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904064,"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-30T13:17:25+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
|
1774849112
|
1774849514
|
0
|
1774847975
|
1774851461
|
|
|
0
|
Edit
Delete
|
|
9591
|
Export pre-deploy env vars for docker compose
|
6
|
5
|
test-pipeline.yml
|
9514
|
5
|
0
|
refs/heads/main
|
f2d6f50d81972cf5e93d657140a9a89b6e6189fb
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a8f1896ed41a547563a11d929465e7a92cdec4e9","after":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/a8f1896ed41a547563a11d929465e7a92cdec4e9...f2d6f50d81972cf5e93d657140a9a89b6e6189fb","commits":[{"id":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","message":"Export pre-deploy env vars for docker compose\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f2d6f50d81972cf5e93d657140a9a89b6e6189fb","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-30T13:19:14+08:00","added":[],"removed":[],"modified":["scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","message":"Export pre-deploy env vars for docker compose\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f2d6f50d81972cf5e93d657140a9a89b6e6189fb","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-30T13:19:14+08:00","added":[],"removed":[],"modified":["scripts/pre-deploy-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904064,"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-30T13:17:25+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
|
24
|
0
|
1774848149
|
0
|
1774847980
|
1774848151
|
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
|
|
9593
|
Fix deploy scripts for scaled API containers
|
6
|
5
|
e2e-tests.yml
|
9517
|
5
|
0
|
refs/heads/main
|
d85951e777b951a8957f68cdbf1d581dc9c91479
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","after":"d85951e777b951a8957f68cdbf1d581dc9c91479","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/f2d6f50d81972cf5e93d657140a9a89b6e6189fb...d85951e777b951a8957f68cdbf1d581dc9c91479","commits":[{"id":"d85951e777b951a8957f68cdbf1d581dc9c91479","message":"Fix deploy scripts for scaled API containers\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d85951e777b951a8957f68cdbf1d581dc9c91479","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-30T13:22:12+08:00","added":["scripts/lib/docker-compose-helpers.sh"],"removed":[],"modified":["docker-compose.prod.yml","scripts/deploy.sh","scripts/diagnose.sh","scripts/ops-status.sh","scripts/post-deploy-verify.sh","scripts/rollback.sh"]}],"total_commits":0,"head_commit":{"id":"d85951e777b951a8957f68cdbf1d581dc9c91479","message":"Fix deploy scripts for scaled API containers\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d85951e777b951a8957f68cdbf1d581dc9c91479","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-30T13:22:12+08:00","added":["scripts/lib/docker-compose-helpers.sh"],"removed":[],"modified":["docker-compose.prod.yml","scripts/deploy.sh","scripts/diagnose.sh","scripts/ops-status.sh","scripts/post-deploy-verify.sh","scripts/rollback.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":1904074,"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-30T13:19:42+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
|
1774849516
|
1774850317
|
0
|
1774848148
|
1774851472
|
|
|
0
|
Edit
Delete
|
|
9595
|
Fix deploy scripts for scaled API containers
|
6
|
5
|
test-pipeline.yml
|
9518
|
5
|
0
|
refs/heads/main
|
d85951e777b951a8957f68cdbf1d581dc9c91479
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","after":"d85951e777b951a8957f68cdbf1d581dc9c91479","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/f2d6f50d81972cf5e93d657140a9a89b6e6189fb...d85951e777b951a8957f68cdbf1d581dc9c91479","commits":[{"id":"d85951e777b951a8957f68cdbf1d581dc9c91479","message":"Fix deploy scripts for scaled API containers\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d85951e777b951a8957f68cdbf1d581dc9c91479","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-30T13:22:12+08:00","added":["scripts/lib/docker-compose-helpers.sh"],"removed":[],"modified":["docker-compose.prod.yml","scripts/deploy.sh","scripts/diagnose.sh","scripts/ops-status.sh","scripts/post-deploy-verify.sh","scripts/rollback.sh"]}],"total_commits":0,"head_commit":{"id":"d85951e777b951a8957f68cdbf1d581dc9c91479","message":"Fix deploy scripts for scaled API containers\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d85951e777b951a8957f68cdbf1d581dc9c91479","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-30T13:22:12+08:00","added":["scripts/lib/docker-compose-helpers.sh"],"removed":[],"modified":["docker-compose.prod.yml","scripts/deploy.sh","scripts/diagnose.sh","scripts/ops-status.sh","scripts/post-deploy-verify.sh","scripts/rollback.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":1904074,"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-30T13:19:42+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
|
1774850320
|
1774851434
|
0
|
1774848153
|
1774851817
|
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
|
|
9655
|
Harden deploy checks and cache-aware production im Harden deploy checks and cache-aware production image builds...
|
6
|
5
|
e2e-tests.yml
|
9579
|
5
|
0
|
refs/heads/main
|
1b7720d8bdc8f3778e6ad14715be746db29627af
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d85951e777b951a8957f68cdbf1d581dc9c91479","after":"1b7720d8bdc8f3778e6ad14715be746db29627af","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/d85951e777b951a8957f68cdbf1d581dc9c91479...1b7720d8bdc8f3778e6ad14715be746db29627af","commits":[{"id":"1b7720d8bdc8f3778e6ad14715be746db29627af","message":"Harden deploy checks and cache-aware production image builds\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b7720d8bdc8f3778e6ad14715be746db29627af","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-30T16:56:52+08:00","added":["frontend/Dockerfile.prebuilt"],"removed":[],"modified":[".dockerignore","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/Dockerfile","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/tests/api/admin-settings.test.ts","backend/tests/api/contracts.test.ts","backend/tests/api/event-logs.test.ts","backend/tests/api/notifications.test.ts","backend/tests/api/setup.ts","backend/tests/api/system-events.test.ts","backend/tests/api/tenant-configs.test.ts","docs/deploy-aliyun.md","frontend/Dockerfile","frontend/src/views/customers/components/DetailMobile.vue","frontend/vite.config.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"1b7720d8bdc8f3778e6ad14715be746db29627af","message":"Harden deploy checks and cache-aware production image builds\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b7720d8bdc8f3778e6ad14715be746db29627af","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-30T16:56:52+08:00","added":["frontend/Dockerfile.prebuilt"],"removed":[],"modified":[".dockerignore","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/Dockerfile","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/tests/api/admin-settings.test.ts","backend/tests/api/contracts.test.ts","backend/tests/api/event-logs.test.ts","backend/tests/api/notifications.test.ts","backend/tests/api/setup.ts","backend/tests/api/system-events.test.ts","backend/tests/api/tenant-configs.test.ts","docs/deploy-aliyun.md","frontend/Dockerfile","frontend/src/views/customers/components/DetailMobile.vue","frontend/vite.config.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904112,"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-30T13:22:34+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
|
1774862379
|
1774863205
|
0
|
1774862378
|
1774863395
|
|
|
0
|
Edit
Delete
|
|
9656
|
Harden deploy checks and cache-aware production im Harden deploy checks and cache-aware production image builds...
|
6
|
5
|
test-pipeline.yml
|
9580
|
5
|
0
|
refs/heads/main
|
1b7720d8bdc8f3778e6ad14715be746db29627af
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"d85951e777b951a8957f68cdbf1d581dc9c91479","after":"1b7720d8bdc8f3778e6ad14715be746db29627af","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/d85951e777b951a8957f68cdbf1d581dc9c91479...1b7720d8bdc8f3778e6ad14715be746db29627af","commits":[{"id":"1b7720d8bdc8f3778e6ad14715be746db29627af","message":"Harden deploy checks and cache-aware production image builds\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b7720d8bdc8f3778e6ad14715be746db29627af","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-30T16:56:52+08:00","added":["frontend/Dockerfile.prebuilt"],"removed":[],"modified":[".dockerignore","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/Dockerfile","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/tests/api/admin-settings.test.ts","backend/tests/api/contracts.test.ts","backend/tests/api/event-logs.test.ts","backend/tests/api/notifications.test.ts","backend/tests/api/setup.ts","backend/tests/api/system-events.test.ts","backend/tests/api/tenant-configs.test.ts","docs/deploy-aliyun.md","frontend/Dockerfile","frontend/src/views/customers/components/DetailMobile.vue","frontend/vite.config.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"1b7720d8bdc8f3778e6ad14715be746db29627af","message":"Harden deploy checks and cache-aware production image builds\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1b7720d8bdc8f3778e6ad14715be746db29627af","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-30T16:56:52+08:00","added":["frontend/Dockerfile.prebuilt"],"removed":[],"modified":[".dockerignore","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/Dockerfile","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/shipments/shipment.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/shared/process-core/process-adapter.ts","backend/tests/api/admin-settings.test.ts","backend/tests/api/contracts.test.ts","backend/tests/api/event-logs.test.ts","backend/tests/api/notifications.test.ts","backend/tests/api/setup.ts","backend/tests/api/system-events.test.ts","backend/tests/api/tenant-configs.test.ts","docs/deploy-aliyun.md","frontend/Dockerfile","frontend/src/views/customers/components/DetailMobile.vue","frontend/vite.config.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904112,"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-30T13:22:34+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
|
1774863206
|
1774863327
|
0
|
1774862379
|
1774863627
|
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
|
|
9674
|
Align order states and preload image docs guidance
|
6
|
5
|
e2e-tests.yml
|
9598
|
5
|
0
|
refs/heads/main
|
2cf3567367105da23ab10795975e05379e764f31
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1b7720d8bdc8f3778e6ad14715be746db29627af","after":"2cf3567367105da23ab10795975e05379e764f31","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1b7720d8bdc8f3778e6ad14715be746db29627af...2cf3567367105da23ab10795975e05379e764f31","commits":[{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904526,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T17:19:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
20
|
1774865782
|
1774867450
|
0
|
1774865781
|
1774867725
|
|
|
0
|
Edit
Delete
|
|
9675
|
Align order states and preload image docs guidance
|
6
|
5
|
test-pipeline.yml
|
9599
|
5
|
0
|
refs/heads/main
|
2cf3567367105da23ab10795975e05379e764f31
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1b7720d8bdc8f3778e6ad14715be746db29627af","after":"2cf3567367105da23ab10795975e05379e764f31","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1b7720d8bdc8f3778e6ad14715be746db29627af...2cf3567367105da23ab10795975e05379e764f31","commits":[{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]}],"total_commits":0,"head_commit":{"id":"2cf3567367105da23ab10795975e05379e764f31","message":"Align order states and preload image docs guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2cf3567367105da23ab10795975e05379e764f31","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:16:12+08:00","added":["scripts/preload-prod-images.sh"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/orders/__tests__/order.edge-cases.test.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/tests/api/biz-sequences.test.ts","docs/deploy-aliyun.md","e2e/tests/fixtures/test-base.ts","frontend/src/api/response-normalizer.ts","frontend/src/views/__tests__/g2-auth-smoke-batch.smoke.test.ts","frontend/src/views/__tests__/g2-batch-governance.smoke.test.ts","frontend/src/views/__tests__/synergy-center-g4.smoke.test.ts","frontend/src/views/ai-agents/__tests__/ai-agent-pages.smoke.test.ts","frontend/src/views/cpq/__tests__/cpq.smoke.test.ts","frontend/src/views/crm-activities/__tests__/crm-activities.smoke.test.ts","frontend/src/views/faults/__tests__/faults-g4.smoke.test.ts","frontend/src/views/fulfillment/__tests__/fulfillment-g4.smoke.test.ts","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/outbound/__tests__/outbound-g4.smoke.test.ts","frontend/src/views/partners/__tests__/partners-g4.smoke.test.ts","frontend/src/views/price-books/Index.vue","frontend/src/views/process-designer/__tests__/process-designer.smoke.test.ts","frontend/src/views/tenant-configs/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","scripts/pre-deploy-check.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1904526,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-30T17:19:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
26
|
1774867450
|
1774867689
|
0
|
1774865781
|
1774867691
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/heads/main
|
1
|
Edit
Delete
|
|
9683
|
Add AI autopilot test run artifacts
|
6
|
5
|
e2e-tests.yml
|
9607
|
5
|
0
|
refs/heads/main
|
2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2cf3567367105da23ab10795975e05379e764f31","after":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2cf3567367105da23ab10795975e05379e764f31...2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","commits":[{"id":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","message":"Add AI autopilot test run artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:48:02+08:00","added":["e2e/output/autopilot/ai_test_1774865857590/prepare-ok.json","e2e/output/autopilot/ai_test_1774865857590/result.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","message":"Add AI autopilot test run artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:48:02+08:00","added":["e2e/output/autopilot/ai_test_1774865857590/prepare-ok.json","e2e/output/autopilot/ai_test_1774865857590/result.json"],"removed":[],"modified":[]},"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":1904973,"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:16:23+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
|
1774867728
|
1774867880
|
0
|
1774867689
|
1774867988
|
|
|
0
|
Edit
Delete
|
|
9685
|
Add AI autopilot test run artifacts
|
6
|
5
|
test-pipeline.yml
|
9608
|
5
|
0
|
refs/heads/main
|
2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"2cf3567367105da23ab10795975e05379e764f31","after":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/2cf3567367105da23ab10795975e05379e764f31...2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","commits":[{"id":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","message":"Add AI autopilot test run artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:48:02+08:00","added":["e2e/output/autopilot/ai_test_1774865857590/prepare-ok.json","e2e/output/autopilot/ai_test_1774865857590/result.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","message":"Add AI autopilot test run artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","author":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"committer":{"name":"jh.sj","email":"jh.sj@jhsjdeMac-Studio.local","username":""},"verification":null,"timestamp":"2026-03-30T18:48:02+08:00","added":["e2e/output/autopilot/ai_test_1774865857590/prepare-ok.json","e2e/output/autopilot/ai_test_1774865857590/result.json"],"removed":[],"modified":[]},"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":1904973,"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:16:23+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
|
1774867883
|
1774867944
|
0
|
1774867692
|
1774868200
|
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
|
|
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
|
|
9702
|
Align AI agent filters and sync dev healthcheck gu Align AI agent filters and sync dev healthcheck guidance...
|
6
|
5
|
e2e-tests.yml
|
9626
|
5
|
0
|
refs/heads/main
|
12913d4ccde98eafffea39e5821bd5d4c15aa868
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","after":"12913d4ccde98eafffea39e5821bd5d4c15aa868","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/a255ed13fa907f9a1c0dc03afaa0038c6c432749...12913d4ccde98eafffea39e5821bd5d4c15aa868","commits":[{"id":"12913d4ccde98eafffea39e5821bd5d4c15aa868","message":"Align AI agent filters and sync dev healthcheck guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/12913d4ccde98eafffea39e5821bd5d4c15aa868","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:21:19+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","Makefile","README.md","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.schema.test.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/assets/asset.controller.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","package.json","scripts/OPS_TOOLS_README.md","scripts/README.md","scripts/deploy.sh","scripts/diagnose.sh","scripts/healthcheck.sh","scripts/lib/docker-compose-helpers.sh","scripts/ops-status.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/rollback.sh","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"12913d4ccde98eafffea39e5821bd5d4c15aa868","message":"Align AI agent filters and sync dev healthcheck guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/12913d4ccde98eafffea39e5821bd5d4c15aa868","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:21:19+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","Makefile","README.md","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.schema.test.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/assets/asset.controller.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","package.json","scripts/OPS_TOOLS_README.md","scripts/README.md","scripts/deploy.sh","scripts/diagnose.sh","scripts/healthcheck.sh","scripts/lib/docker-compose-helpers.sh","scripts/ops-status.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/rollback.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":1905172,"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-30T19:07:12+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
|
1774870562
|
1774872010
|
0
|
1774869698
|
1774876583
|
|
|
0
|
Edit
Delete
|
|
9704
|
Align AI agent filters and sync dev healthcheck gu Align AI agent filters and sync dev healthcheck guidance...
|
6
|
5
|
test-pipeline.yml
|
9627
|
5
|
0
|
refs/heads/main
|
12913d4ccde98eafffea39e5821bd5d4c15aa868
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","after":"12913d4ccde98eafffea39e5821bd5d4c15aa868","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/a255ed13fa907f9a1c0dc03afaa0038c6c432749...12913d4ccde98eafffea39e5821bd5d4c15aa868","commits":[{"id":"12913d4ccde98eafffea39e5821bd5d4c15aa868","message":"Align AI agent filters and sync dev healthcheck guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/12913d4ccde98eafffea39e5821bd5d4c15aa868","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:21:19+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","Makefile","README.md","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.schema.test.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/assets/asset.controller.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","package.json","scripts/OPS_TOOLS_README.md","scripts/README.md","scripts/deploy.sh","scripts/diagnose.sh","scripts/healthcheck.sh","scripts/lib/docker-compose-helpers.sh","scripts/ops-status.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/rollback.sh","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"12913d4ccde98eafffea39e5821bd5d4c15aa868","message":"Align AI agent filters and sync dev healthcheck guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/12913d4ccde98eafffea39e5821bd5d4c15aa868","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:21:19+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","Makefile","README.md","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.schema.test.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/assets/asset.controller.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","package.json","scripts/OPS_TOOLS_README.md","scripts/README.md","scripts/deploy.sh","scripts/diagnose.sh","scripts/healthcheck.sh","scripts/lib/docker-compose-helpers.sh","scripts/ops-status.sh","scripts/post-deploy-verify.sh","scripts/pre-deploy-check.sh","scripts/rollback.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":1905172,"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-30T19:07:12+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
|
24
|
0
|
1774870950
|
0
|
1774869701
|
1774870952
|
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
|
|
9710
|
Normalize AI agent queries and harden dashboard fa Normalize AI agent queries and harden dashboard fallbacks...
|
6
|
5
|
e2e-tests.yml
|
9634
|
5
|
0
|
refs/heads/main
|
6794a93c73e1f0426557604cd3ba8f93a10e82f1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"12913d4ccde98eafffea39e5821bd5d4c15aa868","after":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/12913d4ccde98eafffea39e5821bd5d4c15aa868...6794a93c73e1f0426557604cd3ba8f93a10e82f1","commits":[{"id":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","message":"Normalize AI agent queries and harden dashboard fallbacks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6794a93c73e1f0426557604cd3ba8f93a10e82f1","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:42:18+08:00","added":["backend/src/modules/ai-agents/ai-agent-im.schema.test.ts","frontend/src/views/__tests__/finance-dashboard-runtime.smoke.test.ts","frontend/src/views/__tests__/sales-dashboard-runtime-resilience.smoke.test.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent.schema.test.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/inventory/services/inventory-transfer.service.ts","backend/src/shared/utils/validation.ts","frontend/src/views/sales-dashboard/Index.vue"]}],"total_commits":0,"head_commit":{"id":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","message":"Normalize AI agent queries and harden dashboard fallbacks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6794a93c73e1f0426557604cd3ba8f93a10e82f1","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:42:18+08:00","added":["backend/src/modules/ai-agents/ai-agent-im.schema.test.ts","frontend/src/views/__tests__/finance-dashboard-runtime.smoke.test.ts","frontend/src/views/__tests__/sales-dashboard-runtime-resilience.smoke.test.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent.schema.test.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/inventory/services/inventory-transfer.service.ts","backend/src/shared/utils/validation.ts","frontend/src/views/sales-dashboard/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1905460,"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-30T19:21:43+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
|
1774872026
|
1774873610
|
0
|
1774870949
|
1774876605
|
|
|
0
|
Edit
Delete
|
|
9712
|
Normalize AI agent queries and harden dashboard fa Normalize AI agent queries and harden dashboard fallbacks...
|
6
|
5
|
test-pipeline.yml
|
9635
|
5
|
0
|
refs/heads/main
|
6794a93c73e1f0426557604cd3ba8f93a10e82f1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"12913d4ccde98eafffea39e5821bd5d4c15aa868","after":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/12913d4ccde98eafffea39e5821bd5d4c15aa868...6794a93c73e1f0426557604cd3ba8f93a10e82f1","commits":[{"id":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","message":"Normalize AI agent queries and harden dashboard fallbacks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6794a93c73e1f0426557604cd3ba8f93a10e82f1","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:42:18+08:00","added":["backend/src/modules/ai-agents/ai-agent-im.schema.test.ts","frontend/src/views/__tests__/finance-dashboard-runtime.smoke.test.ts","frontend/src/views/__tests__/sales-dashboard-runtime-resilience.smoke.test.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent.schema.test.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/inventory/services/inventory-transfer.service.ts","backend/src/shared/utils/validation.ts","frontend/src/views/sales-dashboard/Index.vue"]}],"total_commits":0,"head_commit":{"id":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","message":"Normalize AI agent queries and harden dashboard fallbacks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6794a93c73e1f0426557604cd3ba8f93a10e82f1","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:42:18+08:00","added":["backend/src/modules/ai-agents/ai-agent-im.schema.test.ts","frontend/src/views/__tests__/finance-dashboard-runtime.smoke.test.ts","frontend/src/views/__tests__/sales-dashboard-runtime-resilience.smoke.test.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent.schema.test.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/inventory/services/inventory-transfer.service.ts","backend/src/shared/utils/validation.ts","frontend/src/views/sales-dashboard/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1905460,"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-30T19:21:43+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
|
24
|
0
|
1774871764
|
0
|
1774870954
|
1774871767
|
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
|
|
9716
|
Fix role query transforms and update evidence repo Fix role query transforms and update evidence reports...
|
6
|
5
|
e2e-tests.yml
|
9640
|
5
|
0
|
refs/heads/main
|
8a7978e163a401654f636377fc9ca790391d8779
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","after":"8a7978e163a401654f636377fc9ca790391d8779","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/6794a93c73e1f0426557604cd3ba8f93a10e82f1...8a7978e163a401654f636377fc9ca790391d8779","commits":[{"id":"8a7978e163a401654f636377fc9ca790391d8779","message":"Fix role query transforms and update evidence reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a7978e163a401654f636377fc9ca790391d8779","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:55:47+08:00","added":["backend/src/modules/roles/role.schema.test.ts"],"removed":[],"modified":["backend/src/modules/roles/role.schema.ts","backend/src/shared/utils/validation.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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"]}],"total_commits":0,"head_commit":{"id":"8a7978e163a401654f636377fc9ca790391d8779","message":"Fix role query transforms and update evidence reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a7978e163a401654f636377fc9ca790391d8779","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:55:47+08:00","added":["backend/src/modules/roles/role.schema.test.ts"],"removed":[],"modified":["backend/src/modules/roles/role.schema.ts","backend/src/shared/utils/validation.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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"]},"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":1905513,"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-30T19:42:35+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
|
1774873617
|
1774875287
|
0
|
1774871763
|
1774876626
|
|
|
0
|
Edit
Delete
|
|
9718
|
Fix role query transforms and update evidence repo Fix role query transforms and update evidence reports...
|
6
|
5
|
test-pipeline.yml
|
9641
|
5
|
0
|
refs/heads/main
|
8a7978e163a401654f636377fc9ca790391d8779
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","after":"8a7978e163a401654f636377fc9ca790391d8779","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/6794a93c73e1f0426557604cd3ba8f93a10e82f1...8a7978e163a401654f636377fc9ca790391d8779","commits":[{"id":"8a7978e163a401654f636377fc9ca790391d8779","message":"Fix role query transforms and update evidence reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a7978e163a401654f636377fc9ca790391d8779","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:55:47+08:00","added":["backend/src/modules/roles/role.schema.test.ts"],"removed":[],"modified":["backend/src/modules/roles/role.schema.ts","backend/src/shared/utils/validation.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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"]}],"total_commits":0,"head_commit":{"id":"8a7978e163a401654f636377fc9ca790391d8779","message":"Fix role query transforms and update evidence reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a7978e163a401654f636377fc9ca790391d8779","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:55:47+08:00","added":["backend/src/modules/roles/role.schema.test.ts"],"removed":[],"modified":["backend/src/modules/roles/role.schema.ts","backend/src/shared/utils/validation.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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"]},"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":1905513,"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-30T19:42:35+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
|
34
|
1774875289
|
1774875471
|
0
|
1774871769
|
1774875574
|
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
|
|
9736
|
Harden role-based smoke flows and permission guard Harden role-based smoke flows and permission guards...
|
6
|
5
|
e2e-tests.yml
|
9660
|
5
|
0
|
refs/heads/main
|
1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8a7978e163a401654f636377fc9ca790391d8779","after":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8a7978e163a401654f636377fc9ca790391d8779...1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","commits":[{"id":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","message":"Harden role-based smoke flows and permission guards\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","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-30T20:59:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agent-skills/ai-agent-skills.schema.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.ts","backend/src/modules/system-events/system-event.schema.ts","backend/src/shared/utils/validation.ts","e2e/tests/auth/tickets-smoke.spec.ts","frontend/src/views/sales-dashboard/Index.vue"]},{"id":"704bdd5de0d4b0661c28286c0cbb71bae53e26cc","message":"Refine governance baselines and align module acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/704bdd5de0d4b0661c28286c0cbb71bae53e26cc","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-30T20:25:39+08:00","added":["docs/reports/view-audit-domains/a1-acquisition-center-2026-03-30.md","docs/reports/view-audit-domains/a2-finance-center-2026-03-30.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-03-30.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-03-30.md","docs/reports/view-audit-domains/a5-admin-center-2026-03-30.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-03-30.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-03-30.md","docs/reports/view-audit-domains/a8-system-center-2026-03-30.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-03-30.md","docs/reports/view-audit-full-matrix-2026-03-30.md"],"removed":[],"modified":["backend/tests/api/channels.test.ts","backend/tests/api/community-messages.test.ts","backend/tests/api/im-channels.test.ts","backend/tests/api/knowledge-feedback.test.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/fixtures/service-center-smoke.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/MyWorkCalendar.vue","frontend/src/views/opportunities/Detail.vue","frontend/src/views/opportunities/components/useOpportunityDetail.ts","frontend/src/views/orders/composables/useOrderDetail.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","reports/view-module-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","message":"Harden role-based smoke flows and permission guards\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","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-30T20:59:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agent-skills/ai-agent-skills.schema.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.ts","backend/src/modules/system-events/system-event.schema.ts","backend/src/shared/utils/validation.ts","e2e/tests/auth/tickets-smoke.spec.ts","frontend/src/views/sales-dashboard/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1905545,"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-30T19:56:11+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
|
1774876632
|
1774877154
|
0
|
1774875571
|
1774879261
|
|
|
0
|
Edit
Delete
|
|
9738
|
Harden role-based smoke flows and permission guard Harden role-based smoke flows and permission guards...
|
6
|
5
|
test-pipeline.yml
|
9661
|
5
|
0
|
refs/heads/main
|
1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8a7978e163a401654f636377fc9ca790391d8779","after":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8a7978e163a401654f636377fc9ca790391d8779...1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","commits":[{"id":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","message":"Harden role-based smoke flows and permission guards\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","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-30T20:59:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agent-skills/ai-agent-skills.schema.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.ts","backend/src/modules/system-events/system-event.schema.ts","backend/src/shared/utils/validation.ts","e2e/tests/auth/tickets-smoke.spec.ts","frontend/src/views/sales-dashboard/Index.vue"]},{"id":"704bdd5de0d4b0661c28286c0cbb71bae53e26cc","message":"Refine governance baselines and align module acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/704bdd5de0d4b0661c28286c0cbb71bae53e26cc","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-30T20:25:39+08:00","added":["docs/reports/view-audit-domains/a1-acquisition-center-2026-03-30.md","docs/reports/view-audit-domains/a2-finance-center-2026-03-30.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-03-30.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-03-30.md","docs/reports/view-audit-domains/a5-admin-center-2026-03-30.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-03-30.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-03-30.md","docs/reports/view-audit-domains/a8-system-center-2026-03-30.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-03-30.md","docs/reports/view-audit-full-matrix-2026-03-30.md"],"removed":[],"modified":["backend/tests/api/channels.test.ts","backend/tests/api/community-messages.test.ts","backend/tests/api/im-channels.test.ts","backend/tests/api/knowledge-feedback.test.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/fixtures/service-center-smoke.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/MyWorkCalendar.vue","frontend/src/views/opportunities/Detail.vue","frontend/src/views/opportunities/components/useOpportunityDetail.ts","frontend/src/views/orders/composables/useOrderDetail.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","reports/view-module-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","message":"Harden role-based smoke flows and permission guards\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","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-30T20:59:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agent-skills/ai-agent-skills.schema.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.ts","backend/src/modules/system-events/system-event.schema.ts","backend/src/shared/utils/validation.ts","e2e/tests/auth/tickets-smoke.spec.ts","frontend/src/views/sales-dashboard/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1905545,"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-30T19:56:11+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
|
24
|
0
|
1774876257
|
0
|
1774875576
|
1774876259
|
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
|
|
9742
|
Fix release gate type regressions in dashboard and Fix release gate type regressions in dashboard and query schemas...
|
6
|
5
|
e2e-tests.yml
|
9666
|
5
|
0
|
refs/heads/main
|
fb960500246fc412cf02a20cc0b316e9100eeb7f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","after":"fb960500246fc412cf02a20cc0b316e9100eeb7f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a...fb960500246fc412cf02a20cc0b316e9100eeb7f","commits":[{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","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-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]}],"total_commits":0,"head_commit":{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","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-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]},"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":1905979,"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-30T20:59:37+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
|
1774877161
|
1774878888
|
0
|
1774876257
|
1774879277
|
|
|
0
|
Edit
Delete
|
|
9744
|
Fix release gate type regressions in dashboard and Fix release gate type regressions in dashboard and query schemas...
|
6
|
5
|
test-pipeline.yml
|
9667
|
5
|
0
|
refs/heads/main
|
fb960500246fc412cf02a20cc0b316e9100eeb7f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","after":"fb960500246fc412cf02a20cc0b316e9100eeb7f","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a...fb960500246fc412cf02a20cc0b316e9100eeb7f","commits":[{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","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-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]}],"total_commits":0,"head_commit":{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","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-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]},"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":1905979,"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-30T20:59:37+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
|
1774878893
|
1774879227
|
0
|
1774876261
|
1774880519
|
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
|
|
9913
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
e2e-tests.yml
|
9837
|
5
|
0
|
refs/heads/main
|
9901c454467cf62d4e127620f218a97bcca01629
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fb960500246fc412cf02a20cc0b316e9100eeb7f","after":"9901c454467cf62d4e127620f218a97bcca01629","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/fb960500246fc412cf02a20cc0b316e9100eeb7f...9901c454467cf62d4e127620f218a97bcca01629","commits":[{"id":"9901c454467cf62d4e127620f218a97bcca01629","message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9901c454467cf62d4e127620f218a97bcca01629","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-31T10:08:45+08:00","added":[],"removed":[".claude/worktrees/crazy-pasteur",".claude/worktrees/dazzling-ramanujan",".claude/worktrees/exciting-mahavira",".claude/worktrees/nice-bassi",".claude/worktrees/vibrant-mestorf",".claude/worktrees/wonderful-darwin","e2e/playwright-report/data/5987d960550c1a694ee41c269f956510f82699ea.png","e2e/playwright-report/data/e6031c958be626746b5d7288737726de75f57e58.md"],"modified":[".claude/settings.json",".husky/pre-commit","AGENTS.md","CLAUDE.md","Makefile","backend/.env.example","backend/package.json","backend/scripts/run-api-suite.ts","backend/src/config/env.ts","backend/src/modules/ad-audiences/ad-audience.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-merchants/alliance-merchant.schema.ts","backend/src/modules/alliance-referrals/alliance-referral.schema.ts","backend/src/modules/audit-logs/audit-log.schema.ts","backend/src/modules/community-members/community-member.schema.ts","backend/src/modules/community-messages/community-message.schema.ts","backend/src/modules/content-copyright/content-copyright.schema.ts","backend/src/modules/content-review/content-review.schema.ts","backend/src/modules/content-templates/content-template.schema.ts","backend/src/modules/crm-activities/crm-activity.schema.ts","backend/src/modules/devices/asset-activation.schema.ts","backend/src/modules/event-logs/event-logs.schema.ts","backend/src/modules/faults/fault.schema.ts","backend/src/modules/geo-fences/geo-fences.schema.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-products/groupbuy-product.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-products/livestream-product.schema.ts","backend/src/modules/livestream-rooms/livestream-room.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/marketing-workflows/marketing-workflow.schema.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/products/services/product.schema.ts","backend/src/modules/renewals/renewal.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/social-accounts/social-account.schema.ts","backend/src/modules/social-auto-replies/social-auto-reply.schema.ts","backend/src/modules/store-inventory/store-inventory.schema.ts","backend/src/shared/process-core/process-adapter.ts","backend/vitest.api.config.ts","backend/vitest.config.api.ts","backend/vitest.config.ts","backend/vitest.integration.config.ts","backend/vitest.unit.config.ts","docs/governance/baseline-and-experience.md","e2e/package.json","e2e/playwright-report/index.html","e2e/test-results/results.json","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/users.ts","frontend/src/stores/orders.ts","frontend/src/types/enums.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/devices/Form.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/rma/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/sla/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/supply-chain/Index.vue","package.json","reports/commander-workset.latest.json","scripts/lib/governance-commander.ts","shared/package.json"]},{"id":"17eeeeca6840d3d7f84c9a6a381db62de7119483","message":"feat(harness): add Harness Engineering v2.0 assets\n\nAdd 5 audit scripts (field-payload, enum-consistency, formrules-zod,\nresponse-columns, module-coverage), P0 chain E2E tests (53 cases),\nSLO monitoring configs, health check service, and vitest workspace\nunified configuration.\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/17eeeeca6840d3d7f84c9a6a381db62de7119483","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-31T10:07:36+08:00","added":[".claude/commands/juhi/harness.md",".claude/skills/juhi/harness.md","backend/src/shared/services/health-check.service.ts","backend/vitest.workspace.ts","deploy/monitoring/alerting-rules.yml","deploy/monitoring/grafana-dashboard-slo.json","docs/operations/slo-definitions.md","e2e/helpers/p0-chain.helper.ts","e2e/tests/p0-chain/boundary-guards.spec.ts","e2e/tests/p0-chain/lead-to-cash.spec.ts","e2e/tests/p0-chain/state-transitions.spec.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/response-columns-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/audit-formrules-zod.ts","scripts/audit-module-coverage.ts","scripts/audit-response-columns.ts"],"removed":[],"modified":[]},{"id":"89e359306a90610d4d24002ab2f8eacc70ee3cb6","message":"feat(ai-agents): 完善模块全栈对齐 + 修复多租户隔离漏洞\n\n- fix(CRITICAL): multi-agent-collaboration 两处跨租户写入漏洞\n - updateSessionStatus 缺失 tenant_id 导致可跨租户篡改 session\n - addGroupMember 缺失 tenant_id 导致可跨租户修改 agent 协作标记\n- fix(Prisma↔Zod): workflow description .max(500)→.max(2000) 对齐 VarChar(2000)\n- fix(Zod): inputData 从 z.any() 改为 z.record(z.unknown()) (2处)\n- feat(statuses.ts): 补充 AI Agent/Task/Workflow 三组状态枚举+配置+转换规则\n- feat(types): 消除 7 处 any 类型,补充完整接口定义\n - AIAgentTrainingData/AIAgentMetrics/ListTrainingDataParams 等\n - CreateWorkflowInput steps/triggerConfig/errorHandling\n - IM 接口索引签名 any→unknown\n- feat(types): 新增 AITaskType(18值)/AITaskPriority(4值) 严格枚举\n- feat(types): AI_TASK_TYPE_OPTIONS 从 2 个补全到 18 个\n- feat(types): AI_TASK_STATUS_OPTIONS 补充 recovering 状态\n- feat(types): AI_AGENT_TYPE_OPTIONS 补充 ai_lead_collector\n- fix(types): CreateAIAgentInput.modelConfig 必填→可选对齐 Zod\n- fix(types): CreateTrainingDataInput.title 必填→可选对齐 Zod\n- fix(types): ListAITasksParams 补充 reviewStatus 字段\n- fix(types): WorkflowStepDefinition 字段名对齐 Zod (stepId/stepType/nextSteps)\n- refactor(router): 清理 458 行注释路由代码\n- feat(store): 补充 fetchOverviewStats/batchAssignTasks 方法\n- feat(llm-analyzer): 扩展为统一导出视觉/语义/转换三类 LLM 能力\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/89e359306a90610d4d24002ab2f8eacc70ee3cb6","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-31T09:57:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/services/llm-analyzer.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/shared/constants/statuses.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/stores/ai-agent.ts","frontend/src/types/ai-agent.ts"]}],"total_commits":0,"head_commit":{"id":"9901c454467cf62d4e127620f218a97bcca01629","message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9901c454467cf62d4e127620f218a97bcca01629","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-31T10:08:45+08:00","added":[],"removed":[".claude/worktrees/crazy-pasteur",".claude/worktrees/dazzling-ramanujan",".claude/worktrees/exciting-mahavira",".claude/worktrees/nice-bassi",".claude/worktrees/vibrant-mestorf",".claude/worktrees/wonderful-darwin","e2e/playwright-report/data/5987d960550c1a694ee41c269f956510f82699ea.png","e2e/playwright-report/data/e6031c958be626746b5d7288737726de75f57e58.md"],"modified":[".claude/settings.json",".husky/pre-commit","AGENTS.md","CLAUDE.md","Makefile","backend/.env.example","backend/package.json","backend/scripts/run-api-suite.ts","backend/src/config/env.ts","backend/src/modules/ad-audiences/ad-audience.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-merchants/alliance-merchant.schema.ts","backend/src/modules/alliance-referrals/alliance-referral.schema.ts","backend/src/modules/audit-logs/audit-log.schema.ts","backend/src/modules/community-members/community-member.schema.ts","backend/src/modules/community-messages/community-message.schema.ts","backend/src/modules/content-copyright/content-copyright.schema.ts","backend/src/modules/content-review/content-review.schema.ts","backend/src/modules/content-templates/content-template.schema.ts","backend/src/modules/crm-activities/crm-activity.schema.ts","backend/src/modules/devices/asset-activation.schema.ts","backend/src/modules/event-logs/event-logs.schema.ts","backend/src/modules/faults/fault.schema.ts","backend/src/modules/geo-fences/geo-fences.schema.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-products/groupbuy-product.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-products/livestream-product.schema.ts","backend/src/modules/livestream-rooms/livestream-room.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/marketing-workflows/marketing-workflow.schema.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/products/services/product.schema.ts","backend/src/modules/renewals/renewal.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/social-accounts/social-account.schema.ts","backend/src/modules/social-auto-replies/social-auto-reply.schema.ts","backend/src/modules/store-inventory/store-inventory.schema.ts","backend/src/shared/process-core/process-adapter.ts","backend/vitest.api.config.ts","backend/vitest.config.api.ts","backend/vitest.config.ts","backend/vitest.integration.config.ts","backend/vitest.unit.config.ts","docs/governance/baseline-and-experience.md","e2e/package.json","e2e/playwright-report/index.html","e2e/test-results/results.json","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/users.ts","frontend/src/stores/orders.ts","frontend/src/types/enums.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/devices/Form.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/rma/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/sla/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/supply-chain/Index.vue","package.json","reports/commander-workset.latest.json","scripts/lib/governance-commander.ts","shared/package.json"]},"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":1906045,"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-30T21:11:03+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
|
1774923481
|
1774924033
|
0
|
1774923479
|
1774926173
|
|
|
0
|
Edit
Delete
|
|
9914
|
feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施...
|
6
|
5
|
test-pipeline.yml
|
9838
|
5
|
0
|
refs/heads/main
|
9901c454467cf62d4e127620f218a97bcca01629
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fb960500246fc412cf02a20cc0b316e9100eeb7f","after":"9901c454467cf62d4e127620f218a97bcca01629","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/fb960500246fc412cf02a20cc0b316e9100eeb7f...9901c454467cf62d4e127620f218a97bcca01629","commits":[{"id":"9901c454467cf62d4e127620f218a97bcca01629","message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9901c454467cf62d4e127620f218a97bcca01629","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-31T10:08:45+08:00","added":[],"removed":[".claude/worktrees/crazy-pasteur",".claude/worktrees/dazzling-ramanujan",".claude/worktrees/exciting-mahavira",".claude/worktrees/nice-bassi",".claude/worktrees/vibrant-mestorf",".claude/worktrees/wonderful-darwin","e2e/playwright-report/data/5987d960550c1a694ee41c269f956510f82699ea.png","e2e/playwright-report/data/e6031c958be626746b5d7288737726de75f57e58.md"],"modified":[".claude/settings.json",".husky/pre-commit","AGENTS.md","CLAUDE.md","Makefile","backend/.env.example","backend/package.json","backend/scripts/run-api-suite.ts","backend/src/config/env.ts","backend/src/modules/ad-audiences/ad-audience.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-merchants/alliance-merchant.schema.ts","backend/src/modules/alliance-referrals/alliance-referral.schema.ts","backend/src/modules/audit-logs/audit-log.schema.ts","backend/src/modules/community-members/community-member.schema.ts","backend/src/modules/community-messages/community-message.schema.ts","backend/src/modules/content-copyright/content-copyright.schema.ts","backend/src/modules/content-review/content-review.schema.ts","backend/src/modules/content-templates/content-template.schema.ts","backend/src/modules/crm-activities/crm-activity.schema.ts","backend/src/modules/devices/asset-activation.schema.ts","backend/src/modules/event-logs/event-logs.schema.ts","backend/src/modules/faults/fault.schema.ts","backend/src/modules/geo-fences/geo-fences.schema.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-products/groupbuy-product.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-products/livestream-product.schema.ts","backend/src/modules/livestream-rooms/livestream-room.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/marketing-workflows/marketing-workflow.schema.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/products/services/product.schema.ts","backend/src/modules/renewals/renewal.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/social-accounts/social-account.schema.ts","backend/src/modules/social-auto-replies/social-auto-reply.schema.ts","backend/src/modules/store-inventory/store-inventory.schema.ts","backend/src/shared/process-core/process-adapter.ts","backend/vitest.api.config.ts","backend/vitest.config.api.ts","backend/vitest.config.ts","backend/vitest.integration.config.ts","backend/vitest.unit.config.ts","docs/governance/baseline-and-experience.md","e2e/package.json","e2e/playwright-report/index.html","e2e/test-results/results.json","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/users.ts","frontend/src/stores/orders.ts","frontend/src/types/enums.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/devices/Form.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/rma/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/sla/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/supply-chain/Index.vue","package.json","reports/commander-workset.latest.json","scripts/lib/governance-commander.ts","shared/package.json"]},{"id":"17eeeeca6840d3d7f84c9a6a381db62de7119483","message":"feat(harness): add Harness Engineering v2.0 assets\n\nAdd 5 audit scripts (field-payload, enum-consistency, formrules-zod,\nresponse-columns, module-coverage), P0 chain E2E tests (53 cases),\nSLO monitoring configs, health check service, and vitest workspace\nunified configuration.\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/17eeeeca6840d3d7f84c9a6a381db62de7119483","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-31T10:07:36+08:00","added":[".claude/commands/juhi/harness.md",".claude/skills/juhi/harness.md","backend/src/shared/services/health-check.service.ts","backend/vitest.workspace.ts","deploy/monitoring/alerting-rules.yml","deploy/monitoring/grafana-dashboard-slo.json","docs/operations/slo-definitions.md","e2e/helpers/p0-chain.helper.ts","e2e/tests/p0-chain/boundary-guards.spec.ts","e2e/tests/p0-chain/lead-to-cash.spec.ts","e2e/tests/p0-chain/state-transitions.spec.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/response-columns-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/audit-formrules-zod.ts","scripts/audit-module-coverage.ts","scripts/audit-response-columns.ts"],"removed":[],"modified":[]},{"id":"89e359306a90610d4d24002ab2f8eacc70ee3cb6","message":"feat(ai-agents): 完善模块全栈对齐 + 修复多租户隔离漏洞\n\n- fix(CRITICAL): multi-agent-collaboration 两处跨租户写入漏洞\n - updateSessionStatus 缺失 tenant_id 导致可跨租户篡改 session\n - addGroupMember 缺失 tenant_id 导致可跨租户修改 agent 协作标记\n- fix(Prisma↔Zod): workflow description .max(500)→.max(2000) 对齐 VarChar(2000)\n- fix(Zod): inputData 从 z.any() 改为 z.record(z.unknown()) (2处)\n- feat(statuses.ts): 补充 AI Agent/Task/Workflow 三组状态枚举+配置+转换规则\n- feat(types): 消除 7 处 any 类型,补充完整接口定义\n - AIAgentTrainingData/AIAgentMetrics/ListTrainingDataParams 等\n - CreateWorkflowInput steps/triggerConfig/errorHandling\n - IM 接口索引签名 any→unknown\n- feat(types): 新增 AITaskType(18值)/AITaskPriority(4值) 严格枚举\n- feat(types): AI_TASK_TYPE_OPTIONS 从 2 个补全到 18 个\n- feat(types): AI_TASK_STATUS_OPTIONS 补充 recovering 状态\n- feat(types): AI_AGENT_TYPE_OPTIONS 补充 ai_lead_collector\n- fix(types): CreateAIAgentInput.modelConfig 必填→可选对齐 Zod\n- fix(types): CreateTrainingDataInput.title 必填→可选对齐 Zod\n- fix(types): ListAITasksParams 补充 reviewStatus 字段\n- fix(types): WorkflowStepDefinition 字段名对齐 Zod (stepId/stepType/nextSteps)\n- refactor(router): 清理 458 行注释路由代码\n- feat(store): 补充 fetchOverviewStats/batchAssignTasks 方法\n- feat(llm-analyzer): 扩展为统一导出视觉/语义/转换三类 LLM 能力\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/89e359306a90610d4d24002ab2f8eacc70ee3cb6","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-31T09:57:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/services/llm-analyzer.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/shared/constants/statuses.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/stores/ai-agent.ts","frontend/src/types/ai-agent.ts"]}],"total_commits":0,"head_commit":{"id":"9901c454467cf62d4e127620f218a97bcca01629","message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9901c454467cf62d4e127620f218a97bcca01629","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-31T10:08:45+08:00","added":[],"removed":[".claude/worktrees/crazy-pasteur",".claude/worktrees/dazzling-ramanujan",".claude/worktrees/exciting-mahavira",".claude/worktrees/nice-bassi",".claude/worktrees/vibrant-mestorf",".claude/worktrees/wonderful-darwin","e2e/playwright-report/data/5987d960550c1a694ee41c269f956510f82699ea.png","e2e/playwright-report/data/e6031c958be626746b5d7288737726de75f57e58.md"],"modified":[".claude/settings.json",".husky/pre-commit","AGENTS.md","CLAUDE.md","Makefile","backend/.env.example","backend/package.json","backend/scripts/run-api-suite.ts","backend/src/config/env.ts","backend/src/modules/ad-audiences/ad-audience.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/alliance-merchants/alliance-merchant.schema.ts","backend/src/modules/alliance-referrals/alliance-referral.schema.ts","backend/src/modules/audit-logs/audit-log.schema.ts","backend/src/modules/community-members/community-member.schema.ts","backend/src/modules/community-messages/community-message.schema.ts","backend/src/modules/content-copyright/content-copyright.schema.ts","backend/src/modules/content-review/content-review.schema.ts","backend/src/modules/content-templates/content-template.schema.ts","backend/src/modules/crm-activities/crm-activity.schema.ts","backend/src/modules/devices/asset-activation.schema.ts","backend/src/modules/event-logs/event-logs.schema.ts","backend/src/modules/faults/fault.schema.ts","backend/src/modules/geo-fences/geo-fences.schema.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/groupbuy-campaigns/groupbuy-campaign.schema.ts","backend/src/modules/groupbuy-influencers/groupbuy-influencer.schema.ts","backend/src/modules/groupbuy-products/groupbuy-product.schema.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/livestream-gifts/livestream-gifts.schema.ts","backend/src/modules/livestream-products/livestream-product.schema.ts","backend/src/modules/livestream-rooms/livestream-room.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/marketing-workflows/marketing-workflow.schema.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/orders/order.schema.ts","backend/src/modules/products/services/product.schema.ts","backend/src/modules/renewals/renewal.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/social-accounts/social-account.schema.ts","backend/src/modules/social-auto-replies/social-auto-reply.schema.ts","backend/src/modules/store-inventory/store-inventory.schema.ts","backend/src/shared/process-core/process-adapter.ts","backend/vitest.api.config.ts","backend/vitest.config.api.ts","backend/vitest.config.ts","backend/vitest.integration.config.ts","backend/vitest.unit.config.ts","docs/governance/baseline-and-experience.md","e2e/package.json","e2e/playwright-report/index.html","e2e/test-results/results.json","frontend/src/api/modules/admin-settings.ts","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-coupons.ts","frontend/src/api/modules/alliance-packages.ts","frontend/src/api/modules/alliance-partners.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/auth.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-tasks.ts","frontend/src/api/modules/content-analytics.ts","frontend/src/api/modules/contracts.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/faults.ts","frontend/src/api/modules/geo-reviews.ts","frontend/src/api/modules/groupbuy-inventory.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-gifts.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-workflows.ts","frontend/src/api/modules/menus.ts","frontend/src/api/modules/partners.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/store-inventory.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/users.ts","frontend/src/stores/orders.ts","frontend/src/types/enums.ts","frontend/src/views/ad-biddings/Form.vue","frontend/src/views/ad-campaigns/Form.vue","frontend/src/views/alliance-partners/Form.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/StoreSelectionDialog.vue","frontend/src/views/campaigns/wizard/Step4Stores.vue","frontend/src/views/commissions/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/devices/Form.vue","frontend/src/views/disbursements/components/DisbursementFormDialog.vue","frontend/src/views/disbursements/components/ExpenseCategoryFormDialog.vue","frontend/src/views/disbursements/components/ExpenseClaimFormDialog.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-scoring/Index.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Schedules.vue","frontend/src/views/marketing-content/ContentForm.vue","frontend/src/views/orders/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/partners/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/PlanForm.vue","frontend/src/views/projects/Tasks.vue","frontend/src/views/projects/components/gantt/ProjectGanttToolbar.vue","frontend/src/views/rma/Index.vue","frontend/src/views/search/Index.vue","frontend/src/views/sla/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","frontend/src/views/supplier-management/Applications.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/supplier-management/JBPs.vue","frontend/src/views/supplier-management/Rejections.vue","frontend/src/views/supplier-management/Risks.vue","frontend/src/views/suppliers/Detail.vue","frontend/src/views/supply-chain/Index.vue","package.json","reports/commander-workset.latest.json","scripts/lib/governance-commander.ts","shared/package.json"]},"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":1906045,"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-30T21:11:03+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
|
1774924034
|
1774925150
|
0
|
1774923480
|
1774927462
|
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
|
|
9956
|
chore: 更新 Claude 配置与 AI Autopilot 测试输出
|
6
|
5
|
e2e-tests.yml
|
9880
|
5
|
0
|
refs/heads/main
|
dffb3332733fb56fd51632938c4379422125381c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9901c454467cf62d4e127620f218a97bcca01629","after":"dffb3332733fb56fd51632938c4379422125381c","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9901c454467cf62d4e127620f218a97bcca01629...dffb3332733fb56fd51632938c4379422125381c","commits":[{"id":"dffb3332733fb56fd51632938c4379422125381c","message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dffb3332733fb56fd51632938c4379422125381c","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-31T13:19:02+08:00","added":["e2e/output/autopilot/ai_test_1774920837785/prepare-ok.json","e2e/output/autopilot/ai_test_1774920837785/result.json","e2e/output/autopilot/ai_test_1774921179465/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179465/result.json","e2e/output/autopilot/ai_test_1774921179491/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179491/result.json","e2e/output/autopilot/ai_test_1774921181639/result.json","e2e/output/autopilot/ai_test_1774921502513/prepare-ok.json","e2e/output/autopilot/ai_test_1774921502513/result.json","e2e/output/autopilot/ai_test_1774921504727/result.json"],"removed":[],"modified":[".claude/settings.json"]}],"total_commits":0,"head_commit":{"id":"dffb3332733fb56fd51632938c4379422125381c","message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dffb3332733fb56fd51632938c4379422125381c","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-31T13:19:02+08:00","added":["e2e/output/autopilot/ai_test_1774920837785/prepare-ok.json","e2e/output/autopilot/ai_test_1774920837785/result.json","e2e/output/autopilot/ai_test_1774921179465/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179465/result.json","e2e/output/autopilot/ai_test_1774921179491/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179491/result.json","e2e/output/autopilot/ai_test_1774921181639/result.json","e2e/output/autopilot/ai_test_1774921502513/prepare-ok.json","e2e/output/autopilot/ai_test_1774921502513/result.json","e2e/output/autopilot/ai_test_1774921504727/result.json"],"removed":[],"modified":[".claude/settings.json"]},"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":3546146,"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-31T10:18:02+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
|
1774934356
|
1774934823
|
0
|
1774934355
|
1774936030
|
|
|
0
|
Edit
Delete
|
|
9957
|
chore: 更新 Claude 配置与 AI Autopilot 测试输出
|
6
|
5
|
test-pipeline.yml
|
9881
|
5
|
0
|
refs/heads/main
|
dffb3332733fb56fd51632938c4379422125381c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9901c454467cf62d4e127620f218a97bcca01629","after":"dffb3332733fb56fd51632938c4379422125381c","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9901c454467cf62d4e127620f218a97bcca01629...dffb3332733fb56fd51632938c4379422125381c","commits":[{"id":"dffb3332733fb56fd51632938c4379422125381c","message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dffb3332733fb56fd51632938c4379422125381c","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-31T13:19:02+08:00","added":["e2e/output/autopilot/ai_test_1774920837785/prepare-ok.json","e2e/output/autopilot/ai_test_1774920837785/result.json","e2e/output/autopilot/ai_test_1774921179465/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179465/result.json","e2e/output/autopilot/ai_test_1774921179491/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179491/result.json","e2e/output/autopilot/ai_test_1774921181639/result.json","e2e/output/autopilot/ai_test_1774921502513/prepare-ok.json","e2e/output/autopilot/ai_test_1774921502513/result.json","e2e/output/autopilot/ai_test_1774921504727/result.json"],"removed":[],"modified":[".claude/settings.json"]}],"total_commits":0,"head_commit":{"id":"dffb3332733fb56fd51632938c4379422125381c","message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dffb3332733fb56fd51632938c4379422125381c","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-31T13:19:02+08:00","added":["e2e/output/autopilot/ai_test_1774920837785/prepare-ok.json","e2e/output/autopilot/ai_test_1774920837785/result.json","e2e/output/autopilot/ai_test_1774921179465/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179465/result.json","e2e/output/autopilot/ai_test_1774921179491/prepare-ok.json","e2e/output/autopilot/ai_test_1774921179491/result.json","e2e/output/autopilot/ai_test_1774921181639/result.json","e2e/output/autopilot/ai_test_1774921502513/prepare-ok.json","e2e/output/autopilot/ai_test_1774921502513/result.json","e2e/output/autopilot/ai_test_1774921504727/result.json"],"removed":[],"modified":[".claude/settings.json"]},"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":3546146,"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-31T10:18:02+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
|
1774934824
|
1774936016
|
0
|
1774934356
|
1774936265
|
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
|
|
10046
|
Harden invoice detail formatting and finance smoke Harden invoice detail formatting and finance smoke coverage...
|
6
|
5
|
e2e-tests.yml
|
9970
|
5
|
0
|
refs/heads/main
|
46635b50050ba09e31518824f56b1e2176e7b0b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"dffb3332733fb56fd51632938c4379422125381c","after":"46635b50050ba09e31518824f56b1e2176e7b0b7","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/dffb3332733fb56fd51632938c4379422125381c...46635b50050ba09e31518824f56b1e2176e7b0b7","commits":[{"id":"46635b50050ba09e31518824f56b1e2176e7b0b7","message":"Harden invoice detail formatting and finance smoke coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46635b50050ba09e31518824f56b1e2176e7b0b7","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-31T10:44:07+08:00","added":[],"removed":[],"modified":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts","frontend/src/views/invoices/Detail.vue"]},{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","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-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]},{"id":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","message":"Harden role-based smoke flows and permission guards\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","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-30T20:59:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agent-skills/ai-agent-skills.schema.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.ts","backend/src/modules/system-events/system-event.schema.ts","backend/src/shared/utils/validation.ts","e2e/tests/auth/tickets-smoke.spec.ts","frontend/src/views/sales-dashboard/Index.vue"]},{"id":"704bdd5de0d4b0661c28286c0cbb71bae53e26cc","message":"Refine governance baselines and align module acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/704bdd5de0d4b0661c28286c0cbb71bae53e26cc","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-30T20:25:39+08:00","added":["docs/reports/view-audit-domains/a1-acquisition-center-2026-03-30.md","docs/reports/view-audit-domains/a2-finance-center-2026-03-30.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-03-30.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-03-30.md","docs/reports/view-audit-domains/a5-admin-center-2026-03-30.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-03-30.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-03-30.md","docs/reports/view-audit-domains/a8-system-center-2026-03-30.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-03-30.md","docs/reports/view-audit-full-matrix-2026-03-30.md"],"removed":[],"modified":["backend/tests/api/channels.test.ts","backend/tests/api/community-messages.test.ts","backend/tests/api/im-channels.test.ts","backend/tests/api/knowledge-feedback.test.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/fixtures/service-center-smoke.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/MyWorkCalendar.vue","frontend/src/views/opportunities/Detail.vue","frontend/src/views/opportunities/components/useOpportunityDetail.ts","frontend/src/views/orders/composables/useOrderDetail.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","reports/view-module-audit.latest.json"]},{"id":"8a7978e163a401654f636377fc9ca790391d8779","message":"Fix role query transforms and update evidence reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a7978e163a401654f636377fc9ca790391d8779","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:55:47+08:00","added":["backend/src/modules/roles/role.schema.test.ts"],"removed":[],"modified":["backend/src/modules/roles/role.schema.ts","backend/src/shared/utils/validation.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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"]}],"total_commits":0,"head_commit":{"id":"46635b50050ba09e31518824f56b1e2176e7b0b7","message":"Harden invoice detail formatting and finance smoke coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46635b50050ba09e31518824f56b1e2176e7b0b7","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-31T10:44:07+08:00","added":[],"removed":[],"modified":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts","frontend/src/views/invoices/Detail.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+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
|
1774957473
|
1774958178
|
0
|
1774957472
|
1774958478
|
|
|
0
|
Edit
Delete
|
|
10047
|
Harden invoice detail formatting and finance smoke Harden invoice detail formatting and finance smoke coverage...
|
6
|
5
|
test-pipeline.yml
|
9971
|
5
|
0
|
refs/heads/main
|
46635b50050ba09e31518824f56b1e2176e7b0b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"dffb3332733fb56fd51632938c4379422125381c","after":"46635b50050ba09e31518824f56b1e2176e7b0b7","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/dffb3332733fb56fd51632938c4379422125381c...46635b50050ba09e31518824f56b1e2176e7b0b7","commits":[{"id":"46635b50050ba09e31518824f56b1e2176e7b0b7","message":"Harden invoice detail formatting and finance smoke coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46635b50050ba09e31518824f56b1e2176e7b0b7","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-31T10:44:07+08:00","added":[],"removed":[],"modified":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts","frontend/src/views/invoices/Detail.vue"]},{"id":"fb960500246fc412cf02a20cc0b316e9100eeb7f","message":"Fix release gate type regressions in dashboard and query schemas\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb960500246fc412cf02a20cc0b316e9100eeb7f","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-30T21:10:48+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md"]},{"id":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","message":"Harden role-based smoke flows and permission guards\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","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-30T20:59:20+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agent-skills/ai-agent-skills.schema.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.ts","backend/src/modules/system-events/system-event.schema.ts","backend/src/shared/utils/validation.ts","e2e/tests/auth/tickets-smoke.spec.ts","frontend/src/views/sales-dashboard/Index.vue"]},{"id":"704bdd5de0d4b0661c28286c0cbb71bae53e26cc","message":"Refine governance baselines and align module acceptance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/704bdd5de0d4b0661c28286c0cbb71bae53e26cc","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-30T20:25:39+08:00","added":["docs/reports/view-audit-domains/a1-acquisition-center-2026-03-30.md","docs/reports/view-audit-domains/a2-finance-center-2026-03-30.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-03-30.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-03-30.md","docs/reports/view-audit-domains/a5-admin-center-2026-03-30.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-03-30.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-03-30.md","docs/reports/view-audit-domains/a8-system-center-2026-03-30.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-03-30.md","docs/reports/view-audit-full-matrix-2026-03-30.md"],"removed":[],"modified":["backend/tests/api/channels.test.ts","backend/tests/api/community-messages.test.ts","backend/tests/api/im-channels.test.ts","backend/tests/api/knowledge-feedback.test.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/fixtures/service-center-smoke.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/MyWorkCalendar.vue","frontend/src/views/opportunities/Detail.vue","frontend/src/views/opportunities/components/useOpportunityDetail.ts","frontend/src/views/orders/composables/useOrderDetail.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","reports/view-module-audit.latest.json"]},{"id":"8a7978e163a401654f636377fc9ca790391d8779","message":"Fix role query transforms and update evidence reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8a7978e163a401654f636377fc9ca790391d8779","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:55:47+08:00","added":["backend/src/modules/roles/role.schema.test.ts"],"removed":[],"modified":["backend/src/modules/roles/role.schema.ts","backend/src/shared/utils/validation.ts","docs/reports/knowledge-feedback-acceptance-card-2026-03-30.md","docs/reports/knowledge-feedback-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"]}],"total_commits":0,"head_commit":{"id":"46635b50050ba09e31518824f56b1e2176e7b0b7","message":"Harden invoice detail formatting and finance smoke coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46635b50050ba09e31518824f56b1e2176e7b0b7","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-31T10:44:07+08:00","added":[],"removed":[],"modified":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts","frontend/src/views/invoices/Detail.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+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
|
1774958179
|
1774958441
|
0
|
1774957473
|
1774960753
|
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
|
|
10419
|
feat(statuses): add 61 missing enum definitions to feat(statuses): add 61 missing enum definitions to statuses.ts...
|
6
|
5
|
e2e-tests.yml
|
10343
|
5
|
0
|
refs/heads/main
|
7212eb23c82b2ecae9ea1f22fa928fc6382f842d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"46635b50050ba09e31518824f56b1e2176e7b0b7","after":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/46635b50050ba09e31518824f56b1e2176e7b0b7...7212eb23c82b2ecae9ea1f22fa928fc6382f842d","commits":[{"id":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7212eb23c82b2ecae9ea1f22fa928fc6382f842d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:59:43+08:00","added":[],"removed":[],"modified":["backend/src/shared/constants/statuses.ts"]},{"id":"f94b12e56bac07b085d726a5205b134f3b46d56c","message":"fix: schema字段补齐 + 枚举审计补全 + leads N+1修复 + API测试扩展\n\n- 补齐 alliance-agreements/coupons/campaigns、community-tasks/bots、groupbuy-promotions 的 Zod schema 缺失字段\n- statuses.ts 新增审计补齐的枚举定义(ABM/approval/AR-ledger 等)\n- leads 列表去除 AI enrichment 避免 N+1 性能瓶颈\n- dashboard-cache 增加 destroy() 防止定时器泄漏,main.ts 注册关闭钩子\n- 扩展 assets/auth/financial-reports API 测试用例\n- 刷新 7 份审计报告\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f94b12e56bac07b085d726a5205b134f3b46d56c","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:57:16+08:00","added":[],"removed":[],"modified":["backend/src/main.ts","backend/src/modules/alliance-agreements/alliance-agreement.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/community-bots/community-bot.schema.ts","backend/src/modules/community-tasks/community-task.schema.ts","backend/src/modules/dashboard/dashboard-cache.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/shared/constants/statuses.ts","backend/tests/api/assets.test.ts","backend/tests/api/auth.test.ts","backend/tests/api/financial-reports.test.ts","backend/tests/api/module-catalog.ts","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"83dba3313659e6cae54f44e9b5f92ed76cdc6930","message":"fix(outbox): move publishEvent outside $transaction for 20 B-class calls\n\nEnsure Kafka events are only published after transaction commits\nsuccessfully, preventing phantom events on rollback.\n\nModules: customer-balance(6), rma(3), targets(2), swot(2), devices(1),\nproducts(1), renewals(1), ar-ledger(1), commission-settlement(1),\nserial-numbers(1), lead-collector(1 - already A-class on review)\n\nGate: tsc 0 | 408 files 6410 tests 100%\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83dba3313659e6cae54f44e9b5f92ed76cdc6930","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:50:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/customer-balance/customer-balance.service.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.service.ts"]},{"id":"030461be827686bdc356980b5b9194d818d792b9","message":"Harden deployment checks and expand API coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/030461be827686bdc356980b5b9194d818d792b9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:41:49+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/customer-balance/customer-balance.service.ts","backend/tests/api/module-catalog.ts","backend/tests/api/web-tracking.test.ts","frontend/src/api/modules/supplier-management.ts","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"7502b39b876a708302cebd203aa34871ea2a5e1b","message":"fix(docker): increase Node memory for frontend Vite build in Docker\n\nLarge project (735 JS chunks) needs more heap to avoid OOM during\nproduction build inside Alpine container.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7502b39b876a708302cebd203aa34871ea2a5e1b","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:37:34+08:00","added":[],"removed":[],"modified":["frontend/Dockerfile"]}],"total_commits":0,"head_commit":{"id":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7212eb23c82b2ecae9ea1f22fa928fc6382f842d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:59:43+08:00","added":[],"removed":[],"modified":["backend/src/shared/constants/statuses.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/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T19:44:35+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
|
1775066752
|
1775067060
|
0
|
1775066750
|
1775067155
|
|
|
0
|
Edit
Delete
|
|
10420
|
feat(statuses): add 61 missing enum definitions to feat(statuses): add 61 missing enum definitions to statuses.ts...
|
6
|
5
|
test-pipeline.yml
|
10344
|
5
|
0
|
refs/heads/main
|
7212eb23c82b2ecae9ea1f22fa928fc6382f842d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"46635b50050ba09e31518824f56b1e2176e7b0b7","after":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/46635b50050ba09e31518824f56b1e2176e7b0b7...7212eb23c82b2ecae9ea1f22fa928fc6382f842d","commits":[{"id":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7212eb23c82b2ecae9ea1f22fa928fc6382f842d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:59:43+08:00","added":[],"removed":[],"modified":["backend/src/shared/constants/statuses.ts"]},{"id":"f94b12e56bac07b085d726a5205b134f3b46d56c","message":"fix: schema字段补齐 + 枚举审计补全 + leads N+1修复 + API测试扩展\n\n- 补齐 alliance-agreements/coupons/campaigns、community-tasks/bots、groupbuy-promotions 的 Zod schema 缺失字段\n- statuses.ts 新增审计补齐的枚举定义(ABM/approval/AR-ledger 等)\n- leads 列表去除 AI enrichment 避免 N+1 性能瓶颈\n- dashboard-cache 增加 destroy() 防止定时器泄漏,main.ts 注册关闭钩子\n- 扩展 assets/auth/financial-reports API 测试用例\n- 刷新 7 份审计报告\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/f94b12e56bac07b085d726a5205b134f3b46d56c","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:57:16+08:00","added":[],"removed":[],"modified":["backend/src/main.ts","backend/src/modules/alliance-agreements/alliance-agreement.schema.ts","backend/src/modules/alliance-campaigns/alliance-campaign.schema.ts","backend/src/modules/alliance-coupons/alliance-coupon.schema.ts","backend/src/modules/community-bots/community-bot.schema.ts","backend/src/modules/community-tasks/community-task.schema.ts","backend/src/modules/dashboard/dashboard-cache.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/shared/constants/statuses.ts","backend/tests/api/assets.test.ts","backend/tests/api/auth.test.ts","backend/tests/api/financial-reports.test.ts","backend/tests/api/module-catalog.ts","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"83dba3313659e6cae54f44e9b5f92ed76cdc6930","message":"fix(outbox): move publishEvent outside $transaction for 20 B-class calls\n\nEnsure Kafka events are only published after transaction commits\nsuccessfully, preventing phantom events on rollback.\n\nModules: customer-balance(6), rma(3), targets(2), swot(2), devices(1),\nproducts(1), renewals(1), ar-ledger(1), commission-settlement(1),\nserial-numbers(1), lead-collector(1 - already A-class on review)\n\nGate: tsc 0 | 408 files 6410 tests 100%\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/83dba3313659e6cae54f44e9b5f92ed76cdc6930","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:50:02+08:00","added":[],"removed":[],"modified":["backend/src/modules/customer-balance/customer-balance.service.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/targets/target.service.ts"]},{"id":"030461be827686bdc356980b5b9194d818d792b9","message":"Harden deployment checks and expand API coverage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/030461be827686bdc356980b5b9194d818d792b9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:41:49+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/customer-balance/customer-balance.service.ts","backend/tests/api/module-catalog.ts","backend/tests/api/web-tracking.test.ts","frontend/src/api/modules/supplier-management.ts","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"7502b39b876a708302cebd203aa34871ea2a5e1b","message":"fix(docker): increase Node memory for frontend Vite build in Docker\n\nLarge project (735 JS chunks) needs more heap to avoid OOM during\nproduction build inside Alpine container.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7502b39b876a708302cebd203aa34871ea2a5e1b","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:37:34+08:00","added":[],"removed":[],"modified":["frontend/Dockerfile"]}],"total_commits":0,"head_commit":{"id":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7212eb23c82b2ecae9ea1f22fa928fc6382f842d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T01:59:43+08:00","added":[],"removed":[],"modified":["backend/src/shared/constants/statuses.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/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T19:44:35+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
|
1775067061
|
1775067122
|
0
|
1775066751
|
1775068309
|
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
|
|
10528
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
e2e-tests.yml
|
10452
|
5
|
0
|
refs/heads/main
|
624893ef324e57874ecb721dfd5539eb58d49b8e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","after":"624893ef324e57874ecb721dfd5539eb58d49b8e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/7212eb23c82b2ecae9ea1f22fa928fc6382f842d...624893ef324e57874ecb721dfd5539eb58d49b8e","commits":[{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.ts"]},{"id":"ad579baf8043eb72ed26d4b2750a83bf39888acf","message":"Advance harness governance and align enum sources\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad579baf8043eb72ed26d4b2750a83bf39888acf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:46:31+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/governance/baseline-and-experience.md","frontend/src/api/modules/channels.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/suppliers/Detail.vue","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","scripts/harness/report.ts"]},{"id":"a11d601814a16c9221a3a43172d3ba80e47ab5d8","message":"chore: refresh outbox and harness dashboard reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a11d601814a16c9221a3a43172d3ba80e47ab5d8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:42+08:00","added":[],"removed":[],"modified":["reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json"]},{"id":"2b5617f7972d9e2e8d8714659d24a0629a387ff9","message":"chore: clean up E2E reports and sync audit scripts\n\n- Remove stale playwright report artifacts\n- Update outbox-atomicity audit script\n- Refresh E2E auth session\n- Add new E2E test fixtures\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2b5617f7972d9e2e8d8714659d24a0629a387ff9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:27+08:00","added":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/ui-lead-created.png"],"removed":["e2e/playwright-report/data/08814a62bc42dda0a801567cc9d4c6cf9108644f.png","e2e/playwright-report/data/08ae5320caa7ecb0943f1b38c4c138f60d9004c3.md","e2e/playwright-report/data/1cba8ad03f3e633e0a9b010b05e07c93a5dfc44a.png","e2e/playwright-report/data/1d43f546e96c93650a26552a100c1855a88d5458.png","e2e/playwright-report/data/5fb52d57fb25da788351f81f13f38f47b49d8b1f.png","e2e/playwright-report/data/6f0eb64dd0e32bcdd5c42b43e2c9b28a889500f2.md","e2e/playwright-report/data/74e23d758057f5aed55e9fbf3ece31b9d3acea58.png","e2e/playwright-report/data/9ab0f255905482fca6d669a755fd9b960bb373fc.png","e2e/playwright-report/data/a5d205df4f843ab178a43626f09d16d3c119f64b.png","e2e/playwright-report/data/a9144dba21c9cb4f71a0e572a1c614ba88aeecc3.png","e2e/playwright-report/data/b3cf18b7fc81abe0483c5b53d8d595ec25d48bf2.png","e2e/playwright-report/data/b6880efa02d1267768bc45dce241b63de538c889.md","e2e/playwright-report/data/c88450e727adf63687ab82953a1feb25d41783b6.png","e2e/playwright-report/data/d22ec590fa752ce8d4e445623611badd1dd32aec.png","e2e/playwright-report/data/d25303c48b8928a147c383e3a15ad19f7ca9f0ca.md","e2e/playwright-report/data/db687a8cb0ddb131fe43b1624363672704a90635.png","e2e/playwright-report/data/e9bf62f6a8fb0b7f4fd2adcf360c6c709f3f0c3c.png","e2e/playwright-report/data/fbba64b2ea6842818d1bc5425e078f1688c87111.png","e2e/playwright-report/data/fec0773e4a656970b1bfa0f108a88929a9099f30.png","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/test-failed-1.png"],"modified":["backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-线索.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/adapters.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/types/enums.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/web-tracking/Index.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"5276d7aba4c8e857b2fb6c26eb6445143fbf9802","message":"fix: resolve remaining field-payload ERRORs and update audit reports\n\n- Fix 3 remaining field-payload ERROR (commissions/payments/price-books\n createSchema optional→required alignment)\n- Update geo-pois service and tests\n- Refresh all audit reports (enum/field-payload/outbox/type-debt)\n- Update governance docs and project documentation\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\n\nfield-payload: ERROR 3→0, WARNING 61 (stable)\nenum: ERROR 5 (audit mismatch), WARNING 14\nOutbox B-class: 3 (all passing tx — audit false positive)\nNon-test as any: 0 (all remaining are comments only)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5276d7aba4c8e857b2fb6c26eb6445143fbf9802","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:05+08:00","added":["backend/tests/api/events.test.ts","backend/tests/api/store-performance.test.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-02.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-02.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-02.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-02.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-02.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-02.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-02.md","docs/reports/view-audit-domains/a8-system-center-2026-04-02.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-02.md","docs/reports/view-audit-full-matrix-2026-04-02.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/price-books/price-definition.schema.ts","backend/tests/api/community-analytics.test.ts","backend/tests/api/contract-templates.test.ts","backend/tests/api/module-catalog.ts","backend/tests/api/process-designer.test.ts","backend/tests/api/reconciliation.test.ts","backend/tests/api/store-ops-access.test.ts","docs/governance/baseline-and-experience.md","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-changed.latest.json","reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/harness/audit-registry.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.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/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":5197876,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T02:05:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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
|
1775097114
|
1775097303
|
0
|
1775097114
|
1775098414
|
|
|
0
|
Edit
Delete
|
|
10529
|
fix(schema): annotate 47 Prisma String? fields + f fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E...
|
6
|
5
|
test-pipeline.yml
|
10453
|
5
|
0
|
refs/heads/main
|
624893ef324e57874ecb721dfd5539eb58d49b8e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","after":"624893ef324e57874ecb721dfd5539eb58d49b8e","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/7212eb23c82b2ecae9ea1f22fa928fc6382f842d...624893ef324e57874ecb721dfd5539eb58d49b8e","commits":[{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.ts"]},{"id":"ad579baf8043eb72ed26d4b2750a83bf39888acf","message":"Advance harness governance and align enum sources\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ad579baf8043eb72ed26d4b2750a83bf39888acf","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:46:31+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/governance/baseline-and-experience.md","frontend/src/api/modules/channels.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/suppliers/Detail.vue","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","scripts/harness/report.ts"]},{"id":"a11d601814a16c9221a3a43172d3ba80e47ab5d8","message":"chore: refresh outbox and harness dashboard reports\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a11d601814a16c9221a3a43172d3ba80e47ab5d8","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:42+08:00","added":[],"removed":[],"modified":["reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json"]},{"id":"2b5617f7972d9e2e8d8714659d24a0629a387ff9","message":"chore: clean up E2E reports and sync audit scripts\n\n- Remove stale playwright report artifacts\n- Update outbox-atomicity audit script\n- Refresh E2E auth session\n- Add new E2E test fixtures\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2b5617f7972d9e2e8d8714659d24a0629a387ff9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:27+08:00","added":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/ui-lead-created.png"],"removed":["e2e/playwright-report/data/08814a62bc42dda0a801567cc9d4c6cf9108644f.png","e2e/playwright-report/data/08ae5320caa7ecb0943f1b38c4c138f60d9004c3.md","e2e/playwright-report/data/1cba8ad03f3e633e0a9b010b05e07c93a5dfc44a.png","e2e/playwright-report/data/1d43f546e96c93650a26552a100c1855a88d5458.png","e2e/playwright-report/data/5fb52d57fb25da788351f81f13f38f47b49d8b1f.png","e2e/playwright-report/data/6f0eb64dd0e32bcdd5c42b43e2c9b28a889500f2.md","e2e/playwright-report/data/74e23d758057f5aed55e9fbf3ece31b9d3acea58.png","e2e/playwright-report/data/9ab0f255905482fca6d669a755fd9b960bb373fc.png","e2e/playwright-report/data/a5d205df4f843ab178a43626f09d16d3c119f64b.png","e2e/playwright-report/data/a9144dba21c9cb4f71a0e572a1c614ba88aeecc3.png","e2e/playwright-report/data/b3cf18b7fc81abe0483c5b53d8d595ec25d48bf2.png","e2e/playwright-report/data/b6880efa02d1267768bc45dce241b63de538c889.md","e2e/playwright-report/data/c88450e727adf63687ab82953a1feb25d41783b6.png","e2e/playwright-report/data/d22ec590fa752ce8d4e445623611badd1dd32aec.png","e2e/playwright-report/data/d25303c48b8928a147c383e3a15ad19f7ca9f0ca.md","e2e/playwright-report/data/db687a8cb0ddb131fe43b1624363672704a90635.png","e2e/playwright-report/data/e9bf62f6a8fb0b7f4fd2adcf360c6c709f3f0c3c.png","e2e/playwright-report/data/fbba64b2ea6842818d1bc5425e078f1688c87111.png","e2e/playwright-report/data/fec0773e4a656970b1bfa0f108a88929a9099f30.png","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-并发操作-同一订单并发支付不应导致重复扣款-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建工单---缺少主题应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-必填字段验证-创建线索---缺少公司名称应返回-4xx-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-0f9bf--to-Renewal-Phase-2-线索转化为商机-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-UI-创建线索-通过-UI-表单创建新线索-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-合同列表页可正常访问-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-245f6-act-合同-回退场景-submit-→-reject-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3594e--→-支付-→-发货-→-交付-→-completed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-3b128-ding-sign-→-signed-→-active-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-66015-合同-终止场景-active-→-terminated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-7ae5b--取消场景-confirmed-→-cancelled-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-94d5a-ted-→-qualified-→-converted-chromium/test-failed-1.png"],"modified":["backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-线索.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/adapters.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/channels.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/event-subscriptions.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/renewal-tasks.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/stage-knowledge.ts","frontend/src/api/modules/supply-chain.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/types/enums.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/financial-reports/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/reports/Schedules.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/supply-chain/Index.vue","frontend/src/views/web-tracking/Index.vue","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json"]},{"id":"5276d7aba4c8e857b2fb6c26eb6445143fbf9802","message":"fix: resolve remaining field-payload ERRORs and update audit reports\n\n- Fix 3 remaining field-payload ERROR (commissions/payments/price-books\n createSchema optional→required alignment)\n- Update geo-pois service and tests\n- Refresh all audit reports (enum/field-payload/outbox/type-debt)\n- Update governance docs and project documentation\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\n\nfield-payload: ERROR 3→0, WARNING 61 (stable)\nenum: ERROR 5 (audit mismatch), WARNING 14\nOutbox B-class: 3 (all passing tx — audit false positive)\nNon-test as any: 0 (all remaining are comments only)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5276d7aba4c8e857b2fb6c26eb6445143fbf9802","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:45:05+08:00","added":["backend/tests/api/events.test.ts","backend/tests/api/store-performance.test.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-02.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-02.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-02.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-02.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-02.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-02.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-02.md","docs/reports/view-audit-domains/a8-system-center-2026-04-02.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-02.md","docs/reports/view-audit-full-matrix-2026-04-02.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/geo-pois/geo-poi.service.test.ts","backend/src/modules/geo-pois/geo-poi.service.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/price-books/price-definition.schema.ts","backend/tests/api/community-analytics.test.ts","backend/tests/api/contract-templates.test.ts","backend/tests/api/module-catalog.ts","backend/tests/api/process-designer.test.ts","backend/tests/api/reconciliation.test.ts","backend/tests/api/store-ops-access.test.ts","docs/governance/baseline-and-experience.md","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-changed.latest.json","reports/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-enum-consistency.ts","scripts/audit-field-payload.ts","scripts/harness/audit-registry.ts","scripts/harness/report.ts"]}],"total_commits":0,"head_commit":{"id":"624893ef324e57874ecb721dfd5539eb58d49b8e","message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/624893ef324e57874ecb721dfd5539eb58d49b8e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-02T06:59:18+08:00","added":["e2e/playwright-report/data/120f8592f0449e7d84ecbb98535f92dbd5c055df.png","e2e/playwright-report/data/6a680276f19eb94c37efac2217eb10187216fc8d.png","e2e/playwright-report/data/8f49f37de62cf7c3163a26e1c24fc10fb4addae7.md","e2e/playwright-report/data/aefe43d14b4c42045c882db4c112b0f5536f7381.md","e2e/playwright-report/data/b1b4116ac344e1e9335a1c933cb1166e6b548ead.png","e2e/playwright-report/data/b6c0c18844d3465d82e2f6c53316a066c88520fb.png","e2e/playwright-report/data/c71aa4c93404526c84e47bdb8f0880a143981fd2.png","e2e/playwright-report/data/cda80cbeb2e5b4caea4520ec564ecbdffe143f15.md","e2e/playwright-report/data/f5045aa7d74062d1dd8eae8d5bd3ceb77b1bbca9.png","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/error-context.md","e2e/test-results/p0-chain-boundary-guards-边界防御-认证防护-携带无效-Token-的请求应返回-401-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-d90a9-o-Renewal-Phase-1-线索创建与状态推进-chromium/test-failed-1.png","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-链路-各实体列表页冒烟检查-线索列表页可正常访问-chromium/test-failed-1.png"],"removed":["e2e/playwright-report/data/2111db4e41556fe8e1108550a04cbbad75b708c0.png","e2e/playwright-report/data/2af1dd80384263f1f57f58a8ecd2cfedfcb458a8.png","e2e/playwright-report/data/36dea1a1272fecba22cd8a9b0586187f652d7fa5.png","e2e/playwright-report/data/961cd6ebf7599345be880ac56814fced7759480c.md","e2e/playwright-report/data/9cc763f1d3bab80f466503397a28732bada2c5ee.png","e2e/playwright-report/data/bb27b7fbaebd43468a2f2467a3002ada456d4df2.png","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/error-context.md","e2e/test-results/p0-chain-lead-to-cash-P0-核-48c0b-Renewal-Phase-5-创建订单并走完履约流程-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-d4c71-created-→-支付-→-发货-→-交付-→-完成-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase1-lead-qualified.png","e2e/test-results/p0-chain/phase2-opportunity-created.png","e2e/test-results/p0-chain/phase3-quote-accepted.png","e2e/test-results/p0-chain/phase4-contract-active.png","e2e/test-results/p0-chain/smoke-线索.png"],"modified":[".claude/skills/juhi/harness.md","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/scripts/audit-outbox-atomicity.ts","backend/src/modules/assembly/assembly.controller.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/tickets/ticket.service.ts","backend/tests/api/setup.ts","backend/tests/api/stores.test.ts","backend/tests/api/test-context.ts","docs/governance/baseline-and-experience.md","e2e/.auth/admin.json","e2e/helpers/p0-chain.helper.ts","e2e/playwright-report/index.html","e2e/test-results/.last-run.json","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-2fb95-rogress-→-resolved-→-closed-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-83737-级场景-in-progress-→-escalated-chromium/test-failed-1.png","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/error-context.md","e2e/test-results/p0-chain-state-transitions-9cf46-景-closed-→-reopened(如果业务支持)-chromium/test-failed-1.png","e2e/test-results/p0-chain/phase0-ready.png","e2e/test-results/p0-chain/smoke-合同.png","e2e/test-results/p0-chain/smoke-商机.png","e2e/test-results/p0-chain/smoke-工单.png","e2e/test-results/p0-chain/smoke-报价.png","e2e/test-results/p0-chain/smoke-订单.png","e2e/test-results/p0-chain/ui-lead-created.png","e2e/test-results/p0-chain/ui-lead-search.png","e2e/test-results/p0-chain/ui-order-list.png","e2e/test-results/results.json","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","frontend/src/api/modules/bom.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/composables/useRouteSyncedTab.ts","frontend/src/views/cpq/Index.vue","frontend/src/views/finance/Index.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/leads/useLeadCenterContext.ts","frontend/src/views/marketing-chatbot/composables/useChatbot.ts","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/Index.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/price-books/Index.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/social-analytics/__tests__/social-analytics-g4.smoke.test.ts","reports/enum-consistency-audit.latest.json","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/type-debt-audit.latest.json","scripts/audit-field-payload.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/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":5197876,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T02:05:53+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"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
|
1775097304
|
1775097365
|
0
|
1775097115
|
1775098674
|
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
|
|
10813
|
feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)
|
6
|
5
|
e2e-tests.yml
|
10737
|
5
|
0
|
refs/heads/main
|
40dae5944f158653af8288a3f38b6c97e8ce9f06
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"624893ef324e57874ecb721dfd5539eb58d49b8e","after":"40dae5944f158653af8288a3f38b6c97e8ce9f06","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/624893ef324e57874ecb721dfd5539eb58d49b8e...40dae5944f158653af8288a3f38b6c97e8ce9f06","commits":[{"id":"40dae5944f158653af8288a3f38b6c97e8ce9f06","message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40dae5944f158653af8288a3f38b6c97e8ce9f06","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-04-02T22:53:05+08:00","added":[".dockerignore.local","backend/Dockerfile.local","deploy/ssl/.gitkeep","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":[".gitignore","backend/package.json","backend/prisma/schema/_base.prisma","pnpm-lock.yaml"]},{"id":"588c47ea1f151f20d7e919cd87a5b07385b02022","message":"chore: 将 .env.production 加入 .gitignore 防止密钥泄露\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/588c47ea1f151f20d7e919cd87a5b07385b02022","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:47:51Z","added":[],"removed":[],"modified":[".gitignore"]},{"id":"3b9130b7e0040b49d5bc08307c9e050175994903","message":"feat: 单机 Docker 生产部署成功 - 全套本地构建方案\n\n新增本地部署配套文件:\n- docker-compose.local-prod.yml: 本地单机生产编排(pgvector + apache/kafka + minio + api + frontend + nginx)\n- backend/Dockerfile.local: 后端本地构建镜像(tsx 运行源码,避免路径别名问题)\n- frontend/Dockerfile.local: 前端本地构建镜像\n- .dockerignore.local: 本地构建专用忽略规则(保留 dist/node_modules)\n\n修改:\n- backend/prisma/schema/_base.prisma: 添加 binaryTargets linux-musl-openssl-3.0.x(Alpine 容器支持)\n\n部署验证通过:\n- PostgreSQL (pgvector:pg16) + Redis + Kafka + MinIO + API + Frontend + Nginx 全部在线\n- 135+ 数据库迁移全部应用成功\n- API /health 返回 {\"status\":\"ok\"}\n- Nginx HTTP→HTTPS 重定向正常,SSL 自签名证书工作\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3b9130b7e0040b49d5bc08307c9e050175994903","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:46:47Z","added":[".dockerignore.local","backend/Dockerfile.local","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":["backend/prisma/schema/_base.prisma"]},{"id":"a5244b9fafc440f46250c8a1b72b7fea82d6d1ef","message":"chore: 部署准备 - 补齐 deploy/ssl 目录 + 修复 fast-xml-parser 缺失依赖\n\n- 创建 deploy/ssl/.gitkeep,确保 Nginx 生产环境 SSL 挂载目录存在\n- 添加 fast-xml-parser 依赖,修复微信企业号 webhook 模块的类型错误\n- 后端 tsc 0 错误 / 前端 vue-tsc 0 错误,类型检查双清零\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a5244b9fafc440f46250c8a1b72b7fea82d6d1ef","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:04:59Z","added":["deploy/ssl/.gitkeep"],"removed":[],"modified":["backend/package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"40dae5944f158653af8288a3f38b6c97e8ce9f06","message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40dae5944f158653af8288a3f38b6c97e8ce9f06","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-04-02T22:53:05+08:00","added":[".dockerignore.local","backend/Dockerfile.local","deploy/ssl/.gitkeep","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":[".gitignore","backend/package.json","backend/prisma/schema/_base.prisma","pnpm-lock.yaml"]},"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":5204315,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T10:31:56+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
|
1775180411
|
1775181235
|
0
|
1775180411
|
1775184778
|
|
|
0
|
Edit
Delete
|
|
10814
|
feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)
|
6
|
5
|
test-pipeline.yml
|
10738
|
5
|
0
|
refs/heads/main
|
40dae5944f158653af8288a3f38b6c97e8ce9f06
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"624893ef324e57874ecb721dfd5539eb58d49b8e","after":"40dae5944f158653af8288a3f38b6c97e8ce9f06","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/624893ef324e57874ecb721dfd5539eb58d49b8e...40dae5944f158653af8288a3f38b6c97e8ce9f06","commits":[{"id":"40dae5944f158653af8288a3f38b6c97e8ce9f06","message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40dae5944f158653af8288a3f38b6c97e8ce9f06","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-04-02T22:53:05+08:00","added":[".dockerignore.local","backend/Dockerfile.local","deploy/ssl/.gitkeep","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":[".gitignore","backend/package.json","backend/prisma/schema/_base.prisma","pnpm-lock.yaml"]},{"id":"588c47ea1f151f20d7e919cd87a5b07385b02022","message":"chore: 将 .env.production 加入 .gitignore 防止密钥泄露\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/588c47ea1f151f20d7e919cd87a5b07385b02022","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:47:51Z","added":[],"removed":[],"modified":[".gitignore"]},{"id":"3b9130b7e0040b49d5bc08307c9e050175994903","message":"feat: 单机 Docker 生产部署成功 - 全套本地构建方案\n\n新增本地部署配套文件:\n- docker-compose.local-prod.yml: 本地单机生产编排(pgvector + apache/kafka + minio + api + frontend + nginx)\n- backend/Dockerfile.local: 后端本地构建镜像(tsx 运行源码,避免路径别名问题)\n- frontend/Dockerfile.local: 前端本地构建镜像\n- .dockerignore.local: 本地构建专用忽略规则(保留 dist/node_modules)\n\n修改:\n- backend/prisma/schema/_base.prisma: 添加 binaryTargets linux-musl-openssl-3.0.x(Alpine 容器支持)\n\n部署验证通过:\n- PostgreSQL (pgvector:pg16) + Redis + Kafka + MinIO + API + Frontend + Nginx 全部在线\n- 135+ 数据库迁移全部应用成功\n- API /health 返回 {\"status\":\"ok\"}\n- Nginx HTTP→HTTPS 重定向正常,SSL 自签名证书工作\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3b9130b7e0040b49d5bc08307c9e050175994903","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:46:47Z","added":[".dockerignore.local","backend/Dockerfile.local","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":["backend/prisma/schema/_base.prisma"]},{"id":"a5244b9fafc440f46250c8a1b72b7fea82d6d1ef","message":"chore: 部署准备 - 补齐 deploy/ssl 目录 + 修复 fast-xml-parser 缺失依赖\n\n- 创建 deploy/ssl/.gitkeep,确保 Nginx 生产环境 SSL 挂载目录存在\n- 添加 fast-xml-parser 依赖,修复微信企业号 webhook 模块的类型错误\n- 后端 tsc 0 错误 / 前端 vue-tsc 0 错误,类型检查双清零\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a5244b9fafc440f46250c8a1b72b7fea82d6d1ef","author":{"name":"Claude","email":"noreply@anthropic.com","username":""},"committer":{"name":"Claude","email":"noreply@anthropic.com","username":""},"verification":null,"timestamp":"2026-04-02T14:04:59Z","added":["deploy/ssl/.gitkeep"],"removed":[],"modified":["backend/package.json","pnpm-lock.yaml"]}],"total_commits":0,"head_commit":{"id":"40dae5944f158653af8288a3f38b6c97e8ce9f06","message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40dae5944f158653af8288a3f38b6c97e8ce9f06","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-04-02T22:53:05+08:00","added":[".dockerignore.local","backend/Dockerfile.local","deploy/ssl/.gitkeep","docker-compose.local-prod.yml","frontend/Dockerfile.local"],"removed":[],"modified":[".gitignore","backend/package.json","backend/prisma/schema/_base.prisma","pnpm-lock.yaml"]},"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":5204315,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-02T10:31:56+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
|
24
|
0
|
1775180537
|
0
|
1775180412
|
1775180540
|
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
|
|
10815
|
Merge remote-tracking branch 'origin/codex/fin Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'...
|
6
|
5
|
e2e-tests.yml
|
10739
|
5
|
0
|
refs/heads/main
|
9d69e1960ec649a49c0c6f307c0fc197f47ee4c4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"40dae5944f158653af8288a3f38b6c97e8ce9f06","after":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/40dae5944f158653af8288a3f38b6c97e8ce9f06...9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","commits":[{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},{"id":"0152aae7b8ff9440c5f4e7aad113420208e6c304","message":"Merge remote-tracking branch 'origin/codex/design-scalable-autopilot-os-architecture'\n\n# Conflicts:\n#\te2e/agents/playwright-agent/index.ts\n#\te2e/agents/playwright-agent/inspectors/index.ts\n#\te2e/agents/playwright-agent/reporters/backend-reporter.ts\n#\te2e/package.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0152aae7b8ff9440c5f4e7aad113420208e6c304","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-03T09:41:05+08:00","added":[],"removed":[],"modified":[]},{"id":"e2587fae3d50e6ef7c30450199abd1bfc910a016","message":"test(finance): add finance mainline smoke and harden invoice detail formatting","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e2587fae3d50e6ef7c30450199abd1bfc910a016","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-31T13:47:05+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["frontend/src/views/invoices/Detail.vue"]},{"id":"803578ebec2d6f4c0d00335c1f5c61067112d923","message":"feat(e2e): add playwright agent mvp skeleton","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/803578ebec2d6f4c0d00335c1f5c61067112d923","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-19T19:55:36+08:00","added":["e2e/agents/playwright-agent/README.md","e2e/agents/playwright-agent/__tests__/playwright-agent.unit.test.ts","e2e/agents/playwright-agent/artifacts/artifact-writer.ts","e2e/agents/playwright-agent/auth/auth-provider.ts","e2e/agents/playwright-agent/auth/storage-state-auth.ts","e2e/agents/playwright-agent/constants/diagnosis.ts","e2e/agents/playwright-agent/constants/status.ts","e2e/agents/playwright-agent/constants/timeouts.ts","e2e/agents/playwright-agent/core/action-runner.ts","e2e/agents/playwright-agent/core/browser-manager.ts","e2e/agents/playwright-agent/core/execution-engine.ts","e2e/agents/playwright-agent/core/retry-engine.ts","e2e/agents/playwright-agent/core/session-factory.ts","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/base-inspector.ts","e2e/agents/playwright-agent/inspectors/booking-inspector.ts","e2e/agents/playwright-agent/inspectors/dashboard-inspector.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/inspectors/payment-inspector.ts","e2e/agents/playwright-agent/observers/console-observer.ts","e2e/agents/playwright-agent/observers/network-observer.ts","e2e/agents/playwright-agent/observers/page-probe.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/agents/playwright-agent/reporters/json-reporter.ts","e2e/agents/playwright-agent/resolvers/selector-resolver.ts","e2e/agents/playwright-agent/types/diagnosis.ts","e2e/agents/playwright-agent/types/execution-plan.ts","e2e/agents/playwright-agent/types/execution-result.ts","e2e/agents/playwright-agent/types/execution-step.ts","e2e/agents/playwright-agent/types/inspector.ts","e2e/agents/playwright-agent/types/runtime.ts"],"removed":[],"modified":["e2e/package.json"]}],"total_commits":0,"head_commit":{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},"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":5204515,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T09:40: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
|
1775181236
|
1775183619
|
0
|
1775180536
|
1775185999
|
|
|
0
|
Edit
Delete
|
|
10817
|
Merge remote-tracking branch 'origin/codex/fin Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'...
|
6
|
5
|
test-pipeline.yml
|
10740
|
5
|
0
|
refs/heads/main
|
9d69e1960ec649a49c0c6f307c0fc197f47ee4c4
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"40dae5944f158653af8288a3f38b6c97e8ce9f06","after":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/40dae5944f158653af8288a3f38b6c97e8ce9f06...9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","commits":[{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},{"id":"0152aae7b8ff9440c5f4e7aad113420208e6c304","message":"Merge remote-tracking branch 'origin/codex/design-scalable-autopilot-os-architecture'\n\n# Conflicts:\n#\te2e/agents/playwright-agent/index.ts\n#\te2e/agents/playwright-agent/inspectors/index.ts\n#\te2e/agents/playwright-agent/reporters/backend-reporter.ts\n#\te2e/package.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0152aae7b8ff9440c5f4e7aad113420208e6c304","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-03T09:41:05+08:00","added":[],"removed":[],"modified":[]},{"id":"e2587fae3d50e6ef7c30450199abd1bfc910a016","message":"test(finance): add finance mainline smoke and harden invoice detail formatting","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e2587fae3d50e6ef7c30450199abd1bfc910a016","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-31T13:47:05+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":["frontend/src/views/invoices/Detail.vue"]},{"id":"803578ebec2d6f4c0d00335c1f5c61067112d923","message":"feat(e2e): add playwright agent mvp skeleton","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/803578ebec2d6f4c0d00335c1f5c61067112d923","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-19T19:55:36+08:00","added":["e2e/agents/playwright-agent/README.md","e2e/agents/playwright-agent/__tests__/playwright-agent.unit.test.ts","e2e/agents/playwright-agent/artifacts/artifact-writer.ts","e2e/agents/playwright-agent/auth/auth-provider.ts","e2e/agents/playwright-agent/auth/storage-state-auth.ts","e2e/agents/playwright-agent/constants/diagnosis.ts","e2e/agents/playwright-agent/constants/status.ts","e2e/agents/playwright-agent/constants/timeouts.ts","e2e/agents/playwright-agent/core/action-runner.ts","e2e/agents/playwright-agent/core/browser-manager.ts","e2e/agents/playwright-agent/core/execution-engine.ts","e2e/agents/playwright-agent/core/retry-engine.ts","e2e/agents/playwright-agent/core/session-factory.ts","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/base-inspector.ts","e2e/agents/playwright-agent/inspectors/booking-inspector.ts","e2e/agents/playwright-agent/inspectors/dashboard-inspector.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/inspectors/payment-inspector.ts","e2e/agents/playwright-agent/observers/console-observer.ts","e2e/agents/playwright-agent/observers/network-observer.ts","e2e/agents/playwright-agent/observers/page-probe.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/agents/playwright-agent/reporters/json-reporter.ts","e2e/agents/playwright-agent/resolvers/selector-resolver.ts","e2e/agents/playwright-agent/types/diagnosis.ts","e2e/agents/playwright-agent/types/execution-plan.ts","e2e/agents/playwright-agent/types/execution-result.ts","e2e/agents/playwright-agent/types/execution-step.ts","e2e/agents/playwright-agent/types/inspector.ts","e2e/agents/playwright-agent/types/runtime.ts"],"removed":[],"modified":["e2e/package.json"]}],"total_commits":0,"head_commit":{"id":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-04-03T09:41:29+08:00","added":["e2e/tests/auth/finance-mainline-flow-smoke.spec.ts"],"removed":[],"modified":[]},"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":5204515,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T09:40: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
|
68
|
1775183622
|
1775184730
|
0
|
1775180541
|
1775186341
|
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
|
|
10823
|
Prepare v1.0.0 release
|
6
|
5
|
deploy.yml
|
10747
|
5
|
0
|
refs/tags/v1.0.0
|
bd59e5501292cb061719f669c7a7b7afd4f1a0b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v1.0.0","bef {"ref":"refs/tags/v1.0.0","before":"0000000000000000000000000000000000000000","after":"e1e571dea3e53faf951b331ac647da4b96e0d01b","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0000000000000000000000000000000000000000...e1e571dea3e53faf951b331ac647da4b96e0d01b","commits":[],"total_commits":0,"head_commit":{"id":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","message":"Prepare v1.0.0 release\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bd59e5501292cb061719f669c7a7b7afd4f1a0b7","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-19T17:33:01+08:00","added":["CHANGELOG.md"],"removed":[],"modified":[]},"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":5204580,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T09:42:23+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
|
22
|
1775184783
|
1775185807
|
0
|
1775181685
|
1775186344
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/tags/v1.0.0
|
0
|
Edit
Delete
|
|
10824
|
Release(v1.0.0-RC1): 巨嗨全域智库 1.0.0 封版交付
|
6
|
5
|
deploy.yml
|
10748
|
5
|
0
|
refs/tags/v1.0.0-RC1
|
84c900df1e544e4eb7070be9278918676c4aec69
|
0
|
0
|
0
|
push
|
{"ref":"refs/tags/v1.0.0-RC1"," {"ref":"refs/tags/v1.0.0-RC1","before":"0000000000000000000000000000000000000000","after":"7f6c4805d0719ce236bfd86ac50cc40cc6f5e5c5","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0000000000000000000000000000000000000000...7f6c4805d0719ce236bfd86ac50cc40cc6f5e5c5","commits":[],"total_commits":0,"head_commit":{"id":"84c900df1e544e4eb7070be9278918676c4aec69","message":"Release(v1.0.0-RC1): 巨嗨全域智库 1.0.0 封版交付\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/84c900df1e544e4eb7070be9278918676c4aec69","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-04T17:53:20+08:00","added":["docs/RELEASE_NOTE_v1.0.0.md"],"removed":[],"modified":[]},"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":5204580,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-03T09:42:23+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
|
22
|
1775185809
|
1775185982
|
0
|
1775181686
|
1775186346
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/tags/v1.0.0-RC1
|
0
|
Edit
Delete
|
|
10017
|
test(finance): add finance mainline smoke
|
6
|
5
|
e2e-tests.yml
|
9941
|
5
|
0
|
refs/pull/1/head
|
8c225d73253fe95a23618816b2f7e6a03010cae4
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":1,"pull_request":{"id":6,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1","number":1,"user":{"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"},"title":"test(finance): add finance mainline smoke and harden invoice detail formatting","body":"## Summary\n- add a finance-role mainline smoke that covers invoices, AR ledger, and finance dashboard\n- treat reconciliation 403 as the current permission boundary for the finance fixture\n- harden invoice detail amount formatting so null values no longer trip the page\n\n## Validation\n- E2E_SKIP_WEB_SERVER=true E2E_USE_SYSTEM_CHROME=true pnpm -C e2e exec playwright test tests/auth/finance-mainline-flow-smoke.spec.ts --project=chromium-no-auth\n- result: 1 passed (9.4s)\n\n## Note\n- git fetch/clone against the current Gitea main is currently failing with upload-pack not our ref, so this patch was replayed through the Gitea contents API on top of the live main history.","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":211,"deletions":4,"changed_files":2,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"dffb3332733fb56fd51632938c4379422125381c","repo_id":6,"repo":{"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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/finance-mainline-gitea-main-20260331","ref":"codex/finance-mainline-gitea-main-20260331","sha":"8c225d73253fe95a23618816b2f7e6a03010cae4","repo_id":6,"repo":{"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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"dffb3332733fb56fd51632938c4379422125381c","due_date":null,"created_at":"2026-03-31T17:40:58+08:00","updated_at":"2026-03-31T17:40:59+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
20
|
1774950060
|
1774950254
|
0
|
1774950059
|
1774951991
|
|
|
0
|
Edit
Delete
|
|
10018
|
test(finance): add finance mainline smoke
|
6
|
5
|
pr-validation.yml
|
9942
|
5
|
0
|
refs/pull/1/head
|
8c225d73253fe95a23618816b2f7e6a03010cae4
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":1,"pull_request":{"id":6,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1","number":1,"user":{"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"},"title":"test(finance): add finance mainline smoke and harden invoice detail formatting","body":"## Summary\n- add a finance-role mainline smoke that covers invoices, AR ledger, and finance dashboard\n- treat reconciliation 403 as the current permission boundary for the finance fixture\n- harden invoice detail amount formatting so null values no longer trip the page\n\n## Validation\n- E2E_SKIP_WEB_SERVER=true E2E_USE_SYSTEM_CHROME=true pnpm -C e2e exec playwright test tests/auth/finance-mainline-flow-smoke.spec.ts --project=chromium-no-auth\n- result: 1 passed (9.4s)\n\n## Note\n- git fetch/clone against the current Gitea main is currently failing with upload-pack not our ref, so this patch was replayed through the Gitea contents API on top of the live main history.","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":211,"deletions":4,"changed_files":2,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"dffb3332733fb56fd51632938c4379422125381c","repo_id":6,"repo":{"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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/finance-mainline-gitea-main-20260331","ref":"codex/finance-mainline-gitea-main-20260331","sha":"8c225d73253fe95a23618816b2f7e6a03010cae4","repo_id":6,"repo":{"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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"dffb3332733fb56fd51632938c4379422125381c","due_date":null,"created_at":"2026-03-31T17:40:58+08:00","updated_at":"2026-03-31T17:40:59+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
26
|
1774950256
|
1774951998
|
0
|
1774950059
|
1774952026
|
group: pr-${{ github.event.pull_request.number }}
group: pr-${{ github.event.pull_request.number }}
cancel-in-progress: "true"
...
|
pr-1
|
1
|
Edit
Delete
|
|
10019
|
test(finance): add finance mainline smoke
|
6
|
5
|
test-pipeline.yml
|
9943
|
5
|
0
|
refs/pull/1/head
|
8c225d73253fe95a23618816b2f7e6a03010cae4
|
0
|
0
|
0
|
pull_request
|
{"action":"opened","number" {"action":"opened","number":1,"pull_request":{"id":6,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1","number":1,"user":{"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"},"title":"test(finance): add finance mainline smoke and harden invoice detail formatting","body":"## Summary\n- add a finance-role mainline smoke that covers invoices, AR ledger, and finance dashboard\n- treat reconciliation 403 as the current permission boundary for the finance fixture\n- harden invoice detail amount formatting so null values no longer trip the page\n\n## Validation\n- E2E_SKIP_WEB_SERVER=true E2E_USE_SYSTEM_CHROME=true pnpm -C e2e exec playwright test tests/auth/finance-mainline-flow-smoke.spec.ts --project=chromium-no-auth\n- result: 1 passed (9.4s)\n\n## Note\n- git fetch/clone against the current Gitea main is currently failing with upload-pack not our ref, so this patch was replayed through the Gitea contents API on top of the live main history.","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":0,"additions":211,"deletions":4,"changed_files":2,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/1.patch","mergeable":true,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"dffb3332733fb56fd51632938c4379422125381c","repo_id":6,"repo":{"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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"head":{"label":"codex/finance-mainline-gitea-main-20260331","ref":"codex/finance-mainline-gitea-main-20260331","sha":"8c225d73253fe95a23618816b2f7e6a03010cae4","repo_id":6,"repo":{"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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"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":[]}},"merge_base":"dffb3332733fb56fd51632938c4379422125381c","due_date":null,"created_at":"2026-03-31T17:40:58+08:00","updated_at":"2026-03-31T17:40:59+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"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":3553340,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-31T17:38:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
68
|
1774950697
|
1774950967
|
0
|
1774950060
|
1774952313
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/pull/1/head
|
1
|
Edit
Delete
|