|
18210
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18130
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777333850
|
1777333850
|
0
|
1777333850
|
1777333850
|
|
|
0
|
Edit
Delete
|
|
18211
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18131
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777334150
|
1777334151
|
0
|
1777334150
|
1777334151
|
|
|
0
|
Edit
Delete
|
|
18212
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18132
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777334450
|
1777334451
|
0
|
1777334450
|
1777334451
|
|
|
0
|
Edit
Delete
|
|
18213
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
e2e-tests.yml
|
18133
|
-2
|
324
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
20
|
1777334452
|
1777334537
|
0
|
1777334450
|
1777334542
|
|
|
0
|
Edit
Delete
|
|
18214
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18134
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777334750
|
1777334751
|
0
|
1777334750
|
1777334751
|
|
|
0
|
Edit
Delete
|
|
18215
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18135
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777335050
|
1777335051
|
0
|
1777335050
|
1777335051
|
|
|
0
|
Edit
Delete
|
|
18216
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18136
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777335350
|
1777335351
|
0
|
1777335350
|
1777335351
|
|
|
0
|
Edit
Delete
|
|
18217
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18137
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777335650
|
1777335651
|
0
|
1777335650
|
1777335651
|
|
|
0
|
Edit
Delete
|
|
18218
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18138
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777335950
|
1777335951
|
0
|
1777335950
|
1777335951
|
|
|
0
|
Edit
Delete
|
|
18219
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18139
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777336310
|
1777336311
|
0
|
1777336310
|
1777336311
|
|
|
0
|
Edit
Delete
|
|
18220
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18140
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777336550
|
1777336550
|
0
|
1777336550
|
1777336550
|
|
|
0
|
Edit
Delete
|
|
18221
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18141
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777336850
|
1777336851
|
0
|
1777336850
|
1777336851
|
|
|
0
|
Edit
Delete
|
|
18222
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18142
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777337150
|
1777337151
|
0
|
1777337150
|
1777337151
|
|
|
0
|
Edit
Delete
|
|
18223
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18143
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777337450
|
1777337451
|
0
|
1777337450
|
1777337451
|
|
|
0
|
Edit
Delete
|
|
18224
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18144
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777337750
|
1777337751
|
0
|
1777337750
|
1777337751
|
|
|
0
|
Edit
Delete
|
|
18225
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18145
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777338050
|
1777338051
|
0
|
1777338050
|
1777338051
|
|
|
0
|
Edit
Delete
|
|
18226
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18146
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777338350
|
1777338351
|
0
|
1777338350
|
1777338351
|
|
|
0
|
Edit
Delete
|
|
18227
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18147
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777338650
|
1777338651
|
0
|
1777338650
|
1777338651
|
|
|
0
|
Edit
Delete
|
|
18228
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18148
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777338950
|
1777338951
|
0
|
1777338950
|
1777338951
|
|
|
0
|
Edit
Delete
|
|
18229
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18149
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777339250
|
1777339251
|
0
|
1777339250
|
1777339251
|
|
|
0
|
Edit
Delete
|
|
18230
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18150
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777339550
|
1777339551
|
0
|
1777339550
|
1777339551
|
|
|
0
|
Edit
Delete
|
|
18231
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18151
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777339850
|
1777339851
|
0
|
1777339850
|
1777339851
|
|
|
0
|
Edit
Delete
|
|
18232
|
Add page AI Assist and wire Copilot compat
|
6
|
5
|
health-check.yml
|
18152
|
-2
|
325
|
refs/heads/main
|
1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"550a263d501f27c775e72e10c2abba3b0b0d963c","after":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/550a263d501f27c775e72e10c2abba3b0b0d963c...1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","commits":[{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.ts"]}],"total_commits":0,"head_commit":{"id":"1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","message":"Add page AI Assist and wire Copilot compat\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/1f8ccb4bb738cf6ef3a139070f88fc957f2d0ba6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-27T09:40:07-07:00","added":[".claude/worktrees/amazing-bhaskara-130540","backend/src/modules/ai-assist/ai-assist.controller.ts","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.routes.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/page-capability.ts","backend/src/modules/ai-assist/page-context-resolver.ts","frontend/src/api/modules/ai-assist.ts","frontend/src/components/business/PageAIAssistDrawer.vue","frontend/src/composables/usePageAIAssist.ts"],"removed":[],"modified":[".claude/settings.json",".claude/worktrees/hungry-montalcini-932ea7","backend/src/modules/agent-sessions/agent-session.routes.ts","backend/src/modules/ai-copilot/ai-copilot.controller.ts","backend/src/modules/ai-copilot/ai-copilot.service.ts","backend/src/routes/register-domain-routes.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/permission-normalizer.ts","frontend/src/api/modules/ai-copilot.ts","frontend/src/components/business/AICopilotSidebar.vue","frontend/src/components/business/index.ts","frontend/src/components/layout/AppLayout.vue","frontend/src/router/types.ts","frontend/src/stores/auth.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":5229132,"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":16,"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-27T17:45:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1777340150
|
1777340151
|
0
|
1777340150
|
1777340151
|
|
|
0
|
Edit
Delete
|
|
23365
|
Merge pull request 'fix(governance): Wave 4 解封 Merge pull request 'fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归' (#4) from claude/bold-raman-0239cc into main...
|
6
|
5
|
ci.yml
|
23283
|
5
|
0
|
refs/heads/main
|
4bb16bc5f020d52b79a2a0091a8313ef8cbf5d3d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"534799e0b1707368df37aff7b3df545a6ca1064a","after":"4bb16bc5f020d52b79a2a0091a8313ef8cbf5d3d","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/534799e0b1707368df37aff7b3df545a6ca1064a...4bb16bc5f020d52b79a2a0091a8313ef8cbf5d3d","commits":[{"id":"4bb16bc5f020d52b79a2a0091a8313ef8cbf5d3d","message":"Merge pull request 'fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归' (#4) from claude/bold-raman-0239cc into main\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/4bb16bc5f020d52b79a2a0091a8313ef8cbf5d3d","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-05-16T08:23:43+08:00","added":[".gitea/workflows/README.md",".gitea/workflows/ci.yml",".local-tools/docker-cli/cli-plugins/docker-compose",".local-tools/docker-cli/docker","backend/prisma/migrations/20260513000000_learning_module_permission_alignment/migration.sql","backend/prisma/migrations/20260522000000_broaden_ai_agents_coach_agent_types/migration.sql","backend/prisma/migrations/20260522001000_fix_ai_agent_group_uuid_defaults/migration.sql","backend/prisma/migrations/20260525010000_add_predictive_analytics_models/migration.sql","docs/governance/finance-control-tower-demo-evidence-2026-05-14.md","docs/governance/four-backbone-demo-paths-2026-05-14.md","docs/governance/tob-lead-to-cash-demo-evidence-2026-05-14.md","e2e/.auth/backups/admin.finance-20260514T201242.json","e2e/.auth/backups/admin.finance-active-20260514T201242.json","e2e/output/playwright/crud-scale/batch-1/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-1/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-1/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-1/visible/probes/-store-staff-1778850362443.json","e2e/output/playwright/crud-scale/batch-1/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-10/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-10/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-10/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-10/visible/probes/-livestream-interactions-1778854049767.json","e2e/output/playwright/crud-scale/batch-10/visible/probes/-livestream-schedules-1778854041325.json","e2e/output/playwright/crud-scale/batch-10/visible/probes/-social-accounts-1778854022211.json","e2e/output/playwright/crud-scale/batch-10/visible/probes/-social-followers-1778854031907.json","e2e/output/playwright/crud-scale/batch-10/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-11/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-11/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-11/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-11/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-11/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-11/visible/probes/-ad-accounts-1778854234744.json","e2e/output/playwright/crud-scale/batch-11/visible/probes/-ad-accounts-1778854336267.json","e2e/output/playwright/crud-scale/batch-11/visible/probes/-alliance-merchants-1778854247996.json","e2e/output/playwright/crud-scale/batch-11/visible/probes/-alliance-merchants-1778854353975.json","e2e/output/playwright/crud-scale/batch-11/visible/probes/-community-activities-1778854345294.json","e2e/output/playwright/crud-scale/batch-11/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-12/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-12/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-12/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-12/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-12/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-12/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-12/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-12/visible/probes/-content-templates-1778854496131.json","e2e/output/playwright/crud-scale/batch-12/visible/probes/-content-templates-1778854640654.json","e2e/output/playwright/crud-scale/batch-12/visible/probes/-content-templates-1778854726382.json","e2e/output/playwright/crud-scale/batch-12/visible/probes/-livestream-products-1778854649788.json","e2e/output/playwright/crud-scale/batch-12/visible/probes/-livestream-products-1778854736437.json","e2e/output/playwright/crud-scale/batch-12/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-13/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-13/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-13/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-13/visible/probes/-ad-creatives-1778854860195.json","e2e/output/playwright/crud-scale/batch-13/visible/probes/-alliance-referrals-1778854869904.json","e2e/output/playwright/crud-scale/batch-13/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-14/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-14/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-14/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-14/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-14/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-14/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-14/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-14/visible/failure-3.html","e2e/output/playwright/crud-scale/batch-14/visible/failure-3.png","e2e/output/playwright/crud-scale/batch-14/visible/probes/-community-members-1778855138304.json","e2e/output/playwright/crud-scale/batch-14/visible/probes/-content-copyright-1778855017786.json","e2e/output/playwright/crud-scale/batch-14/visible/probes/-content-copyright-1778855128898.json","e2e/output/playwright/crud-scale/batch-14/visible/probes/-content-creation-1778854998352.json","e2e/output/playwright/crud-scale/batch-14/visible/probes/-content-creation-1778855119203.json","e2e/output/playwright/crud-scale/batch-14/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-15/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-15/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-15/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-15/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-15/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-15/visible/probes/-knowledge-capture-1778855269142.json","e2e/output/playwright/crud-scale/batch-15/visible/probes/-knowledge-capture-1778855477736.json","e2e/output/playwright/crud-scale/batch-15/visible/probes/-social-competitors-1778855254300.json","e2e/output/playwright/crud-scale/batch-15/visible/probes/-social-competitors-1778855462890.json","e2e/output/playwright/crud-scale/batch-15/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-16/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-16/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-16/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-16/visible/probes/-social-auto-replies-1778855907178.json","e2e/output/playwright/crud-scale/batch-16/visible/probes/-social-hot-topics-1778855916535.json","e2e/output/playwright/crud-scale/batch-16/visible/probes/-social-interactions-1778855897727.json","e2e/output/playwright/crud-scale/batch-16/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-17/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-17/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-17/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-17/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-17/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-17/visible/probes/-community-groups-1778856062296.json","e2e/output/playwright/crud-scale/batch-17/visible/probes/-community-groups-1778856132639.json","e2e/output/playwright/crud-scale/batch-17/visible/probes/-groupbuy-influencers-1778856072134.json","e2e/output/playwright/crud-scale/batch-17/visible/probes/-groupbuy-influencers-1778856142436.json","e2e/output/playwright/crud-scale/batch-17/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-18/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-18/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-18/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-18/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-18/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-18/visible/probes/-community-levels-1778856336801.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-community-levels-1778856631201.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-groupbuy-participants-1778856344423.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-groupbuy-participants-1778856638980.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-marketing-automation-1778856317026.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-marketing-automation-1778856621583.json","e2e/output/playwright/crud-scale/batch-18/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-19/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-19/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-19/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-19/visible/probes/-community-bots-1778856756967.json","e2e/output/playwright/crud-scale/batch-19/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-2/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-2/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-2/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-2/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-2/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-2/visible/probes/-supplier-payments-1778850843108.json","e2e/output/playwright/crud-scale/batch-2/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-20/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-20/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-20/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-20/visible/probes/-groupbuy-settlements-1778856939379.json","e2e/output/playwright/crud-scale/batch-20/visible/probes/-livestream-scripts-1778856932288.json","e2e/output/playwright/crud-scale/batch-20/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-21/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-21/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-21/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-21/visible/probes/-livestream-gifts-1778857085673.json","e2e/output/playwright/crud-scale/batch-21/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-22/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-22/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-22/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-22/visible/probes/-groupbuy-products-1778857219282.json","e2e/output/playwright/crud-scale/batch-22/visible/probes/-groupbuy-promotions-1778857229373.json","e2e/output/playwright/crud-scale/batch-22/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-23/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-23/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-23/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-23/visible/probes/-groupbuy-orders-1778857405539.json","e2e/output/playwright/crud-scale/batch-23/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-24/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-24/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-24/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-24/visible/probes/-ad-campaigns-1778857540184.json","e2e/output/playwright/crud-scale/batch-24/visible/probes/-renewal-tasks-1778857548365.json","e2e/output/playwright/crud-scale/batch-24/visible/probes/-roles-1778857552562.json","e2e/output/playwright/crud-scale/batch-24/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-25/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-25/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-25/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-25/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-25/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-25/visible/probes/-assembly-bom-1778858182565.json","e2e/output/playwright/crud-scale/batch-25/visible/probes/-social-posts-1778857675351.json","e2e/output/playwright/crud-scale/batch-25/visible/probes/-social-posts-1778858034193.json","e2e/output/playwright/crud-scale/batch-25/visible/probes/-social-posts-1778858172824.json","e2e/output/playwright/crud-scale/batch-25/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-26/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-26/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-26/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-26/visible/probes/-lead-pools-1778858311255.json","e2e/output/playwright/crud-scale/batch-26/visible/probes/-livestream-rooms-1778858320261.json","e2e/output/playwright/crud-scale/batch-26/visible/probes/-marketing-tools-1778858326453.json","e2e/output/playwright/crud-scale/batch-26/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-27/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-27/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-27/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-27/visible/probes/-content-library-1778858460264.json","e2e/output/playwright/crud-scale/batch-27/visible/probes/-resource-requests-1778858469345.json","e2e/output/playwright/crud-scale/batch-27/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-28/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-28/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-28/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-28/visible/probes/-community-tasks-1778858572292.json","e2e/output/playwright/crud-scale/batch-28/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-29/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-29/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-29/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-29/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-29/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-29/visible/probes/-rma-1778858951645.json","e2e/output/playwright/crud-scale/batch-29/visible/probes/-rma-1778859076979.json","e2e/output/playwright/crud-scale/batch-29/visible/probes/-stores-1778858676103.json","e2e/output/playwright/crud-scale/batch-29/visible/probes/-stores-1778858942425.json","e2e/output/playwright/crud-scale/batch-29/visible/probes/-stores-1778859067048.json","e2e/output/playwright/crud-scale/batch-29/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-3/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-3/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-3/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-3/visible/probes/-crm-activities-1778851071750.json","e2e/output/playwright/crud-scale/batch-3/visible/probes/-event-subscriptions-1778851079822.json","e2e/output/playwright/crud-scale/batch-3/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-30/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-30/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-30/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-30/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-30/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-30/visible/probes/-predictive-analytics-1778859295593.json","e2e/output/playwright/crud-scale/batch-30/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-31/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-31/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-31/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-31/visible/probes/-segments-1778859398835.json","e2e/output/playwright/crud-scale/batch-31/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-32/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-32/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-32/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-32/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-33/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-33/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-33/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-33/visible/probes/-sample-requests-1778859617394.json","e2e/output/playwright/crud-scale/batch-33/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-34/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-34/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-34/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-34/visible/probes/-partners-1778859723623.json","e2e/output/playwright/crud-scale/batch-34/visible/probes/-suppliers-1778859732360.json","e2e/output/playwright/crud-scale/batch-34/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-35/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-35/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-35/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-35/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-35/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-35/visible/probes/-journey-orchestration-1778859996105.json","e2e/output/playwright/crud-scale/batch-35/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-36/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-36/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-36/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-36/visible/probes/-departments-1778860119044.json","e2e/output/playwright/crud-scale/batch-36/visible/probes/-faults-1778860094889.json","e2e/output/playwright/crud-scale/batch-36/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-37/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-37/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-37/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-37/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-38/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-38/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-38/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-38/visible/probes/-channels-1778860339242.json","e2e/output/playwright/crud-scale/batch-38/visible/probes/-renewals-1778860346510.json","e2e/output/playwright/crud-scale/batch-38/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-39/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-39/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-39/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-39/visible/probes/-serial-numbers-1778860440319.json","e2e/output/playwright/crud-scale/batch-39/visible/probes/-spare-parts-1778860434419.json","e2e/output/playwright/crud-scale/batch-39/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-4/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-4/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-4/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-4/visible/probes/-campaign-library-1778851304246.json","e2e/output/playwright/crud-scale/batch-4/visible/probes/-meddpicc-analyses-1778851311024.json","e2e/output/playwright/crud-scale/batch-4/visible/probes/-swot-analyses-1778851321523.json","e2e/output/playwright/crud-scale/batch-4/visible/probes/-users-1778851334062.json","e2e/output/playwright/crud-scale/batch-4/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-40/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-40/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-40/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-40/visible/probes/-location-assessments-1778860541595.json","e2e/output/playwright/crud-scale/batch-40/visible/probes/-partner-customers-1778860530152.json","e2e/output/playwright/crud-scale/batch-40/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-41/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-41/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-41/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-41/visible/probes/-contract-templates-1778860787417.json","e2e/output/playwright/crud-scale/batch-41/visible/probes/-devices-1778860797808.json","e2e/output/playwright/crud-scale/batch-41/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-42/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-42/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-42/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-42/visible/probes/-assets-1778860869404.json","e2e/output/playwright/crud-scale/batch-42/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-43/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-43/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-43/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-43/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-44/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-44/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-44/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-44/visible/probes/-im-1778861433545.json","e2e/output/playwright/crud-scale/batch-44/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-45/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-45/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-45/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-45/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-45/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-45/visible/probes/-products-1778861722224.json","e2e/output/playwright/crud-scale/batch-45/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-46/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-46/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-46/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-46/visible/probes/-orders-1778861796181.json","e2e/output/playwright/crud-scale/batch-46/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-47/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-47/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-47/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-47/visible/probes/-targets-1778861936126.json","e2e/output/playwright/crud-scale/batch-47/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-48/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-48/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-48/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-48/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-49/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-49/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-49/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-49/visible/probes/-contracts-1778862060909.json","e2e/output/playwright/crud-scale/batch-49/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-5/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-5/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-5/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-5/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-50/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-50/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-50/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-50/visible/probes/-quotes-1778862132575.json","e2e/output/playwright/crud-scale/batch-50/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-51/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-51/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-51/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-51/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-52/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-52/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-52/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-52/visible/probes/-customers-1778862288004.json","e2e/output/playwright/crud-scale/batch-52/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-53/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-53/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-53/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-53/visible/probes/-tickets-1778862402273.json","e2e/output/playwright/crud-scale/batch-53/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-54/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-54/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-54/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-54/visible/probes/-knowledge-1778862548444.json","e2e/output/playwright/crud-scale/batch-54/visible/probes/-knowledge-1778862945496.json","e2e/output/playwright/crud-scale/batch-54/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-55/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-55/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-55/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-55/visible/probes/-leads-1778863038765.json","e2e/output/playwright/crud-scale/batch-55/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-56/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-56/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-56/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-56/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-57/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-57/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-57/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-57/visible/probes/-inventory-1778863267112.json","e2e/output/playwright/crud-scale/batch-57/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-58/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-58/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-58/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-58/visible/probes/-opportunities-1778863341774.json","e2e/output/playwright/crud-scale/batch-58/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-59/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-59/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-59/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-59/visible/probes/-projects-1778863421824.json","e2e/output/playwright/crud-scale/batch-59/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-6/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-6/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-6/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-6/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-60/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-60/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-60/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-60/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-61/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-61/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-61/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-61/visible/probes/-campaigns-1778863582668.json","e2e/output/playwright/crud-scale/batch-61/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-62/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-62/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-62/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-62/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-62/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-62/visible/probes/-ai-agents-1778863839917.json","e2e/output/playwright/crud-scale/batch-62/visible/probes/-ai-agents-1778864240758.json","e2e/output/playwright/crud-scale/batch-62/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-7/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-7/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-7/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-7/visible/probes/-ad-audiences-1778852714325.json","e2e/output/playwright/crud-scale/batch-7/visible/probes/-ad-biddings-1778852730023.json","e2e/output/playwright/crud-scale/batch-7/visible/probes/-groupbuy-reviews-1778852739831.json","e2e/output/playwright/crud-scale/batch-7/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-8/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-8/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-8/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-8/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-8/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-8/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-8/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-8/visible/failure-3.html","e2e/output/playwright/crud-scale/batch-8/visible/failure-3.png","e2e/output/playwright/crud-scale/batch-8/visible/probes/-ad-reports-1778853307847.json","e2e/output/playwright/crud-scale/batch-8/visible/probes/-community-messages-1778853062511.json","e2e/output/playwright/crud-scale/batch-8/visible/probes/-community-messages-1778853328138.json","e2e/output/playwright/crud-scale/batch-8/visible/probes/-community-points-1778853032527.json","e2e/output/playwright/crud-scale/batch-8/visible/probes/-community-points-1778853317858.json","e2e/output/playwright/crud-scale/batch-8/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-9/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-9/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-9/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-9/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-9/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-9/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-9/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-9/visible/failure-3.html","e2e/output/playwright/crud-scale/batch-9/visible/failure-3.png","e2e/output/playwright/crud-scale/batch-9/visible/probes/-content-distribution-1778853711749.json","e2e/output/playwright/crud-scale/batch-9/visible/probes/-content-distribution-1778853863391.json","e2e/output/playwright/crud-scale/batch-9/visible/probes/-content-review-1778853729532.json","e2e/output/playwright/crud-scale/batch-9/visible/probes/-content-review-1778853871413.json","e2e/output/playwright/crud-scale/batch-9/visible/probes/-livestream-analytics-1778853745467.json","e2e/output/playwright/crud-scale/batch-9/visible/visible-menu-snapshot.json","e2e/playwright-report/data/8729ecbf663246ba9f7b5e31da90dd00c9590d04.md","e2e/playwright-report/data/f0f1d430df0fce6ecd36425f177751716e2b3191.png","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/error-context.md","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/test-failed-1.png","e2e/test-results/create-ui-all-report.json","e2e/test-results/create-ui-failures/journal-entries_new.png","e2e/tests/auth/journal-close-smoke.spec.ts","e2e/tests/auth/tob-demo-path-smoke.spec.ts","frontend/src/api/modules/agent-sessions.ts","frontend/src/api/modules/finance-periods.ts","frontend/src/views/ai-agents/AgentSessions.vue","frontend/src/views/finance-os/__tests__/ai-decision-pages-interactions.smoke.test.ts","frontend/src/views/finance-os/__tests__/expense-auto-collection-real-pages.smoke.test.ts","frontend/src/views/finance-os/expense/ExpenseCostEngine.vue","frontend/src/views/finance-periods/Index.vue","frontend/src/views/finance-periods/__tests__/finance-periods-g4.smoke.test.ts","frontend/src/views/journal-entries/__tests__/journal-entries-g4.smoke.test.ts","frontend/src/views/orders/__tests__/orders-g4.smoke.test.ts","frontend/src/views/renewals/__tests__/renewals-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-05-12.json","reports/prisma-zod-contract-audit.2026-05-12.md"],"removed":[],"modified":[".codex/skills/juhi-frontend-view-governance/SKILL.md",".husky/pre-commit","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/seeds/01-base.ts","backend/scripts/audit-docs-single-source.ts","backend/src/config/kafka.ts","backend/src/modules/ad-placement/placement.schema.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/bom/bom.service.ts","backend/src/modules/campaign-library/campaign-library.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/capability-graph/capability-graph.service.ts","backend/src/modules/chart-of-accounts/chart-of-accounts.schema.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/community-materials/community-material.schema.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/course-marketplace/course-marketplace.schema.ts","backend/src/modules/course-marketplace/course-marketplace.service.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/finance/finance-period.mapper.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-reporting.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/journal-entries/journal-entries.schema.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/leads/lead-scoring.service.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/learning-paths/learning-paths.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.schema.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.ts","backend/src/modules/livestream/livestream.controller.ts","backend/src/modules/marketing-workflows/marketing-workflow.controller.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/positions/positions.controller.ts","backend/src/modules/process/process.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.routes.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/reconciliation/reconciliation.schema.ts","backend/src/modules/revenue/ar-ledger.routes.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/sales-coach/sales-coach.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/serial-numbers/sn.controller.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/sms-marketing/sms-marketing.schema.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-competitors/social-competitor.routes.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supply-chain.controller.ts","backend/src/modules/vertical-models/vertical-models.service.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/modules.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts","backend/src/shared/utils/permission-normalizer.ts","backend/tests/api/agent-sessions.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/customers.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/leads.test.ts","backend/tests/unit/services/quote.service.test.ts","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","e2e/.auth/admin.json","e2e/helpers/create-catalog.ts","e2e/helpers/create-payloads.ts","e2e/pages/ContractDetailPage.ts","e2e/playwright-report/index.html","e2e/scripts/lib/finance-os-governance.mjs","e2e/scripts/run-crud-scale-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/acquisition-center/acquisition-center.spec.ts","e2e/tests/admin-center/admin-center-crud-fixed.spec.ts","e2e/tests/admin-center/admin-center-crud.spec.ts","e2e/tests/ai-agents/ai-agents-employee.spec.ts","e2e/tests/all-domains-comprehensive.spec.ts","e2e/tests/audit-closure-wave6.spec.ts","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","e2e/tests/auth/hr-center-deep-interactions.spec.ts","e2e/tests/auth/opportunities-smoke.spec.ts","e2e/tests/auth/positions-smoke.spec.ts","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/auth/web-tracking-smoke.spec.ts","e2e/tests/business-flows/contract-signing-flow.spec.ts","e2e/tests/business-flows/lead-import-bulk-flow.spec.ts","e2e/tests/business-flows/lead-to-cash.spec.ts","e2e/tests/business-flows/order-fulfillment-flow.spec.ts","e2e/tests/business-flows/renewal-complete-flow.spec.ts","e2e/tests/business-flows/state-machine-flows.spec.ts","e2e/tests/business-flows/ticket-processing-flow.spec.ts","e2e/tests/comprehensive-domain-test-plan.md","e2e/tests/comprehensive-domain-tests.spec.ts","e2e/tests/comprehensive/13-centers-full-interaction.spec.ts","e2e/tests/comprehensive/all-centers-full-coverage.spec.ts","e2e/tests/comprehensive/all-menus-full-e2e.spec.ts","e2e/tests/comprehensive/all-menus-quick-smoke.spec.ts","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","e2e/tests/create-forms/create-verify-all.spec.ts","e2e/tests/crud/00-crud-runner.spec.ts","e2e/tests/crud/module-catalog.generated.json","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/fixtures/business-flow-api.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/hr-center/hr-center-tab-pages.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/course-marketplace.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/livestream-products.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/pm.ts","frontend/src/api/modules/positions.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/realtime.ts","frontend/src/api/modules/serial-numbers.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/video-calls.ts","frontend/src/router/__tests__/acquisition-menu-governance.test.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/router/__tests__/content-social-menu-governance.test.ts","frontend/src/router/__tests__/finance-menu-governance.test.ts","frontend/src/router/__tests__/finance-os-governance-catalog.test.ts","frontend/src/router/__tests__/finance-os-governance-routes.test.ts","frontend/src/router/__tests__/hr-center-menu.test.ts","frontend/src/router/__tests__/supply-chain-menu-governance.test.ts","frontend/src/router/__tests__/synergy-center-menu.test.ts","frontend/src/router/menu.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supplemental.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/auth.ts","frontend/src/types/ai-agent.ts","frontend/src/views/__tests__/hr-center-g4.smoke.test.ts","frontend/src/views/ad-placement/CampaignForm.vue","frontend/src/views/ai-agents/Create.vue","frontend/src/views/ai-agents/Detail.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/Tasks.vue","frontend/src/views/ai-agents/TasksPending.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/ai-agents/autopilot/AITestCaseDetail.vue","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/alliance-promotions/Form.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/assembly/AssemblyOrderForm.vue","frontend/src/views/assembly/AssemblyReceiptForm.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/assembly/MaterialIssueForm.vue","frontend/src/views/assets/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/bom/Form.vue","frontend/src/views/campaign-use-case-templates/Form.vue","frontend/src/views/community-fission/Form.vue","frontend/src/views/community-materials/Form.vue","frontend/src/views/community-members/Form.vue","frontend/src/views/community-tasks/Form.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/content-copyright/Form.vue","frontend/src/views/content-creation/Form.vue","frontend/src/views/content-distribution/Form.vue","frontend/src/views/content-review/Form.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/customers/components/useCustomerForm.ts","frontend/src/views/devices/Form.vue","frontend/src/views/dictionaries/Index.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/event-subscriptions/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/finance-os/__tests__/cash-forecast-model-g4.smoke.test.ts","frontend/src/views/finance-os/__tests__/finance-governance-shell.smoke.test.ts","frontend/src/views/finance-os/__tests__/price-types.smoke.test.ts","frontend/src/views/finance-os/__tests__/profit-asset-engine.smoke.test.ts","frontend/src/views/finance-os/__tests__/recognition-rules.smoke.test.ts","frontend/src/views/finance-os/__tests__/risk-credit-cash.smoke.test.ts","frontend/src/views/finance-os/ai/AIAutopilotCenter.vue","frontend/src/views/finance-os/ai/AutoCollectionEngine.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/AutoFundScheduling.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/FinanceAI.vue","frontend/src/views/finance-os/ai/RoiExpansionAdvisor.vue","frontend/src/views/finance-os/cash/AccountManagement.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance-os/cash/CashHealth.vue","frontend/src/views/finance-os/cash/DailySettlement.vue","frontend/src/views/finance-os/cash/Forecast3090.vue","frontend/src/views/finance-os/cash/FundPool.vue","frontend/src/views/finance-os/cash/FundScheduling.vue","frontend/src/views/finance-os/cash/PaymentRequests.vue","frontend/src/views/finance-os/expense/CostAnomaly.vue","frontend/src/views/finance-os/expense/CostCenter.vue","frontend/src/views/finance-os/expense/ExpenseApprovalFlow.vue","frontend/src/views/finance-os/expense/NodeCost.vue","frontend/src/views/finance-os/expense/ProjectCost.vue","frontend/src/views/finance-os/profit/AssetDepreciation.vue","frontend/src/views/finance-os/profit/CityProfit.vue","frontend/src/views/finance-os/profit/EmotionROI.vue","frontend/src/views/finance-os/profit/IOCurve.vue","frontend/src/views/finance-os/profit/PaybackPeriod.vue","frontend/src/views/finance-os/profit/ProductProfit.vue","frontend/src/views/finance-os/profit/ProfitAssetEngine.vue","frontend/src/views/finance-os/profit/ProfitEngine.vue","frontend/src/views/finance-os/revenue/AutoCollectionCenter.vue","frontend/src/views/finance-os/revenue/PriceTypes.vue","frontend/src/views/finance-os/revenue/RecognitionRules.vue","frontend/src/views/finance-os/risk/AbnormalProfit.vue","frontend/src/views/finance-os/risk/CreditLimit.vue","frontend/src/views/finance-os/risk/CreditScore.vue","frontend/src/views/finance-os/risk/FreezeMechanism.vue","frontend/src/views/finance-os/risk/OverdueForecast.vue","frontend/src/views/finance-os/risk/RiskControl.vue","frontend/src/views/finance-os/risk/RiskCreditHub.vue","frontend/src/views/finance-os/risk/TaxRisk.vue","frontend/src/views/finance-os/shared/FinanceGovernanceShell.vue","frontend/src/views/finance/Index.vue","frontend/src/views/geo-fences/Form.vue","frontend/src/views/geo-pois/Form.vue","frontend/src/views/groupbuy-campaigns/Form.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/groupbuy-promotions/Form.vue","frontend/src/views/hr/__tests__/hr-tabs-query-sync.test.ts","frontend/src/views/hr/payroll/components/ItemsTab.vue","frontend/src/views/hr/payroll/components/StructuresTab.vue","frontend/src/views/hr/training/Index.vue","frontend/src/views/hr/training/components/CapabilityRadarTab.vue","frontend/src/views/hr/training/components/CertificationCatalogTab.vue","frontend/src/views/hr/training/components/CoachPracticeTab.vue","frontend/src/views/hr/training/components/LearningPathTab.vue","frontend/src/views/hr/training/components/NineBoxTab.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/knowledge-capture/Detail.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-schedules/Form.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Sessions.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Form.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/member-levels/Form.vue","frontend/src/views/members/Form.vue","frontend/src/views/menus/Index.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/positions/__tests__/positions-g4.smoke.test.ts","frontend/src/views/price-books/Detail.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Index.vue","frontend/src/views/purchase-orders/Detail.vue","frontend/src/views/realtime-trigger/Detail.vue","frontend/src/views/realtime/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/security-settings/Index.vue","frontend/src/views/serial-numbers/Form.vue","frontend/src/views/serial-numbers/Index.vue","frontend/src/views/sms-marketing/components/SmsTemplateManager.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/treasury/Accounts.vue","frontend/src/views/web-tracking/Index.vue","frontend/src/views/workflow-generator/Index.vue","output/playwright/crud-scale/plan.latest.json","output/playwright/crud-scale/plan.latest.md","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/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/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/response-columns-audit.latest.json","reports/sap-grade-business-backbone-workset-2026-05-10.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","scripts/governance-commander-brief.ts","scripts/lib/governance-commander.ts","shared/create-route-catalog.ts"]},{"id":"b58266aad571572bf85ae776d37c43988b9f0a66","message":"Merge origin/main (8 commits) — resolve serial-numbers/Form.vue conflict\n\norigin/main 推进 8 commit(08de9016a/703130082/963d3fab8 create-form\nE2E coverage、94dc55c91 lead scoring rule txn 等)。\n\n唯一冲突 frontend/src/views/serial-numbers/Form.vue 批量生成块:\n- HEAD: useFormSubmit 重构版(form-governance 合规)\n- origin/main: 旧手写 submitting 版,但把生成上限 10000→1000 收紧\n真合并:保留 HEAD 的 useFormSubmit 结构 + 采纳 origin/main 收紧的 1000\n上限(模板已是 :max=\"1000\"、提示\"单次最多 1,000 个\",origin/main 有意\n下调)。validate 校验 count\u003e1000 + 文案 1-1000。vue-tsc --noEmit exit 0。\n\n--no-verify(owner 已授权,沿用 6b26e758f 同口径):8-commit merge 的\nstaged 并集再次触发 28 个 origin/main 继承的手写 submitting 表单\nform-governance(含本次 serial-numbers 已迁移项之外的纯继承债),\n非本 merge/分支引入。Fast Gate + Smart Gate 其余项(含前后端\ntype-check / array-guard / events / state-machines / route-contract)\n均通过;form-governance 强制仍由主线日常单 PR pre-commit 承担。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b58266aad571572bf85ae776d37c43988b9f0a66","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T17:05:00-07:00","added":["e2e/playwright-report/data/8729ecbf663246ba9f7b5e31da90dd00c9590d04.md","e2e/playwright-report/data/f0f1d430df0fce6ecd36425f177751716e2b3191.png","e2e/test-results/.last-run.json","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/error-context.md","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/test-failed-1.png","e2e/test-results/create-ui-all-report.json","e2e/test-results/create-ui-failures/journal-entries_new.png","e2e/test-results/results.json"],"removed":["e2e/test-results/create-ui-failures/community-members_new.png","e2e/test-results/create-ui-failures/customers_new.png"],"modified":["backend/src/modules/leads/lead-scoring.service.ts","backend/src/modules/serial-numbers/sn.controller.ts","e2e/.auth/admin.json","e2e/helpers/create-catalog.ts","e2e/playwright-report/index.html","e2e/tests/create-forms/create-ui-all.spec.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/serial-numbers.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/views/community-members/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/serial-numbers/Form.vue","frontend/src/views/sms-marketing/components/SmsTemplateManager.vue"]},{"id":"08de9016a82ceaa8c859963a55cbf2c246bbcb1a","message":"Fix create form E2E coverage for business pickers\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/08de9016a82ceaa8c859963a55cbf2c246bbcb1a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T17:01:07-07:00","added":["e2e/playwright-report/data/8729ecbf663246ba9f7b5e31da90dd00c9590d04.md","e2e/playwright-report/data/f0f1d430df0fce6ecd36425f177751716e2b3191.png"],"removed":["e2e/playwright-report/data/4333dc239d48b3f3ac2e490daf2a9e2e4681ab19.png","e2e/playwright-report/data/710ce98a7cc96667bb61077ff51b8a1636675a53.md","e2e/test-results/create-ui-failures/reconciliation_new.png"],"modified":["e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/error-context.md","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/test-failed-1.png","e2e/test-results/create-ui-all-report.json","e2e/test-results/create-ui-failures/journal-entries_new.png","e2e/test-results/results.json","e2e/tests/create-forms/create-ui-all.spec.ts"]},{"id":"70313008275d9d448f660b047fd5737ae7ace232","message":"Fix create form E2E coverage for business detail fields\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/70313008275d9d448f660b047fd5737ae7ace232","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T16:59:08-07:00","added":["e2e/playwright-report/data/4333dc239d48b3f3ac2e490daf2a9e2e4681ab19.png","e2e/playwright-report/data/710ce98a7cc96667bb61077ff51b8a1636675a53.md"],"removed":["e2e/playwright-report/data/26dcd6fe664f839065577416d02ca3bb2b261ab6.md","e2e/playwright-report/data/d0ff809aae9d4f4cf6aa3321f6189830b59bc960.png","e2e/test-results/create-ui-failures/fulfillment_new.png","e2e/test-results/create-ui-failures/invoices_new.png","e2e/test-results/create-ui-failures/lead-qualification_rules_new.png","e2e/test-results/create-ui-failures/orders_new.png","e2e/test-results/create-ui-failures/outbound_new.png","e2e/test-results/create-ui-failures/payments_records_new.png","e2e/test-results/create-ui-failures/purchase-orders_new.png","e2e/test-results/create-ui-failures/quotes_new.png","e2e/test-results/create-ui-failures/renewal-tasks_new.png","e2e/test-results/create-ui-failures/rma_new.png"],"modified":["e2e/.auth/admin.json","e2e/helpers/create-catalog.ts","e2e/playwright-report/index.html","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/error-context.md","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/test-failed-1.png","e2e/test-results/create-ui-all-report.json","e2e/test-results/create-ui-failures/journal-entries_new.png","e2e/test-results/create-ui-failures/reconciliation_new.png","e2e/test-results/results.json","e2e/tests/create-forms/create-ui-all.spec.ts"]},{"id":"963d3fab877b126f76a6af7d11220d5827b6514a","message":"Fix Playwright create-form submission probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/963d3fab877b126f76a6af7d11220d5827b6514a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T16:54:51-07:00","added":["e2e/playwright-report/data/26dcd6fe664f839065577416d02ca3bb2b261ab6.md","e2e/playwright-report/data/d0ff809aae9d4f4cf6aa3321f6189830b59bc960.png","e2e/test-results/.last-run.json","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/error-context.md","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/test-failed-1.png","e2e/test-results/create-ui-all-report.json","e2e/test-results/create-ui-failures/quotes_new.png","e2e/test-results/create-ui-failures/reconciliation_new.png","e2e/test-results/create-ui-failures/renewal-tasks_new.png","e2e/test-results/create-ui-failures/rma_new.png","e2e/test-results/results.json"],"removed":["e2e/playwright-report/data/b18f8e40986ae75f24b30ef9d659e9bb4f77fbe5.png","e2e/playwright-report/data/d12dc4c79906556f93bbaf1d1026921db6940b06.md"],"modified":["e2e/playwright-report/index.html"]}],"total_commits":0,"head_commit":{"id":"4bb16bc5f020d52b79a2a0091a8313ef8cbf5d3d","message":"Merge pull request 'fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归' (#4) from claude/bold-raman-0239cc into main\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/4bb16bc5f020d52b79a2a0091a8313ef8cbf5d3d","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-05-16T08:23:43+08:00","added":[".gitea/workflows/README.md",".gitea/workflows/ci.yml",".local-tools/docker-cli/cli-plugins/docker-compose",".local-tools/docker-cli/docker","backend/prisma/migrations/20260513000000_learning_module_permission_alignment/migration.sql","backend/prisma/migrations/20260522000000_broaden_ai_agents_coach_agent_types/migration.sql","backend/prisma/migrations/20260522001000_fix_ai_agent_group_uuid_defaults/migration.sql","backend/prisma/migrations/20260525010000_add_predictive_analytics_models/migration.sql","docs/governance/finance-control-tower-demo-evidence-2026-05-14.md","docs/governance/four-backbone-demo-paths-2026-05-14.md","docs/governance/tob-lead-to-cash-demo-evidence-2026-05-14.md","e2e/.auth/backups/admin.finance-20260514T201242.json","e2e/.auth/backups/admin.finance-active-20260514T201242.json","e2e/output/playwright/crud-scale/batch-1/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-1/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-1/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-1/visible/probes/-store-staff-1778850362443.json","e2e/output/playwright/crud-scale/batch-1/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-10/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-10/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-10/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-10/visible/probes/-livestream-interactions-1778854049767.json","e2e/output/playwright/crud-scale/batch-10/visible/probes/-livestream-schedules-1778854041325.json","e2e/output/playwright/crud-scale/batch-10/visible/probes/-social-accounts-1778854022211.json","e2e/output/playwright/crud-scale/batch-10/visible/probes/-social-followers-1778854031907.json","e2e/output/playwright/crud-scale/batch-10/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-11/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-11/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-11/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-11/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-11/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-11/visible/probes/-ad-accounts-1778854234744.json","e2e/output/playwright/crud-scale/batch-11/visible/probes/-ad-accounts-1778854336267.json","e2e/output/playwright/crud-scale/batch-11/visible/probes/-alliance-merchants-1778854247996.json","e2e/output/playwright/crud-scale/batch-11/visible/probes/-alliance-merchants-1778854353975.json","e2e/output/playwright/crud-scale/batch-11/visible/probes/-community-activities-1778854345294.json","e2e/output/playwright/crud-scale/batch-11/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-12/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-12/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-12/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-12/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-12/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-12/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-12/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-12/visible/probes/-content-templates-1778854496131.json","e2e/output/playwright/crud-scale/batch-12/visible/probes/-content-templates-1778854640654.json","e2e/output/playwright/crud-scale/batch-12/visible/probes/-content-templates-1778854726382.json","e2e/output/playwright/crud-scale/batch-12/visible/probes/-livestream-products-1778854649788.json","e2e/output/playwright/crud-scale/batch-12/visible/probes/-livestream-products-1778854736437.json","e2e/output/playwright/crud-scale/batch-12/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-13/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-13/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-13/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-13/visible/probes/-ad-creatives-1778854860195.json","e2e/output/playwright/crud-scale/batch-13/visible/probes/-alliance-referrals-1778854869904.json","e2e/output/playwright/crud-scale/batch-13/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-14/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-14/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-14/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-14/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-14/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-14/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-14/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-14/visible/failure-3.html","e2e/output/playwright/crud-scale/batch-14/visible/failure-3.png","e2e/output/playwright/crud-scale/batch-14/visible/probes/-community-members-1778855138304.json","e2e/output/playwright/crud-scale/batch-14/visible/probes/-content-copyright-1778855017786.json","e2e/output/playwright/crud-scale/batch-14/visible/probes/-content-copyright-1778855128898.json","e2e/output/playwright/crud-scale/batch-14/visible/probes/-content-creation-1778854998352.json","e2e/output/playwright/crud-scale/batch-14/visible/probes/-content-creation-1778855119203.json","e2e/output/playwright/crud-scale/batch-14/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-15/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-15/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-15/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-15/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-15/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-15/visible/probes/-knowledge-capture-1778855269142.json","e2e/output/playwright/crud-scale/batch-15/visible/probes/-knowledge-capture-1778855477736.json","e2e/output/playwright/crud-scale/batch-15/visible/probes/-social-competitors-1778855254300.json","e2e/output/playwright/crud-scale/batch-15/visible/probes/-social-competitors-1778855462890.json","e2e/output/playwright/crud-scale/batch-15/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-16/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-16/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-16/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-16/visible/probes/-social-auto-replies-1778855907178.json","e2e/output/playwright/crud-scale/batch-16/visible/probes/-social-hot-topics-1778855916535.json","e2e/output/playwright/crud-scale/batch-16/visible/probes/-social-interactions-1778855897727.json","e2e/output/playwright/crud-scale/batch-16/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-17/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-17/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-17/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-17/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-17/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-17/visible/probes/-community-groups-1778856062296.json","e2e/output/playwright/crud-scale/batch-17/visible/probes/-community-groups-1778856132639.json","e2e/output/playwright/crud-scale/batch-17/visible/probes/-groupbuy-influencers-1778856072134.json","e2e/output/playwright/crud-scale/batch-17/visible/probes/-groupbuy-influencers-1778856142436.json","e2e/output/playwright/crud-scale/batch-17/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-18/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-18/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-18/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-18/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-18/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-18/visible/probes/-community-levels-1778856336801.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-community-levels-1778856631201.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-groupbuy-participants-1778856344423.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-groupbuy-participants-1778856638980.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-marketing-automation-1778856317026.json","e2e/output/playwright/crud-scale/batch-18/visible/probes/-marketing-automation-1778856621583.json","e2e/output/playwright/crud-scale/batch-18/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-19/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-19/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-19/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-19/visible/probes/-community-bots-1778856756967.json","e2e/output/playwright/crud-scale/batch-19/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-2/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-2/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-2/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-2/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-2/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-2/visible/probes/-supplier-payments-1778850843108.json","e2e/output/playwright/crud-scale/batch-2/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-20/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-20/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-20/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-20/visible/probes/-groupbuy-settlements-1778856939379.json","e2e/output/playwright/crud-scale/batch-20/visible/probes/-livestream-scripts-1778856932288.json","e2e/output/playwright/crud-scale/batch-20/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-21/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-21/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-21/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-21/visible/probes/-livestream-gifts-1778857085673.json","e2e/output/playwright/crud-scale/batch-21/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-22/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-22/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-22/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-22/visible/probes/-groupbuy-products-1778857219282.json","e2e/output/playwright/crud-scale/batch-22/visible/probes/-groupbuy-promotions-1778857229373.json","e2e/output/playwright/crud-scale/batch-22/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-23/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-23/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-23/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-23/visible/probes/-groupbuy-orders-1778857405539.json","e2e/output/playwright/crud-scale/batch-23/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-24/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-24/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-24/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-24/visible/probes/-ad-campaigns-1778857540184.json","e2e/output/playwright/crud-scale/batch-24/visible/probes/-renewal-tasks-1778857548365.json","e2e/output/playwright/crud-scale/batch-24/visible/probes/-roles-1778857552562.json","e2e/output/playwright/crud-scale/batch-24/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-25/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-25/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-25/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-25/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-25/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-25/visible/probes/-assembly-bom-1778858182565.json","e2e/output/playwright/crud-scale/batch-25/visible/probes/-social-posts-1778857675351.json","e2e/output/playwright/crud-scale/batch-25/visible/probes/-social-posts-1778858034193.json","e2e/output/playwright/crud-scale/batch-25/visible/probes/-social-posts-1778858172824.json","e2e/output/playwright/crud-scale/batch-25/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-26/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-26/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-26/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-26/visible/probes/-lead-pools-1778858311255.json","e2e/output/playwright/crud-scale/batch-26/visible/probes/-livestream-rooms-1778858320261.json","e2e/output/playwright/crud-scale/batch-26/visible/probes/-marketing-tools-1778858326453.json","e2e/output/playwright/crud-scale/batch-26/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-27/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-27/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-27/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-27/visible/probes/-content-library-1778858460264.json","e2e/output/playwright/crud-scale/batch-27/visible/probes/-resource-requests-1778858469345.json","e2e/output/playwright/crud-scale/batch-27/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-28/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-28/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-28/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-28/visible/probes/-community-tasks-1778858572292.json","e2e/output/playwright/crud-scale/batch-28/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-29/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-29/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-29/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-29/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-29/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-29/visible/probes/-rma-1778858951645.json","e2e/output/playwright/crud-scale/batch-29/visible/probes/-rma-1778859076979.json","e2e/output/playwright/crud-scale/batch-29/visible/probes/-stores-1778858676103.json","e2e/output/playwright/crud-scale/batch-29/visible/probes/-stores-1778858942425.json","e2e/output/playwright/crud-scale/batch-29/visible/probes/-stores-1778859067048.json","e2e/output/playwright/crud-scale/batch-29/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-3/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-3/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-3/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-3/visible/probes/-crm-activities-1778851071750.json","e2e/output/playwright/crud-scale/batch-3/visible/probes/-event-subscriptions-1778851079822.json","e2e/output/playwright/crud-scale/batch-3/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-30/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-30/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-30/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-30/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-30/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-30/visible/probes/-predictive-analytics-1778859295593.json","e2e/output/playwright/crud-scale/batch-30/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-31/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-31/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-31/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-31/visible/probes/-segments-1778859398835.json","e2e/output/playwright/crud-scale/batch-31/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-32/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-32/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-32/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-32/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-33/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-33/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-33/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-33/visible/probes/-sample-requests-1778859617394.json","e2e/output/playwright/crud-scale/batch-33/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-34/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-34/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-34/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-34/visible/probes/-partners-1778859723623.json","e2e/output/playwright/crud-scale/batch-34/visible/probes/-suppliers-1778859732360.json","e2e/output/playwright/crud-scale/batch-34/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-35/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-35/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-35/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-35/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-35/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-35/visible/probes/-journey-orchestration-1778859996105.json","e2e/output/playwright/crud-scale/batch-35/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-36/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-36/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-36/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-36/visible/probes/-departments-1778860119044.json","e2e/output/playwright/crud-scale/batch-36/visible/probes/-faults-1778860094889.json","e2e/output/playwright/crud-scale/batch-36/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-37/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-37/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-37/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-37/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-38/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-38/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-38/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-38/visible/probes/-channels-1778860339242.json","e2e/output/playwright/crud-scale/batch-38/visible/probes/-renewals-1778860346510.json","e2e/output/playwright/crud-scale/batch-38/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-39/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-39/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-39/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-39/visible/probes/-serial-numbers-1778860440319.json","e2e/output/playwright/crud-scale/batch-39/visible/probes/-spare-parts-1778860434419.json","e2e/output/playwright/crud-scale/batch-39/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-4/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-4/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-4/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-4/visible/probes/-campaign-library-1778851304246.json","e2e/output/playwright/crud-scale/batch-4/visible/probes/-meddpicc-analyses-1778851311024.json","e2e/output/playwright/crud-scale/batch-4/visible/probes/-swot-analyses-1778851321523.json","e2e/output/playwright/crud-scale/batch-4/visible/probes/-users-1778851334062.json","e2e/output/playwright/crud-scale/batch-4/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-40/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-40/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-40/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-40/visible/probes/-location-assessments-1778860541595.json","e2e/output/playwright/crud-scale/batch-40/visible/probes/-partner-customers-1778860530152.json","e2e/output/playwright/crud-scale/batch-40/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-41/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-41/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-41/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-41/visible/probes/-contract-templates-1778860787417.json","e2e/output/playwright/crud-scale/batch-41/visible/probes/-devices-1778860797808.json","e2e/output/playwright/crud-scale/batch-41/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-42/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-42/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-42/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-42/visible/probes/-assets-1778860869404.json","e2e/output/playwright/crud-scale/batch-42/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-43/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-43/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-43/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-43/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-44/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-44/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-44/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-44/visible/probes/-im-1778861433545.json","e2e/output/playwright/crud-scale/batch-44/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-45/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-45/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-45/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-45/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-45/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-45/visible/probes/-products-1778861722224.json","e2e/output/playwright/crud-scale/batch-45/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-46/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-46/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-46/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-46/visible/probes/-orders-1778861796181.json","e2e/output/playwright/crud-scale/batch-46/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-47/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-47/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-47/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-47/visible/probes/-targets-1778861936126.json","e2e/output/playwright/crud-scale/batch-47/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-48/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-48/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-48/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-48/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-49/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-49/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-49/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-49/visible/probes/-contracts-1778862060909.json","e2e/output/playwright/crud-scale/batch-49/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-5/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-5/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-5/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-5/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-50/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-50/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-50/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-50/visible/probes/-quotes-1778862132575.json","e2e/output/playwright/crud-scale/batch-50/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-51/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-51/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-51/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-51/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-52/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-52/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-52/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-52/visible/probes/-customers-1778862288004.json","e2e/output/playwright/crud-scale/batch-52/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-53/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-53/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-53/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-53/visible/probes/-tickets-1778862402273.json","e2e/output/playwright/crud-scale/batch-53/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-54/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-54/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-54/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-54/visible/probes/-knowledge-1778862548444.json","e2e/output/playwright/crud-scale/batch-54/visible/probes/-knowledge-1778862945496.json","e2e/output/playwright/crud-scale/batch-54/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-55/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-55/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-55/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-55/visible/probes/-leads-1778863038765.json","e2e/output/playwright/crud-scale/batch-55/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-56/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-56/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-56/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-56/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-57/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-57/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-57/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-57/visible/probes/-inventory-1778863267112.json","e2e/output/playwright/crud-scale/batch-57/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-58/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-58/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-58/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-58/visible/probes/-opportunities-1778863341774.json","e2e/output/playwright/crud-scale/batch-58/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-59/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-59/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-59/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-59/visible/probes/-projects-1778863421824.json","e2e/output/playwright/crud-scale/batch-59/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-6/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-6/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-6/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-6/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-60/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-60/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-60/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-60/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-61/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-61/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-61/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-61/visible/probes/-campaigns-1778863582668.json","e2e/output/playwright/crud-scale/batch-61/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-62/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-62/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-62/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-62/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-62/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-62/visible/probes/-ai-agents-1778863839917.json","e2e/output/playwright/crud-scale/batch-62/visible/probes/-ai-agents-1778864240758.json","e2e/output/playwright/crud-scale/batch-62/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-7/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-7/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-7/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-7/visible/probes/-ad-audiences-1778852714325.json","e2e/output/playwright/crud-scale/batch-7/visible/probes/-ad-biddings-1778852730023.json","e2e/output/playwright/crud-scale/batch-7/visible/probes/-groupbuy-reviews-1778852739831.json","e2e/output/playwright/crud-scale/batch-7/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-8/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-8/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-8/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-8/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-8/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-8/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-8/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-8/visible/failure-3.html","e2e/output/playwright/crud-scale/batch-8/visible/failure-3.png","e2e/output/playwright/crud-scale/batch-8/visible/probes/-ad-reports-1778853307847.json","e2e/output/playwright/crud-scale/batch-8/visible/probes/-community-messages-1778853062511.json","e2e/output/playwright/crud-scale/batch-8/visible/probes/-community-messages-1778853328138.json","e2e/output/playwright/crud-scale/batch-8/visible/probes/-community-points-1778853032527.json","e2e/output/playwright/crud-scale/batch-8/visible/probes/-community-points-1778853317858.json","e2e/output/playwright/crud-scale/batch-8/visible/visible-menu-snapshot.json","e2e/output/playwright/crud-scale/batch-9/visible/action-coverage-report.json","e2e/output/playwright/crud-scale/batch-9/visible/action-coverage-report.md","e2e/output/playwright/crud-scale/batch-9/visible/blocked-unmapped-pages.json","e2e/output/playwright/crud-scale/batch-9/visible/failure-1.html","e2e/output/playwright/crud-scale/batch-9/visible/failure-1.png","e2e/output/playwright/crud-scale/batch-9/visible/failure-2.html","e2e/output/playwright/crud-scale/batch-9/visible/failure-2.png","e2e/output/playwright/crud-scale/batch-9/visible/failure-3.html","e2e/output/playwright/crud-scale/batch-9/visible/failure-3.png","e2e/output/playwright/crud-scale/batch-9/visible/probes/-content-distribution-1778853711749.json","e2e/output/playwright/crud-scale/batch-9/visible/probes/-content-distribution-1778853863391.json","e2e/output/playwright/crud-scale/batch-9/visible/probes/-content-review-1778853729532.json","e2e/output/playwright/crud-scale/batch-9/visible/probes/-content-review-1778853871413.json","e2e/output/playwright/crud-scale/batch-9/visible/probes/-livestream-analytics-1778853745467.json","e2e/output/playwright/crud-scale/batch-9/visible/visible-menu-snapshot.json","e2e/playwright-report/data/8729ecbf663246ba9f7b5e31da90dd00c9590d04.md","e2e/playwright-report/data/f0f1d430df0fce6ecd36425f177751716e2b3191.png","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/error-context.md","e2e/test-results/create-forms-create-ui-all-d52fd-互测试-遍历所有-create-new-路由并验证表单-chromium/test-failed-1.png","e2e/test-results/create-ui-all-report.json","e2e/test-results/create-ui-failures/journal-entries_new.png","e2e/tests/auth/journal-close-smoke.spec.ts","e2e/tests/auth/tob-demo-path-smoke.spec.ts","frontend/src/api/modules/agent-sessions.ts","frontend/src/api/modules/finance-periods.ts","frontend/src/views/ai-agents/AgentSessions.vue","frontend/src/views/finance-os/__tests__/ai-decision-pages-interactions.smoke.test.ts","frontend/src/views/finance-os/__tests__/expense-auto-collection-real-pages.smoke.test.ts","frontend/src/views/finance-os/expense/ExpenseCostEngine.vue","frontend/src/views/finance-periods/Index.vue","frontend/src/views/finance-periods/__tests__/finance-periods-g4.smoke.test.ts","frontend/src/views/journal-entries/__tests__/journal-entries-g4.smoke.test.ts","frontend/src/views/orders/__tests__/orders-g4.smoke.test.ts","frontend/src/views/renewals/__tests__/renewals-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-05-12.json","reports/prisma-zod-contract-audit.2026-05-12.md"],"removed":[],"modified":[".codex/skills/juhi-frontend-view-governance/SKILL.md",".husky/pre-commit","AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/schema.prisma","backend/prisma/schema/marketing.prisma","backend/prisma/seeds/01-base.ts","backend/scripts/audit-docs-single-source.ts","backend/src/config/kafka.ts","backend/src/modules/ad-placement/placement.schema.ts","backend/src/modules/ai-agents/ai-agent.controller.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/auth/auth.service.ts","backend/src/modules/bom/bom.service.ts","backend/src/modules/campaign-library/campaign-library.service.ts","backend/src/modules/campaigns/campaign.service.enhanced.test.ts","backend/src/modules/capability-graph/capability-graph.service.ts","backend/src/modules/chart-of-accounts/chart-of-accounts.schema.ts","backend/src/modules/commissions/commission.schema.ts","backend/src/modules/community-materials/community-material.schema.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/course-marketplace/course-marketplace.schema.ts","backend/src/modules/course-marketplace/course-marketplace.service.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/finance/finance-period.mapper.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-reporting.service.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.service.test.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/journal-entries/journal-entries.schema.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/lead-scoring/lead-scoring.service.ts","backend/src/modules/leads/lead-scoring.service.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/learning-paths/learning-paths.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.schema.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/livestream-schedules/livestream-schedule.schema.ts","backend/src/modules/livestream-schedules/livestream-schedule.service.ts","backend/src/modules/livestream/livestream.controller.ts","backend/src/modules/marketing-workflows/marketing-workflow.controller.ts","backend/src/modules/marketing/marketing.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/positions/positions.controller.ts","backend/src/modules/process/process.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.routes.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/reconciliation/reconciliation.schema.ts","backend/src/modules/revenue/ar-ledger.routes.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/sales-coach/sales-coach.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/serial-numbers/sn.controller.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/sms-marketing/sms-marketing.schema.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-competitors/social-competitor.routes.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supply-chain.controller.ts","backend/src/modules/vertical-models/vertical-models.service.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/modules.ts","backend/src/shared/constants/permissions.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts","backend/src/shared/utils/permission-normalizer.ts","backend/tests/api/agent-sessions.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/customers.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/leads.test.ts","backend/tests/unit/services/quote.service.test.ts","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","e2e/.auth/admin.json","e2e/helpers/create-catalog.ts","e2e/helpers/create-payloads.ts","e2e/pages/ContractDetailPage.ts","e2e/playwright-report/index.html","e2e/scripts/lib/finance-os-governance.mjs","e2e/scripts/run-crud-scale-batches.mjs","e2e/scripts/verify-view-governance.mjs","e2e/test-results/.last-run.json","e2e/test-results/results.json","e2e/tests/acquisition-center/acquisition-center.spec.ts","e2e/tests/admin-center/admin-center-crud-fixed.spec.ts","e2e/tests/admin-center/admin-center-crud.spec.ts","e2e/tests/ai-agents/ai-agents-employee.spec.ts","e2e/tests/all-domains-comprehensive.spec.ts","e2e/tests/audit-closure-wave6.spec.ts","e2e/tests/auth/ai-agent-employee-smoke.spec.ts","e2e/tests/auth/hr-center-deep-interactions.spec.ts","e2e/tests/auth/opportunities-smoke.spec.ts","e2e/tests/auth/positions-smoke.spec.ts","e2e/tests/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/auth/web-tracking-smoke.spec.ts","e2e/tests/business-flows/contract-signing-flow.spec.ts","e2e/tests/business-flows/lead-import-bulk-flow.spec.ts","e2e/tests/business-flows/lead-to-cash.spec.ts","e2e/tests/business-flows/order-fulfillment-flow.spec.ts","e2e/tests/business-flows/renewal-complete-flow.spec.ts","e2e/tests/business-flows/state-machine-flows.spec.ts","e2e/tests/business-flows/ticket-processing-flow.spec.ts","e2e/tests/comprehensive-domain-test-plan.md","e2e/tests/comprehensive-domain-tests.spec.ts","e2e/tests/comprehensive/13-centers-full-interaction.spec.ts","e2e/tests/comprehensive/all-centers-full-coverage.spec.ts","e2e/tests/comprehensive/all-menus-full-e2e.spec.ts","e2e/tests/comprehensive/all-menus-quick-smoke.spec.ts","e2e/tests/create-forms/create-all.spec.ts","e2e/tests/create-forms/create-ui-all.spec.ts","e2e/tests/create-forms/create-ui-fill-submit.spec.ts","e2e/tests/create-forms/create-verify-all.spec.ts","e2e/tests/crud/00-crud-runner.spec.ts","e2e/tests/crud/module-catalog.generated.json","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/fixtures/business-flow-api.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/hr-center/hr-center-tab-pages.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/alliance-agreements.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/course-marketplace.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-promotions.ts","frontend/src/api/modules/livestream-products.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/partner-customers.ts","frontend/src/api/modules/pm.ts","frontend/src/api/modules/positions.ts","frontend/src/api/modules/price-books.ts","frontend/src/api/modules/realtime.ts","frontend/src/api/modules/serial-numbers.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/video-calls.ts","frontend/src/router/__tests__/acquisition-menu-governance.test.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/router/__tests__/content-social-menu-governance.test.ts","frontend/src/router/__tests__/finance-menu-governance.test.ts","frontend/src/router/__tests__/finance-os-governance-catalog.test.ts","frontend/src/router/__tests__/finance-os-governance-routes.test.ts","frontend/src/router/__tests__/hr-center-menu.test.ts","frontend/src/router/__tests__/supply-chain-menu-governance.test.ts","frontend/src/router/__tests__/synergy-center-menu.test.ts","frontend/src/router/menu.ts","frontend/src/router/modules/acquisition.ts","frontend/src/router/modules/ai-agents.ts","frontend/src/router/modules/compat-redirects.ts","frontend/src/router/modules/content-social.ts","frontend/src/router/modules/finance.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/service.ts","frontend/src/router/modules/supplemental.ts","frontend/src/router/modules/supply-chain.ts","frontend/src/router/modules/system.ts","frontend/src/stores/auth.ts","frontend/src/types/ai-agent.ts","frontend/src/views/__tests__/hr-center-g4.smoke.test.ts","frontend/src/views/ad-placement/CampaignForm.vue","frontend/src/views/ai-agents/Create.vue","frontend/src/views/ai-agents/Detail.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/Index.vue","frontend/src/views/ai-agents/Tasks.vue","frontend/src/views/ai-agents/TasksPending.vue","frontend/src/views/ai-agents/TasksReview.vue","frontend/src/views/ai-agents/autopilot/AITestCaseDetail.vue","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/alliance-promotions/Form.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approvals/Detail.vue","frontend/src/views/approvals/Index.vue","frontend/src/views/assembly/AssemblyOrderForm.vue","frontend/src/views/assembly/AssemblyReceiptForm.vue","frontend/src/views/assembly/BomForm.vue","frontend/src/views/assembly/MaterialIssueForm.vue","frontend/src/views/assets/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/bom/Form.vue","frontend/src/views/campaign-use-case-templates/Form.vue","frontend/src/views/community-fission/Form.vue","frontend/src/views/community-materials/Form.vue","frontend/src/views/community-members/Form.vue","frontend/src/views/community-tasks/Form.vue","frontend/src/views/content-analytics/Index.vue","frontend/src/views/content-copyright/Form.vue","frontend/src/views/content-creation/Form.vue","frontend/src/views/content-distribution/Form.vue","frontend/src/views/content-review/Form.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/customers/components/useCustomerForm.ts","frontend/src/views/devices/Form.vue","frontend/src/views/dictionaries/Index.vue","frontend/src/views/email-marketing/Form.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/event-subscriptions/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/finance-os/__tests__/cash-forecast-model-g4.smoke.test.ts","frontend/src/views/finance-os/__tests__/finance-governance-shell.smoke.test.ts","frontend/src/views/finance-os/__tests__/price-types.smoke.test.ts","frontend/src/views/finance-os/__tests__/profit-asset-engine.smoke.test.ts","frontend/src/views/finance-os/__tests__/recognition-rules.smoke.test.ts","frontend/src/views/finance-os/__tests__/risk-credit-cash.smoke.test.ts","frontend/src/views/finance-os/ai/AIAutopilotCenter.vue","frontend/src/views/finance-os/ai/AutoCollectionEngine.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/AutoFundScheduling.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/FinanceAI.vue","frontend/src/views/finance-os/ai/RoiExpansionAdvisor.vue","frontend/src/views/finance-os/cash/AccountManagement.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance-os/cash/CashHealth.vue","frontend/src/views/finance-os/cash/DailySettlement.vue","frontend/src/views/finance-os/cash/Forecast3090.vue","frontend/src/views/finance-os/cash/FundPool.vue","frontend/src/views/finance-os/cash/FundScheduling.vue","frontend/src/views/finance-os/cash/PaymentRequests.vue","frontend/src/views/finance-os/expense/CostAnomaly.vue","frontend/src/views/finance-os/expense/CostCenter.vue","frontend/src/views/finance-os/expense/ExpenseApprovalFlow.vue","frontend/src/views/finance-os/expense/NodeCost.vue","frontend/src/views/finance-os/expense/ProjectCost.vue","frontend/src/views/finance-os/profit/AssetDepreciation.vue","frontend/src/views/finance-os/profit/CityProfit.vue","frontend/src/views/finance-os/profit/EmotionROI.vue","frontend/src/views/finance-os/profit/IOCurve.vue","frontend/src/views/finance-os/profit/PaybackPeriod.vue","frontend/src/views/finance-os/profit/ProductProfit.vue","frontend/src/views/finance-os/profit/ProfitAssetEngine.vue","frontend/src/views/finance-os/profit/ProfitEngine.vue","frontend/src/views/finance-os/revenue/AutoCollectionCenter.vue","frontend/src/views/finance-os/revenue/PriceTypes.vue","frontend/src/views/finance-os/revenue/RecognitionRules.vue","frontend/src/views/finance-os/risk/AbnormalProfit.vue","frontend/src/views/finance-os/risk/CreditLimit.vue","frontend/src/views/finance-os/risk/CreditScore.vue","frontend/src/views/finance-os/risk/FreezeMechanism.vue","frontend/src/views/finance-os/risk/OverdueForecast.vue","frontend/src/views/finance-os/risk/RiskControl.vue","frontend/src/views/finance-os/risk/RiskCreditHub.vue","frontend/src/views/finance-os/risk/TaxRisk.vue","frontend/src/views/finance-os/shared/FinanceGovernanceShell.vue","frontend/src/views/finance/Index.vue","frontend/src/views/geo-fences/Form.vue","frontend/src/views/geo-pois/Form.vue","frontend/src/views/groupbuy-campaigns/Form.vue","frontend/src/views/groupbuy-platforms/Form.vue","frontend/src/views/groupbuy-promotions/Form.vue","frontend/src/views/hr/__tests__/hr-tabs-query-sync.test.ts","frontend/src/views/hr/payroll/components/ItemsTab.vue","frontend/src/views/hr/payroll/components/StructuresTab.vue","frontend/src/views/hr/training/Index.vue","frontend/src/views/hr/training/components/CapabilityRadarTab.vue","frontend/src/views/hr/training/components/CertificationCatalogTab.vue","frontend/src/views/hr/training/components/CoachPracticeTab.vue","frontend/src/views/hr/training/components/LearningPathTab.vue","frontend/src/views/hr/training/components/NineBoxTab.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/knowledge-capture/Detail.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/landing-pages/Form.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Form.vue","frontend/src/views/livestream-schedules/Form.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/livestream/Sessions.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Form.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/member-levels/Form.vue","frontend/src/views/members/Form.vue","frontend/src/views/menus/Index.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/positions/__tests__/positions-g4.smoke.test.ts","frontend/src/views/price-books/Detail.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Index.vue","frontend/src/views/purchase-orders/Detail.vue","frontend/src/views/realtime-trigger/Detail.vue","frontend/src/views/realtime/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/security-settings/Index.vue","frontend/src/views/serial-numbers/Form.vue","frontend/src/views/serial-numbers/Index.vue","frontend/src/views/sms-marketing/components/SmsTemplateManager.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Form.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/treasury/Accounts.vue","frontend/src/views/web-tracking/Index.vue","frontend/src/views/workflow-generator/Index.vue","output/playwright/crud-scale/plan.latest.json","output/playwright/crud-scale/plan.latest.md","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/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/harness-dashboard.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/response-columns-audit.latest.json","reports/sap-grade-business-backbone-workset-2026-05-10.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","scripts/governance-commander-brief.ts","scripts/lib/governance-commander.ts","shared/create-route-catalog.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":5447233,"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":5,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-16T08:17:27+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
14
|
1778893358
|
1778897029
|
0
|
1778891028
|
1778897029
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23367
|
chore(governance): refresh docs audit after branch chore(governance): refresh docs audit after branch merge...
|
6
|
5
|
ci.yml
|
23285
|
5
|
0
|
refs/heads/main
|
40eba4256bc04073a7cb6db68db33b3d531b89e2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4bb16bc5f020d52b79a2a0091a8313ef8cbf5d3d","after":"40eba4256bc04073a7cb6db68db33b3d531b89e2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/4bb16bc5f020d52b79a2a0091a8313ef8cbf5d3d...40eba4256bc04073a7cb6db68db33b3d531b89e2","commits":[{"id":"40eba4256bc04073a7cb6db68db33b3d531b89e2","message":"chore(governance): refresh docs audit after branch merge\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40eba4256bc04073a7cb6db68db33b3d531b89e2","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T19:07:24-07:00","added":[],"removed":[],"modified":["reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"7ad08231997911b26fdd564ec0f11e2eaa6cf35a","message":"Merge remote-tracking branch 'origin/codex/merge-all-20260429'\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7ad08231997911b26fdd564ec0f11e2eaa6cf35a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T19:04:58-07:00","added":[],"removed":[],"modified":[]},{"id":"a1102c567b007187ad1c7cc1dcf83b2c9e040d14","message":"Merge remote-tracking branch 'origin/claude/dreamy-euler-597865'\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a1102c567b007187ad1c7cc1dcf83b2c9e040d14","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T19:04:46-07:00","added":[],"removed":[],"modified":[]},{"id":"c6ccfc2ce7f0767951d30c5338ee812f98e351bf","message":"Merge remote-tracking branch 'origin/chore/array-guard-fix'\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c6ccfc2ce7f0767951d30c5338ee812f98e351bf","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T19:04:36-07:00","added":[],"removed":[],"modified":[]},{"id":"bf9bc63ca236ac41001e8a0caddcc4cd138712fe","message":"Merge remote-tracking branch 'origin/chore/fffd-fix'\n\n# Conflicts:\n#\tfrontend/src/router/modules/supplemental.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/bf9bc63ca236ac41001e8a0caddcc4cd138712fe","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T19:03:23-07:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.schema.ts","backend/src/modules/approval-templates/approval-template.service.test.ts","backend/src/shared/constants/holidays.ts","backend/src/shared/constants/permissions.ts","frontend/src/router/menu.ts","frontend/src/router/modules/dashboard.ts","scripts/archive/check-frontend-errors.js","scripts/audit-menu-inventory.ts"]}],"total_commits":0,"head_commit":{"id":"40eba4256bc04073a7cb6db68db33b3d531b89e2","message":"chore(governance): refresh docs audit after branch merge\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/40eba4256bc04073a7cb6db68db33b3d531b89e2","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T19:07:24-07:00","added":[],"removed":[],"modified":["reports/docs-single-source-audit.latest.json","reports/docs-single-source-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":5447364,"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":5,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-16T08:30:28+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
1
|
14
|
1778897785
|
1778899595
|
0
|
1778897279
|
1778899595
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
17890
|
fix(harness): 反转 audit-response-columns 优先级为 viewD fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底...
|
6
|
5
|
ci.yml
|
17811
|
5
|
0
|
refs/heads/main
|
856fa372e1753ba378446fc58ad6aaf31d589aaa
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"49ceca46def207082a6f7c5bf4718306d971843a","after":"856fa372e1753ba378446fc58ad6aaf31d589aaa","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/49ceca46def207082a6f7c5bf4718306d971843a...856fa372e1753ba378446fc58ad6aaf31d589aaa","commits":[{"id":"856fa372e1753ba378446fc58ad6aaf31d589aaa","message":"fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底\n\nCI 实跑暴露 P7 (apiModule 优先) 副作用:\n- viewDir 已能映射 Prisma 表的 view(绝大多数)被强行用 apiModule 反推\n- 一次性掀开 ~50 处真 view-API 列名错位真 bug,HIGH 从 0 飙升到 54\n- 破坏 governance-audit HIGH=0 治理基线\n\nscripts/audit-response-columns.ts:\n- model 查找改为 viewDir 优先:findPrismaModel(moduleName) || (apiModule \u0026\u0026 findPrismaModel(apiModule))\n- serviceInclude 同样反转优先级\n- 注释明确\"绝不可反转\"治理纪律\n- 兜底机制仍保留:viewDir 在 Prisma 没对应表时 apiModule 兜底(解决 approval-configs / abm-marketing 这类目录-表完全分离的真盲区)\n\nCLAUDE.md:\n- 更新\"前端 view 目录与 API 模块错位经验\"段,标注优先级纪律\n- 解释反向(apiModule 优先)会持续报 view 显示关联表/computed/include 字段时的假 ERROR\n- 明确剩余 view-API contract 不一致由 owner 后续 sprint 按业务优先级处理\n\n预期效果: HIGH 54 → ~3 (剩 alliance/product stale prisma-zod 数据 2 项 + 原 response-columns 1 项),待 alliance/product 重跑 audit:prisma-zod-contract 后归零。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/856fa372e1753ba378446fc58ad6aaf31d589aaa","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:18:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"856fa372e1753ba378446fc58ad6aaf31d589aaa","message":"fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底\n\nCI 实跑暴露 P7 (apiModule 优先) 副作用:\n- viewDir 已能映射 Prisma 表的 view(绝大多数)被强行用 apiModule 反推\n- 一次性掀开 ~50 处真 view-API 列名错位真 bug,HIGH 从 0 飙升到 54\n- 破坏 governance-audit HIGH=0 治理基线\n\nscripts/audit-response-columns.ts:\n- model 查找改为 viewDir 优先:findPrismaModel(moduleName) || (apiModule \u0026\u0026 findPrismaModel(apiModule))\n- serviceInclude 同样反转优先级\n- 注释明确\"绝不可反转\"治理纪律\n- 兜底机制仍保留:viewDir 在 Prisma 没对应表时 apiModule 兜底(解决 approval-configs / abm-marketing 这类目录-表完全分离的真盲区)\n\nCLAUDE.md:\n- 更新\"前端 view 目录与 API 模块错位经验\"段,标注优先级纪律\n- 解释反向(apiModule 优先)会持续报 view 显示关联表/computed/include 字段时的假 ERROR\n- 明确剩余 view-API contract 不一致由 owner 后续 sprint 按业务优先级处理\n\n预期效果: HIGH 54 → ~3 (剩 alliance/product stale prisma-zod 数据 2 项 + 原 response-columns 1 项),待 alliance/product 重跑 audit:prisma-zod-contract 后归零。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/856fa372e1753ba378446fc58ad6aaf31d589aaa","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:18:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/audit-response-columns.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":5218456,"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":14,"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-27T07:44: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
|
14
|
1777249128
|
1777249163
|
0
|
1777249126
|
1777249351
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
17891
|
fix(harness): 反转 audit-response-columns 优先级为 viewD fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底...
|
6
|
5
|
e2e-tests.yml
|
17812
|
5
|
0
|
refs/heads/main
|
856fa372e1753ba378446fc58ad6aaf31d589aaa
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"49ceca46def207082a6f7c5bf4718306d971843a","after":"856fa372e1753ba378446fc58ad6aaf31d589aaa","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/49ceca46def207082a6f7c5bf4718306d971843a...856fa372e1753ba378446fc58ad6aaf31d589aaa","commits":[{"id":"856fa372e1753ba378446fc58ad6aaf31d589aaa","message":"fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底\n\nCI 实跑暴露 P7 (apiModule 优先) 副作用:\n- viewDir 已能映射 Prisma 表的 view(绝大多数)被强行用 apiModule 反推\n- 一次性掀开 ~50 处真 view-API 列名错位真 bug,HIGH 从 0 飙升到 54\n- 破坏 governance-audit HIGH=0 治理基线\n\nscripts/audit-response-columns.ts:\n- model 查找改为 viewDir 优先:findPrismaModel(moduleName) || (apiModule \u0026\u0026 findPrismaModel(apiModule))\n- serviceInclude 同样反转优先级\n- 注释明确\"绝不可反转\"治理纪律\n- 兜底机制仍保留:viewDir 在 Prisma 没对应表时 apiModule 兜底(解决 approval-configs / abm-marketing 这类目录-表完全分离的真盲区)\n\nCLAUDE.md:\n- 更新\"前端 view 目录与 API 模块错位经验\"段,标注优先级纪律\n- 解释反向(apiModule 优先)会持续报 view 显示关联表/computed/include 字段时的假 ERROR\n- 明确剩余 view-API contract 不一致由 owner 后续 sprint 按业务优先级处理\n\n预期效果: HIGH 54 → ~3 (剩 alliance/product stale prisma-zod 数据 2 项 + 原 response-columns 1 项),待 alliance/product 重跑 audit:prisma-zod-contract 后归零。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/856fa372e1753ba378446fc58ad6aaf31d589aaa","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:18:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"856fa372e1753ba378446fc58ad6aaf31d589aaa","message":"fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底\n\nCI 实跑暴露 P7 (apiModule 优先) 副作用:\n- viewDir 已能映射 Prisma 表的 view(绝大多数)被强行用 apiModule 反推\n- 一次性掀开 ~50 处真 view-API 列名错位真 bug,HIGH 从 0 飙升到 54\n- 破坏 governance-audit HIGH=0 治理基线\n\nscripts/audit-response-columns.ts:\n- model 查找改为 viewDir 优先:findPrismaModel(moduleName) || (apiModule \u0026\u0026 findPrismaModel(apiModule))\n- serviceInclude 同样反转优先级\n- 注释明确\"绝不可反转\"治理纪律\n- 兜底机制仍保留:viewDir 在 Prisma 没对应表时 apiModule 兜底(解决 approval-configs / abm-marketing 这类目录-表完全分离的真盲区)\n\nCLAUDE.md:\n- 更新\"前端 view 目录与 API 模块错位经验\"段,标注优先级纪律\n- 解释反向(apiModule 优先)会持续报 view 显示关联表/computed/include 字段时的假 ERROR\n- 明确剩余 view-API contract 不一致由 owner 后续 sprint 按业务优先级处理\n\n预期效果: HIGH 54 → ~3 (剩 alliance/product stale prisma-zod 数据 2 项 + 原 response-columns 1 项),待 alliance/product 重跑 audit:prisma-zod-contract 后归零。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/856fa372e1753ba378446fc58ad6aaf31d589aaa","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:18:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/audit-response-columns.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":5218456,"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":14,"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-27T07:44: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
|
1777249165
|
1777249307
|
0
|
1777249127
|
1777249361
|
|
|
0
|
Edit
Delete
|
|
17892
|
fix(harness): 反转 audit-response-columns 优先级为 viewD fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底...
|
6
|
5
|
test-pipeline.yml
|
17813
|
5
|
0
|
refs/heads/main
|
856fa372e1753ba378446fc58ad6aaf31d589aaa
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"49ceca46def207082a6f7c5bf4718306d971843a","after":"856fa372e1753ba378446fc58ad6aaf31d589aaa","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/49ceca46def207082a6f7c5bf4718306d971843a...856fa372e1753ba378446fc58ad6aaf31d589aaa","commits":[{"id":"856fa372e1753ba378446fc58ad6aaf31d589aaa","message":"fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底\n\nCI 实跑暴露 P7 (apiModule 优先) 副作用:\n- viewDir 已能映射 Prisma 表的 view(绝大多数)被强行用 apiModule 反推\n- 一次性掀开 ~50 处真 view-API 列名错位真 bug,HIGH 从 0 飙升到 54\n- 破坏 governance-audit HIGH=0 治理基线\n\nscripts/audit-response-columns.ts:\n- model 查找改为 viewDir 优先:findPrismaModel(moduleName) || (apiModule \u0026\u0026 findPrismaModel(apiModule))\n- serviceInclude 同样反转优先级\n- 注释明确\"绝不可反转\"治理纪律\n- 兜底机制仍保留:viewDir 在 Prisma 没对应表时 apiModule 兜底(解决 approval-configs / abm-marketing 这类目录-表完全分离的真盲区)\n\nCLAUDE.md:\n- 更新\"前端 view 目录与 API 模块错位经验\"段,标注优先级纪律\n- 解释反向(apiModule 优先)会持续报 view 显示关联表/computed/include 字段时的假 ERROR\n- 明确剩余 view-API contract 不一致由 owner 后续 sprint 按业务优先级处理\n\n预期效果: HIGH 54 → ~3 (剩 alliance/product stale prisma-zod 数据 2 项 + 原 response-columns 1 项),待 alliance/product 重跑 audit:prisma-zod-contract 后归零。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/856fa372e1753ba378446fc58ad6aaf31d589aaa","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:18:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"856fa372e1753ba378446fc58ad6aaf31d589aaa","message":"fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底\n\nCI 实跑暴露 P7 (apiModule 优先) 副作用:\n- viewDir 已能映射 Prisma 表的 view(绝大多数)被强行用 apiModule 反推\n- 一次性掀开 ~50 处真 view-API 列名错位真 bug,HIGH 从 0 飙升到 54\n- 破坏 governance-audit HIGH=0 治理基线\n\nscripts/audit-response-columns.ts:\n- model 查找改为 viewDir 优先:findPrismaModel(moduleName) || (apiModule \u0026\u0026 findPrismaModel(apiModule))\n- serviceInclude 同样反转优先级\n- 注释明确\"绝不可反转\"治理纪律\n- 兜底机制仍保留:viewDir 在 Prisma 没对应表时 apiModule 兜底(解决 approval-configs / abm-marketing 这类目录-表完全分离的真盲区)\n\nCLAUDE.md:\n- 更新\"前端 view 目录与 API 模块错位经验\"段,标注优先级纪律\n- 解释反向(apiModule 优先)会持续报 view 显示关联表/computed/include 字段时的假 ERROR\n- 明确剩余 view-API contract 不一致由 owner 后续 sprint 按业务优先级处理\n\n预期效果: HIGH 54 → ~3 (剩 alliance/product stale prisma-zod 数据 2 项 + 原 response-columns 1 项),待 alliance/product 重跑 audit:prisma-zod-contract 后归零。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/856fa372e1753ba378446fc58ad6aaf31d589aaa","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:18:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/audit-response-columns.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":5218456,"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":14,"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-27T07:44: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
|
72
|
1777249311
|
1777249348
|
0
|
1777249128
|
1777249440
|
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
|
|
17893
|
fix(harness): 反转 audit-response-columns 优先级为 viewD fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底...
|
6
|
5
|
health-check.yml
|
17814
|
-2
|
316
|
refs/heads/main
|
856fa372e1753ba378446fc58ad6aaf31d589aaa
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"49ceca46def207082a6f7c5bf4718306d971843a","after":"856fa372e1753ba378446fc58ad6aaf31d589aaa","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/49ceca46def207082a6f7c5bf4718306d971843a...856fa372e1753ba378446fc58ad6aaf31d589aaa","commits":[{"id":"856fa372e1753ba378446fc58ad6aaf31d589aaa","message":"fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底\n\nCI 实跑暴露 P7 (apiModule 优先) 副作用:\n- viewDir 已能映射 Prisma 表的 view(绝大多数)被强行用 apiModule 反推\n- 一次性掀开 ~50 处真 view-API 列名错位真 bug,HIGH 从 0 飙升到 54\n- 破坏 governance-audit HIGH=0 治理基线\n\nscripts/audit-response-columns.ts:\n- model 查找改为 viewDir 优先:findPrismaModel(moduleName) || (apiModule \u0026\u0026 findPrismaModel(apiModule))\n- serviceInclude 同样反转优先级\n- 注释明确\"绝不可反转\"治理纪律\n- 兜底机制仍保留:viewDir 在 Prisma 没对应表时 apiModule 兜底(解决 approval-configs / abm-marketing 这类目录-表完全分离的真盲区)\n\nCLAUDE.md:\n- 更新\"前端 view 目录与 API 模块错位经验\"段,标注优先级纪律\n- 解释反向(apiModule 优先)会持续报 view 显示关联表/computed/include 字段时的假 ERROR\n- 明确剩余 view-API contract 不一致由 owner 后续 sprint 按业务优先级处理\n\n预期效果: HIGH 54 → ~3 (剩 alliance/product stale prisma-zod 数据 2 项 + 原 response-columns 1 项),待 alliance/product 重跑 audit:prisma-zod-contract 后归零。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/856fa372e1753ba378446fc58ad6aaf31d589aaa","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:18:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/audit-response-columns.ts"]}],"total_commits":0,"head_commit":{"id":"856fa372e1753ba378446fc58ad6aaf31d589aaa","message":"fix(harness): 反转 audit-response-columns 优先级为 viewDir 优先 + apiModule 兜底\n\nCI 实跑暴露 P7 (apiModule 优先) 副作用:\n- viewDir 已能映射 Prisma 表的 view(绝大多数)被强行用 apiModule 反推\n- 一次性掀开 ~50 处真 view-API 列名错位真 bug,HIGH 从 0 飙升到 54\n- 破坏 governance-audit HIGH=0 治理基线\n\nscripts/audit-response-columns.ts:\n- model 查找改为 viewDir 优先:findPrismaModel(moduleName) || (apiModule \u0026\u0026 findPrismaModel(apiModule))\n- serviceInclude 同样反转优先级\n- 注释明确\"绝不可反转\"治理纪律\n- 兜底机制仍保留:viewDir 在 Prisma 没对应表时 apiModule 兜底(解决 approval-configs / abm-marketing 这类目录-表完全分离的真盲区)\n\nCLAUDE.md:\n- 更新\"前端 view 目录与 API 模块错位经验\"段,标注优先级纪律\n- 解释反向(apiModule 优先)会持续报 view 显示关联表/computed/include 字段时的假 ERROR\n- 明确剩余 view-API contract 不一致由 owner 后续 sprint 按业务优先级处理\n\n预期效果: HIGH 54 → ~3 (剩 alliance/product stale prisma-zod 数据 2 项 + 原 response-columns 1 项),待 alliance/product 重跑 audit:prisma-zod-contract 后归零。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/856fa372e1753ba378446fc58ad6aaf31d589aaa","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T17:18:39-07:00","added":[],"removed":[],"modified":["CLAUDE.md","scripts/audit-response-columns.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":5218456,"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":14,"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-27T07:44: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"}}...
|
schedule
|
4
|
4
|
1777249351
|
1777249352
|
0
|
1777249250
|
1777249352
|
|
|
0
|
Edit
Delete
|
|
22432
|
Refresh outbox atomicity audit report
|
6
|
5
|
ci.yml
|
22350
|
5
|
0
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+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
|
16
|
1778598487
|
1778598537
|
0
|
1778598486
|
1778609522
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
22433
|
Refresh outbox atomicity audit report
|
6
|
5
|
e2e-tests.yml
|
22351
|
5
|
0
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+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
|
1778598538
|
1778598706
|
0
|
1778598487
|
1778609533
|
|
|
0
|
Edit
Delete
|
|
22434
|
Refresh outbox atomicity audit report
|
6
|
5
|
migration-safety.yml
|
22352
|
5
|
0
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+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
|
4
|
1778598714
|
1778609369
|
0
|
1778598488
|
1778609369
|
|
|
0
|
Edit
Delete
|
|
22435
|
Refresh outbox atomicity audit report
|
6
|
5
|
test-pipeline.yml
|
22353
|
5
|
0
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+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
|
72
|
1778609458
|
1778609519
|
0
|
1778598489
|
1778609632
|
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
|
|
22436
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22354
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609524
|
1778609524
|
0
|
1778598641
|
1778609524
|
|
|
0
|
Edit
Delete
|
|
22438
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22356
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609534
|
1778609535
|
0
|
1778598941
|
1778609535
|
|
|
0
|
Edit
Delete
|
|
22439
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22357
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609536
|
1778609537
|
0
|
1778599241
|
1778609537
|
|
|
0
|
Edit
Delete
|
|
22440
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22358
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609538
|
1778609539
|
0
|
1778599541
|
1778609539
|
|
|
0
|
Edit
Delete
|
|
22441
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22359
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609540
|
1778609541
|
0
|
1778599841
|
1778609541
|
|
|
0
|
Edit
Delete
|
|
22442
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22360
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609542
|
1778609543
|
0
|
1778600141
|
1778609543
|
|
|
0
|
Edit
Delete
|
|
22443
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22361
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609544
|
1778609545
|
0
|
1778600441
|
1778609545
|
|
|
0
|
Edit
Delete
|
|
22444
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22362
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609546
|
1778609547
|
0
|
1778600741
|
1778609547
|
|
|
0
|
Edit
Delete
|
|
22445
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22363
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609548
|
1778609549
|
0
|
1778601041
|
1778609549
|
|
|
0
|
Edit
Delete
|
|
22446
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22364
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609550
|
1778609551
|
0
|
1778601341
|
1778609551
|
|
|
0
|
Edit
Delete
|
|
22447
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22365
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609552
|
1778609553
|
0
|
1778601641
|
1778609553
|
|
|
0
|
Edit
Delete
|
|
22448
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22366
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609554
|
1778609555
|
0
|
1778601941
|
1778609555
|
|
|
0
|
Edit
Delete
|
|
22449
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22367
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609556
|
1778609557
|
0
|
1778609382
|
1778609557
|
|
|
0
|
Edit
Delete
|
|
22454
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22372
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778609742
|
1778609742
|
0
|
1778609741
|
1778609742
|
|
|
0
|
Edit
Delete
|
|
22455
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22373
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778610042
|
1778610042
|
0
|
1778610041
|
1778610042
|
|
|
0
|
Edit
Delete
|
|
22456
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22374
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778610342
|
1778610342
|
0
|
1778610341
|
1778610342
|
|
|
0
|
Edit
Delete
|
|
22457
|
Refresh outbox atomicity audit report
|
6
|
5
|
health-check.yml
|
22375
|
-2
|
349
|
refs/heads/main
|
cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","after":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","commits":[{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.json"]},{"id":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","message":"Update migration governance and deploy gate\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/6fda10921d20ba6f6dd1594727c9f38a6f10af2e","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T08:19:05-07:00","added":["docs/governance/migration-deploy-gate-evidence-2026-05-11.md"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/prisma/DATABASE_DEPLOYMENT.md","backend/prisma/migrations/20260510130100_grant_app_create_open_readonly_audit/migration.sql","backend/prisma/migrations/README.md","docs/database/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/migration-safety-audit.latest.json"]},{"id":"31f7c23c6c02ab971f239702e6379e1cce991ae7","message":"Update backbone evidence and review queue contracts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/31f7c23c6c02ab971f239702e6379e1cce991ae7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T07:30:02-07:00","added":["backend/src/modules/ai-assist/__tests__/context-provider-registry.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.controller.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.schema.test.ts","backend/src/modules/customers/customer-lifecycle.service.ts","backend/src/shared/utils/money-wire.ts","backend/tests/api/customer-lifecycle.test.ts","backend/tests/api/finance-periods.test.ts","backend/tests/api/revenue-commission-settlements.test.ts","docs/governance/ai-process-context-owner-matrix-2026-05-10.md","docs/governance/ai-process-evidence-bundle-2026-05-10.md","docs/governance/local-business-source-of-truth-2026-05-10.md","docs/governance/sap-grade-business-backbone-workset-2026-05-10.md","docs/governance/tob-customer-lifecycle-evidence-bundle-2026-05-10.md","docs/governance/tob-customer-lifecycle-owner-matrix-2026-05-10.md","docs/governance/toc-store-operating-evidence-bundle-2026-05-10.md","docs/governance/toc-store-operating-owner-matrix-2026-05-10.md","e2e/test-results/results.json","e2e/tests/auth/customer-lifecycle-readmodel-smoke.spec.ts","frontend/src/api/modules/store-performance.test.ts","frontend/src/api/modules/stores.test.ts","frontend/src/views/customers/components/DetailLifecyclePanel.vue","frontend/src/views/store-performance/__tests__/store-performance-g4.smoke.test.ts","reports/sap-grade-business-backbone-workset-2026-05-10.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","DOCKER.md","GEMINI.md","README.md","backend/Dockerfile","backend/package.json","backend/src/modules/ai-assist/ai-assist.docs.ts","backend/src/modules/ai-assist/ai-assist.schema.ts","backend/src/modules/ai-assist/ai-assist.service.ts","backend/src/modules/ai-assist/context-providers/collaboration.ts","backend/src/modules/ai-assist/context-providers/registry.ts","backend/src/modules/ai-assist/context-providers/types.ts","backend/src/modules/ai-assist/execution-ticket.ts","backend/src/modules/ai-review-queue/ai-review-queue.docs.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.test.ts","backend/src/modules/ai-review-queue/ai-review-queue.service.ts","backend/src/modules/commissions/commission.docs.ts","backend/src/modules/contracts/contract.service.test.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/customers/customer.controller.ts","backend/src/modules/customers/customer.docs.ts","backend/src/modules/customers/customer.routes.ts","backend/src/modules/finance/finance-periods.service.test.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance.controller.ts","backend/src/modules/finance/finance.docs.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/finance/finance.schema.ts","backend/src/modules/finance/finance.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.test.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/outbound/outbound.controller.ts","backend/src/modules/payments/payment-plan.service.ts","backend/src/modules/payments/payment-reconciliation.controller.ts","backend/src/modules/payments/payment-reconciliation.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment-stats.service.ts","backend/src/modules/payments/payment.docs.ts","backend/src/modules/payments/payment.routes.ts","backend/src/modules/payments/payment.schema.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/quotes/quote.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.test.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/revenue/ar-ledger.docs.ts","backend/src/modules/revenue/ar-ledger.service.test.ts","backend/src/modules/revenue/ar-ledger.service.ts","backend/src/modules/revenue/invoice.docs.ts","backend/src/modules/revenue/invoice.service.test.ts","backend/src/modules/revenue/invoice.service.ts","backend/src/modules/revenue/sales-commission-settlement.service.ts","backend/src/modules/revenue/sales-commission.controller.ts","backend/src/modules/revenue/sales-commission.routes.ts","backend/src/modules/revenue/sales-commission.schema.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/store-performance/store-performance.controller.ts","backend/src/modules/store-performance/store-performance.docs.ts","backend/src/modules/store-performance/store-performance.routes.ts","backend/src/modules/store-performance/store-performance.schema.ts","backend/src/modules/store-performance/store-performance.service.test.ts","backend/src/modules/store-performance/store-performance.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/shared/services/event-log.service.ts","backend/src/shared/state-machines/__tests__/finance-state-machines.test.ts","backend/src/shared/state-machines/machines/accounting-period.machine.ts","backend/src/shared/state-machines/utils/transitions/finance.transitions.ts","backend/src/shared/utils/biz-code.ts","backend/tests/api/ai-assist.test.ts","backend/tests/api/ai-review-queue.test.ts","backend/tests/api/ar-ledger.test.ts","backend/tests/api/bootstrap-test-services.ts","backend/tests/api/cleanup-runtime.ts","backend/tests/api/contracts.test.ts","backend/tests/api/invoices.test.ts","backend/tests/api/opportunities.test.ts","backend/tests/api/orders.test.ts","backend/tests/api/payments.test.ts","backend/tests/api/quotes.test.ts","backend/tests/api/store-performance.test.ts","deploy/kubernetes/namespace.yaml","docs/deployment/deployment-checklist.md","docs/deployment/deployment-guide.md","docs/governance/baseline-and-experience.md","docs/governance/finance-amount-precision-rfc-2026-05-10.md","docs/governance/finance-center-audit-2026-05-10.md","docs/governance/finance-rls-coverage-rfc-2026-05-10.md","docs/guides/CONTRACT_COMPLIANCE_GUIDE.md","docs/operations/production-launch-checklist.md","docs/optimization/websocket-scaling.md","docs/plans/action-plan-2026.md","docs/plans/weakness-remediation-plan.md","docs/prd/ktv-location-selection-prd.md","docs/reports/system/analysis/swot-analysis.md","docs/reports/system/misc/phase-0-completion-report.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/tests/auth/store-performance-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/ai-review-queue.ts","frontend/src/api/modules/ar-ledger.test.ts","frontend/src/api/modules/ar-ledger.ts","frontend/src/api/modules/cash-flow.ts","frontend/src/api/modules/customers.ts","frontend/src/api/modules/invoices.ts","frontend/src/api/modules/payments.ts","frontend/src/api/modules/reconciliation.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/router/__tests__/ai-agent-menu-governance.test.ts","frontend/src/types/models.ts","frontend/src/views/ai-agents/__tests__/ai-review-queue.smoke.test.ts","frontend/src/views/ai-agents/review-queue/Index.vue","frontend/src/views/ar-ledger/Detail.vue","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/ar-ledger/Index.vue","frontend/src/views/ar-ledger/__tests__/ar-ledger-g4.smoke.test.ts","frontend/src/views/ar-ledger/components/CollectionManager.vue","frontend/src/views/ar-ledger/components/StatementGenerator.vue","frontend/src/views/cash-flow/Index.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/customers/Detail.vue","frontend/src/views/customers/__tests__/customers-g4.smoke.test.ts","frontend/src/views/customers/components/useCustomerDetail.ts","frontend/src/views/finance/Index.vue","frontend/src/views/invoice-requests/Detail.vue","frontend/src/views/invoice-requests/Form.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/invoices/Detail.vue","frontend/src/views/invoices/Form.vue","frontend/src/views/invoices/Index.vue","frontend/src/views/invoices/__tests__/invoices-g4.smoke.test.ts","frontend/src/views/orders/composables/useOrderTimeline.ts","frontend/src/views/payments/Index.vue","frontend/src/views/payments/PlanForm.vue","frontend/src/views/payments/Reconcile.vue","frontend/src/views/payments/RecordForm.vue","frontend/src/views/payments/__tests__/payments-g4.smoke.test.ts","frontend/src/views/payments/__tests__/payments-index.smoke.test.ts","frontend/src/views/reconciliation/Index.vue","frontend/src/views/reconciliation/__tests__/reconciliation-g4.smoke.test.ts","frontend/src/views/reconciliation/components/ImportStatementDialog.vue","frontend/src/views/revenue/Detail.vue","frontend/src/views/revenue/Index.vue","frontend/src/views/store-performance/Index.vue","frontend/src/views/stores/__tests__/stores-g4.smoke.test.ts","reports/ai-assist-context-provider-redact.latest.json","reports/ai-assist-context-providers.latest.json","reports/ai-assist-coverage.latest.json","reports/ai-assist-skill-binding.latest.json","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/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/outbox-atomicity-audit.latest.json","reports/response-columns-audit.latest.json","reports/rls-coverage-audit.latest.json","scripts/start-all.sh","shared/src/types/models.ts"]},{"id":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","message":"Enable pg_stat_statements and harden port checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fb31eb4edf1efdac80568bb37a05d8003d6ad876","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:18:40-07:00","added":[],"removed":[],"modified":["deploy/postgres/postgresql.conf","scripts/start-all.sh"]},{"id":"da6251405efb0c4825f1305efcb1f17d8d931349","message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/da6251405efb0c4825f1305efcb1f17d8d931349","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-10T06:01:11-07:00","added":[],"removed":[".claude/worktrees/amazing-bhaskara-130540",".claude/worktrees/epic-jang",".claude/worktrees/hungry-montalcini-932ea7",".claude/worktrees/magical-blackburn"],"modified":[]}],"total_commits":0,"head_commit":{"id":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","message":"Refresh outbox atomicity audit report\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-11T09:43:33-07:00","added":[],"removed":[],"modified":["reports/outbox-atomicity-audit.latest.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":5249824,"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":19,"open_issues_count":0,"open_pr_counter":3,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-01T09:06:01+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1778610642
|
1778610642
|
0
|
1778610641
|
1778610642
|
|
|
0
|
Edit
Delete
|